Forum: Mikrocontroller und Digitale Elektronik STM32 + CooCox - Problem beim Debuggen


von Klaus (Gast)


Lesenswert?

Hallo,

ich nutze die CooCox IDE mit einem STM32 und habe das Problem, dass beim 
Debuggen immer wieder in der Timer-ISR unterbrochen wird, obwohl da kein 
Breakpoint sitzt.

Was ist da los? Und was kann ich dagegen tun?

Danke, Gruß Klaus

von hopplahierkommich (Gast)


Lesenswert?

>Was ist da los? Und was kann ich dagegen tun?

Zuerst mal Dein Equipment auflisten. Welcher Debugger? Welcher GDBServer 
(falls überhaupt einer), usw.

von holger (Gast)


Lesenswert?

>Was ist da los? Und was kann ich dagegen tun?

Dein Timer bleibt beim Debuggen ja nicht stehen.
Beim nächsten Singlestep ist evtl. schon ein Timerinterrupt
aufgetreten, und da hüpft der Debugger dann auch hin.

Das DBGMCU Register benutzen!

    @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted

Mit dieser Zeile ganz am Anfang deiner main() bleibt beim Debuggen und
Singlesteppen Timer1 stehen sobald der Core angehalten wird.

  DBGMCU->CR |= DBGMCU_CR_DBG_TIM1_STOP;

Das geht auch mit den anderen Timern.

von Klaus (Gast)


Lesenswert?

Holger schrieb:
> Dein Timer bleibt beim Debuggen ja nicht stehen.
> Beim nächsten Singlestep ist evtl. schon ein Timerinterrupt
> aufgetreten, und da hüpft der Debugger dann auch hin.
>
> Das DBGMCU Register benutzen!
>
>     @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted
>
> Mit dieser Zeile ganz am Anfang deiner main() bleibt beim Debuggen und
> Singlesteppen Timer1 stehen sobald der Core angehalten wird.
>
>   DBGMCU->CR |= DBGMCU_CR_DBG_TIM1_STOP;
>
> Das geht auch mit den anderen Timern.

Danke für den Tipp. Werde ich mal ausprobieren.

Gruß Klaus

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
Noch kein Account? Hier anmelden.