PIC bootloader
#1
Hei, elektroonikud!
Ma olen siin juba paar päeva vaevelnud probleemi kallal, kuidas kirjutada läbi omtehtud bootloaderi PICi konfi baite. Konkreetne kivi on PIC18F46K80.
Kõik muu kirjutub ilusasti kuid konfiga tekib jama - esimene bait aardressil 0x30 00 00 on progejaga tagasi lugedes alati 00. Kommenteerides konfiala kirjutamise jupi välja, viga kaob. Muud konfibaidid kirjutatakse õigesti. Data kirjutamise puhvrisse tuleb õige (debug-väljatrükk näitab).
Toimetan nii:
- kustutan konfiala 15 baiti
- kirjutan baidid TBLWRT*+ käsuga
- sätin biti WR mis peaks käivitama kirjutamise
Enne kustutamist ja kirjutamist sean TBLPTR= 0x 30 00 00
JA ikka....
Mis loll viga see on, mida ma ei suuda näha?
PHP Kood:
                clrwdt
                movlw    0x30
                movwf    TBLPTRU                    
kustuta senised confibaidid
                clrf    TBLPTRH
                clrf    TBLPTRL
                BCF     EECON1
,EEPGD
                BSF     EECON1
,CFGS
                BSF     EECON1
,WREN                kirjuta FLASHiluba kirjutamine
                BSF     EECON1
,FREE             enable Erase operation
                MOVLW     0x55                    
lahtilukustamine
                MOVWF     EECON2     
                MOVLW     0xAA
                MOVWF     EECON2 
                BSF     EECON1
,WR                 kustuta blokkprose hangub seniks.
                
nop
                BCF     EECON1
,WREN                keela kirjutamine FLASHi ja row erase
                BCF     EECON1
,FREE         
                clrwdt
                movlw    0x30
                movwf    TBLPTRU                    
taasta aadress
                clrf    TBLPTRH
                clrf    TBLPTRL
                LFSR    .2
,BootloaderBuf2        0E baiti conffi kirjutadasoorts siin
                movlw    0x0C
                movwf    Count
bldr_end3
:        movff    POSTINC2,TABLAT
                TBLWT
*+
                
clrwdt
                decfsz    Count
                
goto    bldr_end3
                clrwdt
                movlw    0x30
                movwf    TBLPTRU                    
taasta aadress
                clrf    TBLPTRH
                clrf    TBLPTRL
;                TBLRD*-
                
BCF     EECON1,EEPGD
                BSF     EECON1
,CFGS
                call    bwr_flsh2 
käivitab kirjutamise tsükli 64 baiti

Head aastavahetust !
/Felch
Vasta


Sõnumeid selles teemas
PIC bootloader - Autor: felch - 31-12-2014, 09:35 PM
RE: PIC bootloader - Autor: A.R. - 01-01-2015, 11:45 AM
RE: PIC bootloader - Autor: madis - 01-01-2015, 01:59 PM
RE: PIC bootloader - Autor: felch - 02-01-2015, 08:36 PM
RE: PIC bootloader - Autor: madis - 07-01-2015, 10:27 PM
RE: PIC bootloader - Autor: felch - 09-01-2015, 08:55 AM

Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 2 külali(st)ne