HEX FIles auf uC laden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
d3f3nd3r
Beiträge: 177
Registriert: 06.03.2007 15:39:16
Kontaktdaten:

HEX FIles auf uC laden

Beitrag von d3f3nd3r » 11.06.2008 11:40:24

hallo,

ich benutze jetzt eclipse auf linux mit sdcc für die uC Entwicklung.

Nur leider weiß ich nicht, wie ich das HEX File auf den uC per serieller Schnittstelle übertrage.
Kann mir da einer weitehelfen?

mfg

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: HEX FIles auf uC laden

Beitrag von cosmac » 11.06.2008 12:06:38

hi,

im Prinzip

Code: Alles auswählen

cat file.hex > /dev/ttyS0
aber dann müsste ja auf dem uC schon ein Porgramm laufen, das
Hex-Files empfangen und verstehen kann und ggf. das interne
Flash-ROM programmieren kann. Da gibt's ja Zillionen Möglichkeiten.

Was ist denn das für ein uC, was läuft da drauf schon und wo sollen
die Bits aus dem Hex-File letztlich landen?

Allgemein nützliche Tools für serielle Schnittstellen sind z.B.
picocom (viel besser als minicom), stty, statserial und
notfalls setserial.
Beware of programmers who carry screwdrivers.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: HEX FIles auf uC laden

Beitrag von rendegast » 11.06.2008 13:06:55

cosmac hat geschrieben:im Prinzip

Code: Alles auswählen

cat file.hex > /dev/ttyS0
Dazu beschreibt Janka einen Weg zur Geschwindigkeitskontrolle:
http://www.pro-linux.de/forum/viewtopic.php?t=1033220
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

d3f3nd3r
Beiträge: 177
Registriert: 06.03.2007 15:39:16
Kontaktdaten:

Re: HEX FIles auf uC laden

Beitrag von d3f3nd3r » 11.06.2008 14:20:45

also der uC ist ein Atmel AT89C51 (8051)
bis jetzt (windows) habe ich dazu immer flip benutzt.
baudrate 9600

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: HEX FIles auf uC laden

Beitrag von cosmac » 11.06.2008 17:03:53

hmm, flip gibt's doch auch für Linux:
http://www.atmel.com/dyn/products/tools ... ol_id=3886

Es gibt aber auch ein paar Debian-Pakete für Atmel.
Beware of programmers who carry screwdrivers.

d3f3nd3r
Beiträge: 177
Registriert: 06.03.2007 15:39:16
Kontaktdaten:

Re: HEX FIles auf uC laden

Beitrag von d3f3nd3r » 11.06.2008 18:48:15

leider funktioniert flip bei mir nicht (64 bit system und es werden 32 bit libs mitgeliefert....), da hilft auch kein java....

und zu den tools, avrdude funktioniert nur mit avrs (oder irre ich mich?) und avrp ( sollte auch mit AT89C51RD2 funktioniern) kann anscheinend mit meinem usb to rs232 converter (Prolific PL2303) nicht umgehen.

gibt es keine einfache Lösung für 8051 er?

mfg

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: HEX FIles auf uC laden

Beitrag von cosmac » 11.06.2008 19:01:59

Gegen die 64-Bit könnte evt. eine chroot-Umgebung helfen.
Im Zusammenhang mit Iceweasel und Flash sollte es hier
im Forum einige Beiträge dazu geben.

Der PL2303 funktioniert hier eigentlich wunderbar, gerade
mit 9600 Baud. Werden da vielleicht die Steuerleitungen für
Spezialzwecke mißbraucht? In der Hinsicht können solche
Konverter nicht 100% kompatibel sein (das USB-Protokoll
ist im Weg). Dann fällt mir nur noch eine PCI-Karte mit zwei
echten COM-Ports ein.
Beware of programmers who carry screwdrivers.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: HEX FIles auf uC laden

Beitrag von cirrussc » 11.06.2008 20:56:22

Hi hi,
d3f3nd3r hat geschrieben:[...] und avrp ( sollte auch mit AT89C51RD2 funktioniern) kann anscheinend mit meinem usb to rs232 converter (Prolific PL2303) nicht umgehen.
Ich würde auf jeden Fall auch erst mal eine "echte" rs232 nutzen. Genau für solche Fälle hat man Rechner, mit rs232.
d3f3nd3r hat geschrieben:gibt es keine einfache Lösung für 8051 er?
Kann man nicht sagen, denn jeder Hersteller entwickelt da seine eigenen Programmier Systeme. Philips anders als Atmel, ST usw.

Eine andere Möglichkeit wäre natürlich, wie schon angesprochen, eine Art Loader zu schreiben, der in der MCU, hex-files von der seriellen entgegen nimmt und in den RAM oder Flash lädt.
Das ist überhaupt eine sehr gute Methode, das Programm, sollte es noch in der Entwicklung sein, vom RAM oder externen RAM der Controllers aus zu führen. Das spart Flash Zyklen und gestaltet die Vorgänge etwas flotter.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

d3f3nd3r
Beiträge: 177
Registriert: 06.03.2007 15:39:16
Kontaktdaten:

Re: HEX FIles auf uC laden

Beitrag von d3f3nd3r » 19.06.2008 07:49:45

ja leider hab ich bei meinem Notebook keinen rs232 Anschluss.....

und gibt es keinen solchen Loader?
ich hab leider keine Ahnung wie ich das machen sollte(hab gerade mit uC Programmierung angefangen.....)?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: HEX FIles auf uC laden

Beitrag von cosmac » 20.06.2008 18:14:02

d3f3nd3r hat geschrieben:ja leider hab ich bei meinem Notebook keinen rs232 Anschluss.....
es gibt auch PCMCIA-Karten mit RS232-Port, aber bei den Preisen
sollten wir es nochmal mit dem USB-Seriell-Konverter versuchen.
Hat das Programm denn schon mal mit einer echten Schnittstelle
funktioniert oder liegt's evt. an was ganz anderem?
d3f3nd3r hat geschrieben:und gibt es keinen solchen Loader?
ich hab leider keine Ahnung wie ich das machen sollte(hab gerade mit uC Programmierung angefangen.....)?
So ein Loader ist nicht sooo schwierig zu programmieren (so als
2. oder 3. Übungsaufgabe), aber es ist ein Henne-und-Ei-Problem:
wie kommt der Loader ohne Loader in den 8051...
Beware of programmers who carry screwdrivers.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: HEX FIles auf uC laden

Beitrag von cirrussc » 20.06.2008 18:36:20

Moin,
cosmac hat geschrieben:So ein Loader ist nicht sooo schwierig zu programmieren (so als
2. oder 3. Übungsaufgabe), aber es ist ein Henne-und-Ei-Problem:
wie kommt der Loader ohne Loader in den 8051...
In der Tat die nächste Frage...
Der AT89C51RD2 ist ein Model mit 64KB Flash sowie extern ausgeführten Adress, Daten und Steuerleitungen, wie es für die Familie eigentlich typisch ist.
Somit wäre es möglich einen externen Speicher (EEPROM, EPROM, FLASH usw) als Programmspeicher zu nutzen.
Aber wie kommt die Software in den Speicher? Auch Problematisch ohne Equipment.

Da der Controller In-System Programming unterstützt, könnte man die Investition in einen solchen Adapter wagen [1].
Der braucht allerdings wieder eine Parallele, ein Teufelskreis :)
Normalerweise hat man doch noch einen zweiten Rechner, mit all diesen Grundlegenden Schnittstellen parat.
Denn ohne zu mindest die Parallele, kommt man bei solchen Vorhaben, selten weit.

[1] http://www.reichelt.de/?;ACTION=3;LA=2; ... 207c7a3827
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Antworten