Hallo, ich habe gerade ein Problem: Bootloader und Applikation laufen wunderbar wenn sie getrennt geflasht werden: Wenn ich im Bootloader Projekt und anschließend Applikations Projekt ein "Download to Flash" durchführe und dann einen Power Cycle mache funktioniert alles besstens. wenn ich jedoch mit srec_cat die beiden hex-files kombiniere, dieses dann auf den STM32 lade, startet die Applikation nach dem Sprung aus dem Bootloader nicht korrekt. Ich nehme an, sie bleibt in irgendeinem Hardfault hängen. Mit Sicherheit kann ich das mangels Debuggingmöglichkeiten nicht sagen. gibt es eine Möglichkeit den Flash des STM32 auszuelesen, so dass er dann als binary Datei o.Ä. vorliegt? Wo kann der Fehler liegen? Ich bin Ratlos. Vielen Dank und Gruß Peter
Kannst du das "getrennt flashen" etwas näher erläutern? Wenn du deine Applikation richtig eingerichtet hast und sie auf einen Controller ohne Bootloader flasht dann kann die Applikation nicht starten. Wenn sie dies bei dir doch tut, dann hast du was grundsätzliches beim Einrichten der Sections für Bootloader und Applikation falsch gemacht. Warum musst du die Sachen mit srec_cat zusammenfügen? Du kannst das bin-file vom Bootloader auch dem Linker der Applikation mit geben und der bindet es für dich korrekt ein.
danke für die Antwort. getrennt flashen: in den einzelnen Projekten jeweils auf "Download" klicken. Klar, die Applikation startet nur dann, wenn der Bootloader an Ort und Stelle ist. wie ist das vorgehen um dem applications linker den bootloader mit zugeben? muss ich im scatter file eine neue section für den bootloader anlegen? Gruß
Was ist ein scatter file? Ich kenne nur das nur bei IAR, dort kann man in der Linker Konfiguration eigene Lables vergeben und dann z.B. das Bootloader Image daran binden. Im Linker gibt man an wo dieses Label platziert werden soll. Am besten schaust du mal in die Dokumentation von deinem Linker, dort sollten so Allerwelts Dinge wie das Einbinden eines Bootloaders beschreiben sein.
Peter schrieb: > gibt es eine Möglichkeit den Flash des STM32 auszuelesen, so dass er > dann als binary Datei o.Ä. vorliegt? ST-Link, J-Flash... > Wo kann der Fehler liegen? Wie immer: Zeile 42! Hab selbst einen STM32 Bootloader geschrieben, der CRC32 Check über sich macht und über die App(s) und dann auch eine von beiden starten kann. Keine Ahnung wieso das so schwierig sein soll...
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.