Board logo

标题: 我的S12UF32为什么不能进行整体擦除? [打印本页]

作者: cwj528    时间: 2007-8-7 11:26     标题: 我的S12UF32为什么不能进行整体擦除?

我的步骤是:
1.检查FPROT保护寄存器.当前值:0xFF;
2.设置FCLKDIV(扇区擦除与字节编程时结果正确,说明其值正确);
3.设置PPAGE,设置当前值为:0x3E;
4.清除FSTAT (Flash操作状态寄存器);
5.写任意字到Flash的任意地址,这里是将0xFFFF写到0x8000;
6.写0x41(整体擦除命令)到FCMD寄存器;
7.写0x80到FSTAT
8.检查状态,当前值为:0xC1
以上步骤执行完成后,为什么达不到目的呢?请版主指点.
作者: strongchen    时间: 2007-8-8 11:55

任意地址应该是FLASH块中包含的地址。UF32有2个FLASH块,一块的地址是0x4000~0x7FFF,另一块是0xC000~0xFFFF。FLASH的操作地址应该是在这两个范围之内。另外,对FLASH进行擦写操作时,控制程序本身应放在RAM中运行,或着在另一个块中运行。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0