Pojawił się u mnie ostatnio problem po dodaniu w programie przerwania od Timera.
Dotychczas działało wszystko super, debagowanie trybie krokowym działało bez problemu itd.
Po dodaniu przerwania program również działa ale niestety w trybie krokowym...nie do końca. Gdy zatrzymam rdzeń w jakimś miejscu programu i wykonam następną instrukcję pojawia się to co na zrzucie ekranu czyli rdzeń wpada w obsługę przerwania "gubi" adres powrotu (rejestr LR). Praca krokowa przestaje działać gdyż cały czas wykonuje się to co w obsłudze przerwania. Pomaga jedynie "puszczenie" programu dalej. Dodatkowo w konsoli OpenOCD pojawia się text:
Breakpointy działają prawidłowo..jednak brak możliwości pracy krokowej czasami utrudnia debugowanie kodu.
Dołączam swój starup.c (trochę dziwaczny ....ale sięprzyzwyczaiłem) oraz skrypt linkera. Komendy GDB to poprostu
Może ktoś już "walczył" z podobnym zjawiskiem ?
Dotychczas działało wszystko super, debagowanie trybie krokowym działało bez problemu itd.
Po dodaniu przerwania program również działa ale niestety w trybie krokowym...nie do końca. Gdy zatrzymam rdzeń w jakimś miejscu programu i wykonam następną instrukcję pojawia się to co na zrzucie ekranu czyli rdzeń wpada w obsługę przerwania "gubi" adres powrotu (rejestr LR). Praca krokowa przestaje działać gdyż cały czas wykonuje się to co w obsłudze przerwania. Pomaga jedynie "puszczenie" programu dalej. Dodatkowo w konsoli OpenOCD pojawia się text:
Error: AHBAP Cached values: dp_select 0x0, ap_csw 0xa2000012, ap_tar 0xffffffff
Error: SWJ-DP STICKY ERROR
Error: Read MEM_AP_CSW 0x23000052, MEM_AP_TAR 0xfffffffcBreakpointy działają prawidłowo..jednak brak możliwości pracy krokowej czasami utrudnia debugowanie kodu.
Dołączam swój starup.c (trochę dziwaczny ....ale sięprzyzwyczaiłem) oraz skrypt linkera. Komendy GDB to poprostu
target remote localhost:3333
monitor reset halt
load
monitor soft_reset_haltMoże ktoś już "walczył" z podobnym zjawiskiem ?