Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PIC24F16KL402 TWO LEVEL DEEP FIFO
#1
HI,

I am using PIC24F16KL402, ds30 loader GUI(1.5.7), RS232 CABLE, 9600 Baud Rate.
When I "CHECK FOR BL" I got this:
"Found unknown device id(109/0x6D), fw ver. 4.4.11"

the code in ds30loader.s:

.equiv VERMAJ, 4 /*firmware version major*/
.equiv VERMIN, 0 /*fimrware version minor*/
.equiv VERREV, 3 /*firmware version revision*/

SendL ( DEVICEID & 0xff )
SendL ( ((DEVICEID&0x100)>>1) + VERMAJ )
SendL ( ((DEVICEID&0x200)>>2) + (VERMIN<<4) + VERREV )

I found PIC device ID 621(0x26D),
it seems the first and second bytes were transmitted well, but the third failed.
I tried to change VERMIN AND VERREV, but got same result.
also tried to comment out the third SendL line, same result.

the PIC24F16KL402 has only 2 LEVEL DEEP FIFO, will it cause the third sendL failed? and why it is sending fixed .4.11?


Thanks for help.
Harrison


Attached Files
.zip   attach.zip (Size: 4.16 KB / Downloads: 7)
Reply
#2
The explanation to the problem is found in the errata sheet.

Solution:

Replace
Code:
txwait:        btsc    USTA, #UTXBF
            bra        txwait
With
Code:
txwait:        btss    USTA, #TRMT
            bra        txwait
Reply
#3
(2013-08-06, 22:31:15)Mikael Gustavsson Wrote: The explanation to the problem is found in the errata sheet.

Solution:

Replace
Code:
txwait:        btsc    USTA, #UTXBF
            bra        txwait
With
Code:
txwait:        btss    USTA, #TRMT
            bra        txwait


Silicon Errata Issues, my system runs well now.
Also found out the fixed .4.11 is letter 'K' !! (0x4B)


thanks for help.Smile
Harrison
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)