Moin Leute, Hat jemand eine brilliante Idee wie man in einem STM32L451 nach dem Reset erkennen kann ob ein Segger angeschlossen ist? Hintergrund: Ich hab eine auf Stromsparen optimierte Schaltung wo der Controller nur sehr kurz was macht und dann sofort den Controller in den deepest Sleep schickt. Da hat der Segger keine Chance das Teil unter Kontrolle zu bekommen und ich muss den erst jedesmal mit JLinkSTM32Exe ein brainwashing verpassen. Es waere eigentlich cooler wenn der Controller das merken wuerde und dann nicht entschlummert. Klar, ich koennte irgendwo einen Pin abfragen, aber vielleicht gibt es noch eine elegantere Loesung? Vanye
Füge am Anfang des Programms ein 5s Delay ein, bevor er in den Sleep geht. Dann jann sich der Debugger vorher verbinden und auch verhindern, dass der CPU Takt beim Schlafen deaktiviert wird.
:
Bearbeitet durch User
> Füge am Anfang des Programms ein 5s Delay ein, bevor er in den Sleep > geht. Das ist natuerlich meine aktuelle Loesung, aber nicht akzeptabel weil ich nicht 5s lang kostbare Energie verbraten will. Der Strom kommt ja nicht aus der Steckdose. .-) Vanye
Vanye R. schrieb: > weil ich nicht 5s lang kostbare Energie verbraten will. Muss dein Dingsbums denn immer mit Reset neu starten? Aus dem Sleep Modus kann man doch ohne Reset Aufwachen, si dass das Programm nicht neu starten muss. Die 5s würden nur den ersten Start nach dem Einschalten (und Reset) betreffen.
Dafür gibt es z.B. die ARM Core Debug Register. Und wenn die Suchmaschine nicht kaputt ist findet man u.a. das hier ("Lifehack: detecting debugger connection for Cortex-M0 & Ozone"): https://m0agx.eu/detecting-debugger-connection-on-cortex-m0.html
Dieter S. schrieb: > Dafür gibt es z.B. die ARM Core Debug Register. Geht das DEBUGEN Bit denn schon auf High, bevor der Debugger die logische Verbindung aufgebaut hat? Sonst nützt das nichts.
Ghet es um Debuggen oder nur neu Flashen? Flashen kannst Du auch mit dem internen ROM-Bootloader, der mit BOOT0 aktiviert wird. Und zum Debuggen wirst Du sicher einen extra Build mit -O0 und -g und -DDEBUG haben. fchk
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.