[elektro] Atmel Studio Debugger hiba

Bakcsa Zoltán bakcsa at gmail.com
Sat Feb 20 11:00:45 CET 2016


Ugyanaz fordul mind a két esetben, megnéztem, semmi különbség a fájlok
között.
Mégis, programozáskor történik valami, ami nem ugyanúgy zajlik debug és
standard programozáskor, az alábbiak miatt:

Normál esetben, ha elindítok egy ismerten jól futó programot (mondjuk egy
hello world-öt) debug módban, majd leállítom azt Atmel Studio-ból, vagy
lehúzom a debuggert, resetelem a procit, akkor reset után úgy indul el a
program, mintha csak simán be lett volna égetve. Fut, ahogy kell.

A jelenleg szóban forgó program viszont ettől eltérően viselkedik.:
Ha csak simán letöltöm a prociba, akkor elindul. Inicializál, kiírja amit
kell, majd rátér a főprogramjára, ahol gyanítom a hibát.

Ha debug módban indítom, nem csinál semmit. Még azután sem, hogy lehúztam a
debuggert és reseteltem a procit, pedig ebben a pillanatban már úgy kellene
működnie, mint sima programozás után. Mivel a lefordított fájlok bitre
ugyanazok debug-hoz és normál futtatáshoz, ugyanazt a működést várnám el.
De nem az történik. Nagyon furcsa.

Na mindegy, már elkezdtem átdolgozni a kódot, megpróbálom valahogy unit
tesztelhetővé alakítani és darabokban vizsgálni.
Otthon meg van egy xplained board-om J-Link debuggerrel, majd kipróbálom
azon is, hogy mit szól a mostani programhoz, ami nem hajlandó még csak
elindulni sem.


2016-02-20 10:06 GMT+01:00 VFX <info at vfx.hu>:

> Hali!
>
> Nem biztos hogy a debugger szégyene. ARM-nél van olyan állapot hogy
> 'Lockup'. Nem gondolnám, hogy nálad is ez lehet a probléma, de megeshet:
>
> The processor enters a lockup state if a hard fault occurs when
> executing the NMI or hard
> fault handlers. When the processor is in lockup state it does not
> execute any instructions.
> The processor remains in lockup state until either:
> • It is reset
> • An NMI occurs
> • It is halted by a debugger.
>
>
> Én sosem használtam még debuggert, így nem tudom mit jelent az utolsó
> pont, hogy lehet megállítani debuggerrel.
> Ahogy olvasgatom 'hard fault' hibát könnyen elő lehet idézni ARM/thumb
> utasítás váltáskor ugró utasítással, vagy összekavarodó interruptokkal stb.
>
> De szerintem nálad nem ez lesz a hiba oka, kivéve ha a fordító még is
> más kódot fordít debuggra.
>
> ÜDV. VFX.
>
>
>
>
>
> 2016.02.20. 8:05 keltezéssel, Bakcsa Zoltán írta:
> > Szia,
> >
> > A komplett program jelenleg csak az uart-ot, spi-t, SMC-t külső ramhoz,
> egy
> > external interruptot az egyik lábon és a systick timert használja. Ezek
> > mind jól működnek a szóban forgó kódrészlettől függetlenül is, ami amúgy
> > semmilyen perifériát nem használ, mivel egy protokoll implementáció
> > inicializáló részében van. Erősen gyanítom, hogy valahol egy pointert
> félre
> > címzek vagy egy tömböt a határain kívül írok valahol. Másra nagyon nem
> > tudok gondolni jelenleg. Ha viszont egy ilyen hiba miatt nem lehet
> > debugolni, akkor az elég szégyenteljes a debuggerre nézve.
> >
> >
>
> -----------------------------------------
>           elektro[-flame|-etc]


More information about the Elektro mailing list