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