ICD2 - breakpoints
andrej jancura
hw_aj@zoznam.sk
Pondělí Prosinec 1 12:56:48 CET 2008
No len jedna poznamka, WREG ma na prvom riadku hodnotu >254 ? Skus si
tam napisat MOVLW...
Na dbg interrupt rutiny by som ICD nepouzil, nakolko sa jedna o sw
emulovanie a to hold v isr moc dobre nemusi nechodi.
A.
On Mon, 1 Dec 2008 12:35:20 +0100
"Michal HW" <michalgregor@centrum.cz> wrote:
> Zkousim najit chybu v programu:
>
> Line Address Opcode Label Disassembly
>
> 8546 042C2 C272 MOVFF 0x272, WREG
> 8547 042C4 FFE8 NOP
> 8548 042C6 0F07 ADDLW 0x7
> 8549 042C8 CFE8 MOVFF WREG, Pocet_B
> 8550 042CA FD3D NOP
> 8551 042CC C0B7 MOVFF Ukazatel, Vstup_P
> 8552 042CE F0BB NOP
> 8553 042D0 C0B8 MOVFF Vstup_K, 0xbc
> 8554 042D2 F0BC NOP
> 8555 042D4 C0B9 MOVFF Vstup, 0xbd
> 8556 042D6 F0BD NOP
> 8557 042D8 EC08 CALL Sloz_Konec, 0
> 8558 042DA F029 NOP
> 8559 042DC 6E00 MOVWF 0, ACCESS
> 8560 042DE CD3D MOVFF Pocet_B, 0x1
>
> Promenna Pocet_B ma chybnou hodnotu 0x05. Nastavil jsem si Advanced
> breakpoint na zapis hodnoty 0x05 do Pocet_B.
>
> ICDII se zastavi na radku 8553, ktery vubec s Pocet_B nepracuje.
>
> 0x272 obsahuje 0. Pocet_B ma 0x05. (Vysledek mel byt 7)
>
> Vypada to ze z preruseni se vrati spatny obsah WREG. Kdyby se v
>preruseni
> zapisovala hodnota 0x05 do Pocet_B, tak to ICDII zachyti, Nebo ne?
> Procesor je 18F8723. ERRATA jsou prazdne, takze chybu s Fast Stack
>Registrem
> by nemel mit.
>
> Michal Gregor
>
Další informace o konferenci Hw-list