Необходимо обновлять загрузчик, есть ли возможность прошить загрузчик(NRWW область) из памяти программ (NWW область) ?
Код взял из примеров Atmel, страница памяти программ остается не тронутой, не стирается ....
Если код располагается в NRWW областе то страница стирается, вне ее нечего не просиходит...
код:
ldi ZL,0x00
ldi ZH,0x70
ldi temp,(1 << PGERS | 1<< SPMEN) ; Page Erase
call Do_spmF
ldi temp,(1 << RWWSRE | 1<< SPMEN)
call Do_spmF
Do_spmF:
push temp1
Do_spmF1:
in temp1,SPMCSR
sbrc temp1,SPMEN
rjmp Do_spmF1
in temp1,SREG
cli
Wait_eeF:
sbic EECR,EEPE
rjmp Wait_eeF
out SPMCSR,temp
spm
out SREG,temp1
pop temp1
ret