[elektro] C kérdés
hg12345
hg12345 at freemail.hu
Sun Aug 29 12:42:30 CEST 2010
Szerintem is, meg megérteni amit írtam.>
Bocsika, érdemes lenne elolvasni amit írtam, szépen sorjában leírtam mit míért csinál. És 100%, hogy így müködik.
Röviden beteszel egy DNop utasítást ami:
PIC12,16
DNop() => goto $+1
18
DNop() => bra $+2
PIC24/dsPIC
DNop() => bra $+2
Melyik kontrollerről beszélsz, mert hogy mint fent látható nem mindegy!
És erre az utasításra teszed a HW breakpointot, és ott áll meg ahol kell.
Ha nem ezt használod, akkor érdemes elolvasni az MPLAB-nak helpjét, (már írtam, hogy hol találod) és mindig késöbb vagy a függvényhívás fejében fog meg állni!
Ráadásúl a 24/dsPIC sorozatban ez még tovább bonyolodik azoknál az utasítások esetén amikor pl.: egy indirekt incrementális utasítás szerepel a cimzésben, eé pont ezt regisztert használod a következő utasításban, mert ilyenkor a uC "intruction Stall Cycle" hajt végra, ami további egy ciklus idővel nyujta a végrehajtást...., természetesen a BRK-ben is látszik....
>
Ugyanis nem azt írtam, hogy nem tudom hogyan lehet töréspontot >
megoldani, hanem azt, hogy vajon MCHIP hogyan csinálja, hogy nem tud ott >
megállni ahová a töréspontot teszem.>
Nagy különbség !!>
Sőt, egyazon töréspontnál hol megáll pontosan, hol meg tovább lép.>
Ezt elég nehéz megmagyarázni. Akár címkomparátort használnak, akár >
kicserélik a törésponti utasítást.>
>
> A MCHIP csak DEBUG részt használja. Ha megnézed az utasítások végrehajtását, láthatód, hogy az utasítás beolvasás FETCH az előző utasítás végrehajtása alatt történik, vagyis amikor észreveszi már a következő utasát hajtja végre, tehát csak itt tud megállni.>
> >
Most melyiken van a töréspont ? Amelyiket végrehajtja, vagy a következőn >
A összehasonlító regiszter a végrhajtást tudja érzékelni, az meg legalább egy ciklussal elvan maradva a beolvasástól....
amelyiket beolvassa?>
De bármelyiken is van, szerintem sehogy se jó amit írtál :-[>
Kár, :-(, végül is teljesen mindegy ha beteszed az ajánlott "dupla nop" utasítást és erre teszed BRK-t akkor ott áll meg.
Ha meg nem akkor lehet tovább mérgelödni :-[> (amúgy nemtudom mit jelent eme jel, de remélem nem valami csúnyát)
>
>
More information about the Elektro
mailing list