问:用程序代码写Flash的注意事项有那些?

答:下面以C8051F020为例进行说明
第一步、禁止中断
第二步、置位FLWE(FLSCL.0),以允许由用户软件写/擦除FLASH
第三步、置位PSEE(PSCTL.1),以允许FLASH扇区擦除
第四步、置位PSWE(PSCTL.0),以允许FLASH写
第五步、用MOVX指令向待擦除扇区内的任何一个地址写入一个数据字节
第六步、清除PSEE以禁止FLASH扇区擦除
第七步、用MOVX指令向刚擦除的扇区中所希望的地址写入数据字节。重复该步直到所有字节都已写入(目标扇区内)
第八步、清除PSWE以禁止FLASH写,使MOVX操作指向XRAM数据空间
第九步、重新允许中断
另外还要特别注意:第一,将VDD Monitor使能是至关重要的,因为这样会防止在电源电压低于2.7V时代码对FLASH进行操作。第二,在调试时,不可以在代码对FLASH进行操作的程序段设置断点、单步、运行到光标等。
具体的例子代码,您可以参考应用笔记AN029 《从应用代码写FLASH 》,应用笔记可以从新华龙公司网站下载。www.xhl.com.cn

生成海报
点赞 0

创世纪

单片机学习,电子制作DIY学习与分享,各种新鲜的,有趣的,好玩的,一起来吧!机器人、无人机、树莓派/Raspberry Pi、arduino、极客、创客等

暂无评论

发表评论

相关推荐

Keil烧录No Algorithm found for问题

keil 5,烧录GD32F303,J-link的SWD接口烧录。build和download都没有报错,但是没有预期的效果。只有以下不正常的地方: No Algorithm found