[elektro] ST-LINK/V2 debug

Bali Zoltan eltexto at freemail.hu
Fri Jul 10 18:23:28 CEST 2015


Hali!

Ez most vajon minek a hibája?

A capture eseményeknek van egy-egy flagje.
Pl.  TIM3->SR.CC1IF

Ehhez a leírás:
"
If channel CC1 is configured as input:
This bit is set by hardware on a capture. It is cleared by software or 
by reading the
TIMx_CCR1 register.
0: No input capture occurred.
1: The counter value has been captured in TIMx_CCR1 register (An edge 
has been detected
on IC1 which matches the selected polarity).
"

Na most, debug alatt, ha nézem a TIM3 regisztereket,
felfutó élre nem fut le a CC1IF-el szelektált
capture kezelő ág. Közben látom hogy a CC1IF és másik
sincs bebillenve. Cserébe az overcapture(CC1OF, kicsit
zavaró de nem lepődök meg) flag van bebillenve(both edge
és van lefutó is pár us-ra). Így, lépésenként soha nem
fut eseménykezelő ágra, hisz az eseményt jelző flag
nem jelez. Ha  futtatom a programot és nem állítom le,
akkor jól működik. Ha leállítom, de nincs regiszter ablak,
akkor lépésenként is jó. Arra gondolok, hogy
a debugger TIMx_CCR1 kiolvasására törlődik a fenti
idézet alapján a flag. Nem jó a kiolvasási sorrend
vsz. Először a status reg-et kellene olvasni a
debuggernek, aztán a többit, szerintem. De ekkor is zavaró
lenne, ha még egy lépést nyomunk...
Vajon az IDE-debug cseszi el a sorrendet, vagy az ST-LINK/V2?
Volt egy firmware upgrade is, de nem változott.
Így azért elég gáz. Egy fél nap kellet, hogy rájöjjek
mi ez a furcsa viselkedés.

Köszi

Üdv.  Zoli



More information about the Elektro mailing list