本帖最后由 myfaith 于 2010-8-8 16:34 编辑
页擦除
闪存的任何一页都可以通过FPEC的页擦除功能擦除;擦除一页应遵守下述过程:
检查FLASH_SR寄存器的BSY位,以确认没有其他正在进行的闪存操作;
设置FLASH_CR寄存器的PER位为’1’;
用FLASH_AR寄存器选择要擦除的页;
设置FLASH_CR寄存器的STRT位为’1’;
等待BSY位变为’0’;
读出被擦除的页并做验证。
--------------
在FLASH_AR设置的地址需页对齐吗?
这个地址是指擦除时以这个地址为开始的后一页大小,还是以这个地址到当前页页尾,还是这个地址所在的页?
如,对于高密度器件,page 0为0x0800 0000 - 0x0800 07FF
当在FLASH_AR中设置0x0800 070F时,擦除的是以下哪种情况?
1.0x0800 070F~0x0800 07FF
2.0x0800 070F~(0x0800 070F+2KB)
3.0x0800 0000 ~ 0x0800 07FF
感觉编程手册里没有讲清楚 |