Hallo, ich habe mir ein STM32-H103 Board von Olimex besorgt und darauf ein simples LED Blink Programm geschrieben. Allerdings funktioniert das Programm nach einen "Neustart" nicht mehr (ich habe die Batterieversorgung mittels Schalter unterbrochen und anschließend wieder hergestellt). Erst wenn ich das Programm erneut auf den Controller lade läuft es wieder. Woran kann das liegen? Das Programm habe ich mit der Demoversion von Crosstudio geschrieben. Danke Mikel
Im Flash Speicher. Das ist ja das seltsame.
Probiere es mal ohne JTAG, möglicherweise hält der den Reset auf Low fest wenn die PC-Software ihn nicht explizit auf High setzt. Falls das nicht hilft, überprüfe die Reset-Konfiguration des Controllers (ich kenne den STM32 nicht, deshalb weiß ich keine Details dazu).
Es gibt auch 2 Pins für die Bootsteuerung, die sowas bewirken könnten. Weiss nicht ob das bei Olimex auf Schalter oder Jumper gelegt ist.
Es gibt zwei Jumper Boot1 und Boot0. Aktuell sind beide auf 0. Boot1 Boot0 x 0 User flash memory 0 1 System memory 1 1 Embedded SRAM User flash memory müsste doch stimmen oder?
Ach ja, ich seh's grad: die alte Crossworks-Nummer. Schau mal in die ersten Zeilen vom Quellcode des Startup-Files oder in die Notizen zum STM32 Support-Package rein, dann wird es klar. Ohne entsprechende Definition läuft der Startup direkt in eine Totschleife, aus der der Debugger das Teil rausholt. Ohne Debugger bleibt er da drin gefangen. Hat mit einer Eigenheit des ARMschen JTAG zu tun, das den Kontakt zum Prozessor beim Reset verliert und erst mühselig wieder aufbauen muss. Pfiffigere Geister als Rowley verwenden dort eine Zeitschleife.
Hallo Leute, ich möchte das Thema nochmal aufwärmen. Ich benutze Rowley und habe das selbe problem(anderes evalboard). Anscheinend hat man ja das Problem gefunden. Leider ist mir nicht ersichtlich wie es nun gelöst wurde. Folgendes hat bei mir nicht geholfen: - von Jtag auf SWD umstellen - in den properties bei entry point "reset_handler" eintragen. kann vielleicht nochmal jemand für mich den entscheidenenden tip geben? :) grüße Tarkan
Hat sich erledigt. wer lesen kann ist klar im vorteil :) Weiß jemand ob sich ein Nachteil ergibt, wenn man die Präprozessor definitions dauerhaft auf STARTUP_FROM_RESET lässt ?
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.