Hallo Gemeinde, ich nutze ein Nucleo-144-Board. Als IDE VisualGDB mit Arm-GCC. Man kann in den Settings "Reset before Programming" und "Reset after Programming" anwählen. Interface ist SWD. Bisher war das eigentlich egal. Seit ich DMA nutze (über SAI1) geht das Flashen nicht mehr. Es kommen dann solche Meldungen: compare-sections ~"Section .isr_vector, range 0x8000000 -- 0x80001ac: MIS-MATCHED!\n" Bei der Einstellug "Reset before Programming" funktioniert alles bestens. Ist das ein normales Verhalten? Wo sollten Überschneidungen zwischen SWD-Flash und DMA-Transfer herkommen. Wird nicht vor dem Flashen die MCU angehalten? Viele Grüße Runout
Ich rate mal, dass du die CPU während des DMA Transfers schlafen legst. In diesem Zustand ist die SWD Schnittstelle tot. Deswegen wird oft empfohlen, am Anfang des Programms eine Sekunde zu warten, bevor man schläft, damit der Verbindungsaufbau via SWD erleichtert wird.
Hallo Stefanus, ich nutze keine Low-Power/Sleep-Modes. Habe jetzt noch im Log-File vom J-Link einen "Memory-Access-Error" entdeckt. Es ist egal, ob ich das Nucleo-Board mit orignal ST-Link-Debugger betreibe oder via "STLinkReflash" als J-Link. Aber danke für den Tip. Grüße Runout
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.