Go Down

Topic: Intel Hex Format (Read 945 times) previous topic - next topic

Addi

Hallo,
ich wollte fragen, ob es genaue Spezifikationen für das
Intel HEX-Format gibt, um "per Hand" zu programmieren.
Das ganze soll dann für den AtMega328 funktionieren.
Gibt es soetwas?

Addi
/ \    _|  _| o
 /--\ (_| (_| |

voithian


ich wollte fragen, ob es genaue Spezifikationen für das
Intel HEX-Format gibt, um "per Hand" zu programmieren.
Das ganze soll dann für den AtMega328 funktionieren.


Ja, z.B hier: http://de.wikipedia.org/wiki/Intel_HEX

Ich bin neugierig! Was verstehst du unter "per Hand" programmieren und wofür soll das gut sein?

michael_x

Quote
genaue Spezifikationen für das Intel HEX-Format

Ja klar, aber mehr als ganz eventuell Datenbereiche zu ändern würde ich nicht empfehlen.
Im Kopf Assembler-Befehle codieren + Prüfsummen rechnen, was soll das bringen ?

uwefed


Addi

#4
Mar 23, 2013, 08:45 pm Last Edit: Mar 23, 2013, 08:47 pm by Addi Reason: 1

Ich bin neugierig! Was verstehst du unter "per Hand" programmieren und wofür soll das gut sein?

Ich würde gerne ein Programm schreiben, welches mir Code für den Arduino
erzeugt, ohne die IDE bzw. fertige Programme zu nutzen. Soll eine kleine
Übung zum PC-Programmieren für mich sein und ich würde gerne Versuchen,
eine eigene Programmiersprache zu entwerfen, welche evtl. auch über das
Internet compilieren kann, ohne Software installiert zu haben.
Edit: Die IDE erzeugt eine *.hex Datei, die mit avrdude auf dem Arduino geladen
werden kann. Intel hatte früher die Spezifikationen für die Datei festgelegt, daher Intel Hex.

Addi
/ \    _|  _| o
 /--\ (_| (_| |

voithian

#5
Mar 23, 2013, 09:00 pm Last Edit: Mar 23, 2013, 09:06 pm by voithian Reason: 1

Ich würde gerne ein Programm schreiben, welches mir Code für den Arduino
erzeugt, ohne die IDE bzw. fertige Programme zu nutzen. Soll eine kleine
Übung zum PC-Programmieren für mich sein und ich würde gerne Versuchen,
eine eigene Programmiersprache zu entwerfen, welche evtl. auch über das
Internet compilieren kann, ohne Software installiert zu haben.

OK, dafür kann es Sinn machen. Kleine Frage: Im wievielten Semester des Informatikstudiums hat man die Vorlesungen über Compilerbau? ;) ;) ;)

Wenn du noch keine weiteren Informationen hast, hier vielleicht etwas für den Einstieg: http://vhb.fh-regensburg.de/co/

Jomelo

#6
Mar 23, 2013, 10:29 pm Last Edit: Mar 23, 2013, 10:39 pm by Jomelo Reason: 1
Quote

Kleine Frage: Im wievielten Semester des Informatikstudiums hat man die Vorlesungen über Compilerbau?


Hochschule Osnabrück:
- Studiengang: Master -> INFORMATIK - VERTEILTE UND MOBILE ANWENDUNGEN
- Wahlfach ab dem zweiten Semester: (link ist nicht Forum geeignet, da der Syntax falsch erkannt wird, die folgende URL kann man nur kopieren)
Code: [Select]

http://www.ecs.hs-osnabrueck.de/18830.html?&tx_fhosmoppsshow_pi1[uid]=67183


Vorraussetzungen:
- Abgeschlossenes Studium in Informatik, Technische Informatik, Mechatronik, Elektrotechnik


Um sich selbst einen Compiler zu bauen muss man sehr viel wissen haben, es ist nicht unbedingt einfach. Aber wenn einen das Interessiert ;-)  nur zu.

PS:
Der heutige Ansatz (der Weiterentwicklung von Programmiersprachen) führt immer mehr dazu, dass grafische Oberflächen verwendet werden, in denen nur noch Bausteine existieren.
Aus diesen Grafischen Konstrukten wird der Quellcode einschließlich UML Darstellung der Klassen generiert.

Addi


Um sich selbst einen Compiler zu bauen muss man sehr viel wissen haben, es ist nicht unbedingt einfach. Aber wenn einen das Interessiert ;-)  nur zu.

Bei Arduinos liegt der Vorteil darin, dass nur eine Textdatei für avrdude erzeugt werden muss,
und kein Nativer Code wie bei einem "echten" Compiler, z.B. gcc.

Addi
/ \    _|  _| o
 /--\ (_| (_| |

voithian


Bei Arduinos liegt der Vorteil darin, dass nur eine Textdatei für avrdude erzeugt werden muss,
und kein Nativer Code wie bei einem "echten" Compiler, z.B. gcc.

Die Datei im Intel-Hex Format, die über avrdude in den Controller geflasht wird, ist zwar eine ASCII-Datei aber nichtsdestotrotz enthält sie die einzelnen AVR-Maschinenbefehle für dein Programm (nur eben nicht als Binärdaten, sondern als ASCII-Zeichen mit ein wenig "Drumherum" wie Checksumme, Speicheradresse im Flash, usw.).

Und diese Maschinenbefehle müssen erst einmal sinnvoll aus der "eigenen" Programmiersprache erzeugt werden. Da kommt man nicht drumherum. Dagegen ist der Intel-Hex-Kram nur "Peanuts".

Go Up