Вот кусок моего кода, который пишет во флэш:
void WaitSPM()
{
while(SPMCR_SPMEN); // Wait until Flash write completed
}
for(unsigned char i=0;i<128;i++)
{
__watchdog_reset();
WaitSPM();
_SPM_FILLTEMP(i<<1,i);
}
WaitSPM();
_SPM_ERASE((unsigned char __flash*)0);
WaitSPM();
_SPM_PAGEWRITE((unsigned char __flash*)0);
WaitSPM();
SPMCR=(1< asm("spm");
for(;;)__watchdog_reset();Он располагается в NRWW секции.Биты BOOTRST и BOOTSZ стоят как надо.
После исполнения этого кода, читаю понипрогром. А там везде FF. Тоже самое на атмеге128 и атмеге64 работает.
Почему это не работает на атмеге16 ?