Forum: Mikrocontroller und Digitale Elektronik ASM in HEX für Anfänger


von Tom W. (rittertom)


Lesenswert?

Hallo
Das Thema wurde bestimmt schon öfter behandelt :-((
Eigentlich bin ich ein Harwaremensch, der U.a Uhren mit VFD Röhren baut. 
http://www.tomyswelt.de.hm/
Dazu muß man einen z.B. einen AT89C2051 programmieren - kein Problem ich 
habe ja die HEX Datei.
Jetzt möchte ich was anderes bauen, habe eine Quelldatei gefunden und 
möcht dadaus die hex Datei machen. Habe mir Atmel Studio 6 installiert 
und wollte irgentwie die Dateien umwandeln - bin aber zu blöde.
Hier mal der Link: 
https://github.com/adafruit/Ice-Tube-Clock/tree/972ea9da169ac6f3c171d69ce8cbda70c9c2383f/firmware

Dort sind auch mehre Dateien, aber  welche???

Habe mir auch einge Videos angesehen - ich bekomme es nicht hin. ( mein 
Rechner hat auch mächtig zu tun mit dem Programm)
Oder gibt es was einfacheres ??

Danke

von Georg G. (df2au)


Lesenswert?

Das allereinfachste wäre, die ASM Datei hier zu posten und ein netter 
Forent übersetzt sie dir in HEX.

von hinz (Gast)


Lesenswert?

tom west schrieb:
> Hier mal der Link:
> 
https://github.com/adafruit/Ice-Tube-Clock/tree/972ea9da169ac6f3c171d69ce8cbda70c9c2383f/firmware

Da sind aber nur die C-Quellen, und die Hexfiles.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

tom west schrieb:
> AT89C2051
Sowiet ich weiss, kann Atmel Studio 6 die ganze MCS51 Familie nicht 
kompilieren, und zu dieser gehört der kleine Kerl. Du brauchst also, 
wenn dir die im Tree gezeigte iv.hex nicht gefällt, einen C-Kompiler für 
den AT89CXXX, das ist ein wenig exotischer als für die AVR.
Programmer für diesen MC hast du ja hoffentlich, der ist auch was 
besonderes.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

tom west schrieb:
>  AT89C2051
> Habe mir Atmel Studio 6 installiert

Flasche Software. Atmel Studio 6 kennt IMO nur ARM und AVR, die AT89xxx 
sind aber 8051 und keine AVR.

von Georg G. (df2au)


Lesenswert?

Die C-Quellen deines Links sind aber für einen AVR und nicht für einen 
x51. Ohne größere Umbauarbeiten geht da nichts.

von Tom W. (rittertom)


Lesenswert?

Entschuldigung,
habe vergessen zu sagen, daß ich einen ATMEGA168 dafür benutzte.
Aber welche Datei füge ich wie zusammen.

von Georg G. (df2au)


Lesenswert?

Wo liegt dein Problem? Auf der von dir zitierten Github Seite sind doch 
die fertigen HEX Files vorhanden. Einfach in den 168 programmieren.

P.S. Es wäre hilfreich gewesen, wenn du nicht den Thread mit einem 
89C2051 eröffnet hättest, sondern gleich den ATMega168 genannt hättest.

von Falk B. (falk)


Lesenswert?

@ tom west (rittertom)

>Jetzt möchte ich was anderes bauen, habe eine Quelldatei gefunden und
>möcht dadaus die hex Datei machen. Habe mir Atmel Studio 6 installiert
>und wollte irgentwie die Dateien umwandeln - bin aber zu blöde.
>Hier mal der Link:
>https://github.com/adafruit/Ice-Tube-Clock/tree/97...

Dort liegen doch schon die .hex Files!

iv.hex , damit wird der Flash programmiert (Dat eigentliche Programm)
iveep.hex, dort stehen ein paar Daten im EEROM

>Habe mir auch einge Videos angesehen - ich bekomme es nicht hin. ( mein
>Rechner hat auch mächtig zu tun mit dem Programm)

Du braucht einen Programieradapter ala AVR ISP MK II

https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Programmer-Varianten

Damit kann man dann die beiden .hex Files in den AVR programmieren.

>Oder gibt es was einfacheres ??

Es gibt andere, kleinere Brennprogramme, den Adapter braucht man aber 
dennoch.

von Tom W. (rittertom)


Lesenswert?

Ok habe ich probiert.
Ich habe einen ganz einfachen SP200SE Brenner.
Die iveep.hex Dateinen kann ich laden
Bei der iv.hex kommt der Fehler "Some data out of range has been 
ignored"
Egal ob ich sie als hex oder binary Dateine lade.
Aber warum habe ich 2 hex Dateien ??
Ich kann doch immer nur eine laden und brennen.

von Karl H. (kbuchegg)


Lesenswert?

tom west schrieb:
> Ok habe ich probiert.
> Ich habe einen ganz einfachen SP200SE Brenner.
> Die iveep.hex Dateinen kann ich laden
> Bei der iv.hex kommt der Fehler "Some data out of range has been
> ignored"
> Egal ob ich sie als hex oder binary Dateine lade.
> Aber warum habe ich 2 hex Dateien ??
> Ich kann doch immer nur eine laden und brennen.

die eine heisst iv.hex. Die andere heisst iveep.hex

Ich lehn mich wahrscheinlich nicht zu weit aus dem Fenster, wenn ich 
behaupte, die iv.hex ist das Programm und die iveep.hex enthält Daten, 
die ins EEPROM gebrannt werden müssen.

von spess53 (Gast)


Lesenswert?

Hi

>Aber warum habe ich 2 hex Dateien ??
>Ich kann doch immer nur eine laden und brennen.

Eine Datei wird in de Flashspeicher (iv.hex) und die andere (iveep.hex) 
in den EEPROM des ATMega168 geladen.

MfG Spess

von Georg G. (df2au)


Lesenswert?

Der ATMega168 hat 16K Flash, also 0x0000 bis 0x3fff. Das HEX File endet 
bei gut 0x2500. Also ist reichlich Luft nach oben.

Lies doch noch mal das Handbuch deines Prommers.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.