Tag miteinander, Stehe bei neuem Projekt vor neuen Problemen (wie überraschend =)). Ziehl Habe vor in einen EEPROM bestimmte Daten reinzuschreiben. EEPROM 24FC64 o.ä. Darin sollen für einen USB-HUBC die Parameterdaten enthalten sein. Vorkenntnisse Wie ein HEX- bzw. BIN- oder EPR-File auf das EEPROM kommen habe ich inzwischen rausgefunden. Habe einen Programiergerät + Software (GALEP5) diese unterstützen meine EEPROM's und obengenannte Datentypen. Zu Verfügung stehende Software Zum überspielen von HEX-Files GALEP5. IDE µVision4 und Silicon Laboratories IDE Compiler SDCC und KEIL Problembeschreibung Wie muss ich meinen C-Code für die Compiler gestallten damit ein brauchbarer HEX- oder BIN-File am ende der Kompilierung produziert wird? Habe in einen anderen Beitrag (Beitrag "Intel Hex File für EEprom erstellen") schon einen Hinweis auf die Lösung bekommen. Wie das Ganze allerduings mit meiner Umgebung zu realesieren ist, ist fraglich. Wenn Ihr ein Paar nutzlichen Tips bzw. Techniken für mich habt werde ich mich gewaltig freuen. Versprochen =)
Gast
#2137522
Nabend, Dimitri W. schrieb: > Problembeschreibung > Wie muss ich meinen C-Code für die Compiler gestallten damit ein > brauchbarer HEX- oder BIN-File am ende der Kompilierung produziert wird? Ist nicht ernst gemeint, oder doch? MfG
Gast
#2137539
Da Du ja Daten und keinen ausführbaren Programmcode in das EEProm schreiben willst, brauchst Du keinen Compiler, sondern einen einfachen HEX-Editor, mit dem Du das entsprechende HEX- oder BIN-File zu Fuß -sprich: von Hand- erstellst. Kann der Editor nur BIN-Files, besorgst Du Dir noch das Tool BIN2HEX zur Umwandlung in ein HEX-File. Mit diesem File fütterst Du dann Dein Programmiergerät - fertig!
Sauger schrieb: > Ist nicht ernst gemeint, oder doch? Abend, Schon ernst, denn mit diesem Bsp.-Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
kann ich den EEPROM nicht programieren, rein technisch schon, natürlich, aber nicht für diesen Zweck. Hier Beitrag "EZ-USB" ist ein änliches Problem behandelt, leider ohne Lösung. Wenn ich das Problemm genauer beschreiben soll, dann hiese es: Welche Änderungen bzw. Techniken sind an bestehendem Entw.-Umgebung notwendig damit in C die Device Descriptoren "schön" parametriert bzw. eingegeben werden können. P.S. Ihre Bemerkung zählt nicht zu den "Tips bzw. Techniken" Oder_doch schrieb: > Das entsprechende HEX- oder BIN-File zu Fuß > -sprich: von Hand- erstellst. Danke für den Tip! Aber genau das möchte ich vermeiden =)
Gast
#2137566
Hallo, "Wenn ich das Problemm genauer beschreiben soll, dann hiese es: Welche Änderungen bzw. Techniken sind an bestehendem Entw.-Umgebung notwendig damit in C die Device Descriptoren "schön" parametriert bzw. eingegeben werden können." Und genau dafür ist ein Compiler eigentlich nicht gedacht. Man kann das zwar alles umbiegen, aber bis man z.B. die KEIL-IDE so umgebastelt hat, hat man das mit einem Hex-Editor (es gibt auch welche, die Ascii in Hex wandeln...) 10x schneller fertig.
Gast
#2137576
return (sb->proz - sa->proz); Das was Du da hst, ist ein EEprom, kein uC. Das kann nicht rechnen. Genau genommen kann es gar nichts. Du kannst an den Adresspins eine Adresse anlegen und bekommst dann an den Ausgängen ein 8 Bit Antwort, also genau das Bitmuster, dass an der Adresse hinterlegt ist. Du kannst also grob gesagt 64000 Bitmuster hinterlegen. Wenn Du einen uC z.B. vom Typ 8031 an die Ein- und Ausgänge schaltest, dann kannst Du z.B. mittels eines Compilers ein Hex file erzeugen, welches dann Deinem uC das programm zur Verfügung stellt, dass ihm ermöglicht return (sb->proz - sa->proz); zu berechnen.
Gast
#2137585
Nabend, Dimitri W. schrieb: > kann ich den EEPROM nicht programieren, rein technisch schon, natürlich, > aber nicht für diesen Zweck. Und wie soll der Compiler deines Vertrauens, wissen welche Struktur oder besser Byte Order er in einem externen Seriellen EEprom abzulegen hat? MfG
Abend, Eigentlich habe ich an die Funktionen "EEPROM-Variable auf feste Adressen legen" aus dem Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM gedacht. Den eine Descriptor-Tabelle muss ich sowieso erstellen, warum dann nicht gleich in C wenn diese dann noch kompilierbar ist. Bsp.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Das schön den Compiler abarbeiten lassen und brennen. Aber so wie es aussieht werde ich nicht drumherum kommen mir den GCC zu ziehen und diesen in die KEIL MDK oder Silicon Laboratories IDE einbinden und mit dieser Methode die HEX-Descriptor-Tabellen erstellen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.