STM32 - Zusätzliche *.hex Datei mit Programmieren

OP #3713248
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
Moderator (Firma: Titel) Persönliche Seite
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?
OP
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
Gast
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.
Gast
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.
OP
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
OP
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.
Gast
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.