首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

我的S12UF32为什么不能进行整体擦除?

我的S12UF32为什么不能进行整体擦除?

我的步骤是:
1.检查FPROT保护寄存器.当前值:0xFF;
2.设置FCLKDIV(扇区擦除与字节编程时结果正确,说明其值正确);
3.设置PPAGE,设置当前值为:0x3E;
4.清除FSTAT (Flash操作状态寄存器);
5.写任意字到Flash的任意地址,这里是将0xFFFF写到0x8000;
6.写0x41(整体擦除命令)到FCMD寄存器;
7.写0x80到FSTAT
8.检查状态,当前值为:0xC1
以上步骤执行完成后,为什么达不到目的呢?请版主指点.
任意地址应该是FLASH块中包含的地址。UF32有2个FLASH块,一块的地址是0x4000~0x7FFF,另一块是0xC000~0xFFFF。FLASH的操作地址应该是在这两个范围之内。另外,对FLASH进行擦写操作时,控制程序本身应放在RAM中运行,或着在另一个块中运行。
海纳百川  有容乃大
返回列表