Hallo, ich verwenden z.Z. den STM32F103 und CooCox CoIDE zum programmieren. Ich möchte gerne eine zusätzliche *.hex mit Programmieren. Diese *.hex wird diverse Information enthalten mit dem der Controller arbeiten soll. Also müsste die Speicher Adresse gleich bleiben. Bei AVR habe ich damals die *.hex Datei ins EEPROM übertragen und damit gearbeitet. Ich habe schon im Internet gesucht, aber leider nichts dazu gefunden, oder unter den falschen begriffen gesucht. Wie könnte man das Problem beim STM32F103 lösen? Vielen Danke für eure Hilfe Viele grüße Tobias
Tobias S. schrieb: > Diese *.hex wird diverse Information enthalten mit dem der Controller > arbeiten soll. "Arbeiten" bedeutet in diesem Fall also nur "Lesen"? > oder unter den falschen begriffen gesucht. Das am ehesten. Ich würde das Ross aber gern von vorn aufzäumen und frage deshalb erst mal: woher kommt diese Hex-Datei? Wie wird sie erzeugt? Sind das irgendwelche Inbetriebnahme- oder Kalibrierdaten?
Hallo Lothar Miller, Danke für deine Antwort. Ja, mit Arbeiten meinte ich in diesen Fall "nur" Lesen. In der *.hex Datei werden Inbetriebnahme Daten gespeichert. Die *.hex Datei wird von dem Programm "Phoenix EDID Designer" erzeugt. Viele Grüße Tobias
Von STM gibt es einen STM-Loader. Wenn ich nicht irre, kann man damit auch zusätzliche Dateien an entsprechende Positionen ins Flash schreiben, ohne das 'Hauptprogramm' dabei zu überschreiben.
Müsste man die Hex Dateien vorher evtl mergen? Oder kann ich einfach in eine evtl bereits beschriebene Page schreiben?
Ich mache das so: Zwei *.hex-Dateien (Motorola oder Intel Format) werden mit dem Copy-Befehl zusammenfügen, dann mit hex2bin zu einer *.bin Datei gewandelt, welche dann ins Flash geschrieben wird. Dabei muss darauf geachtet werden, dass sich die Adressen nicht überlappen.
Hallo, danke für die Antworten. Am liebsten wäre die Variante von m.n., aber leider finde ich den "STM-Loader" nicht. Ich habe nur den ST Visual Programmer gefunden. Vielleicht sind das auch die gleichen... Viele grüße Tobias
Du musst mal bei ST nach ST-Link suchen. Das ist ein Programmer von denen und da findet sich auch auf jeden Fall ein Link auf den Loader.
Hallo, der "Flash loader demonstrator" geht leider nur über UART und ich habe nur die SDW-Schnittstelle zur Verfügung. Ich habe noch den STM32 ST-Link Utility gefunden. Leider sagt der, aber das meine *.hex file "empty oder corrupted" ist :(. Viele grüße Tobias
Tobias S. schrieb: > Leider sagt der, aber > das meine *.hex file "empty oder corrupted" ist :(. Besteht das Hex aus zwei hintereinander kopierten Hex Dateien? Du musst dann in der ersten Datei vorher die letzte Zeile entfernen - in der steht eine Markierung für "Ende". Bei mehr als 64KB Flash ist auch die Reihenfolge beim Kopieren nicht mehr egal.
schreib dir ein Skript das die hex Datei liest und einen Quellcode draus macht. Dann dazulinken und gut isses. Habe ich mal so mit einem Rampengenerator für Schrittmotoren und mit einem Zeichensatzgenerator für LCDs gemacht...
Du kannst dir mal dieses tool anschauen: http://firmwarebatchtools.ugfx.org/ ist momentan noch in der alpha und sucht Tester :D Damit ist es aber problemlos möglich, zwei hexfiles zu mergen und ein ext. programm aufzurufen, dass die resultierende hex dann auf den Controller schiebt.
Danke für eure Antworten. Ich werden mal versuchen die beiden *.hex files zu mergen. Viele grüße Tobias
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.