微芯片单片机擦除闪存程序存储器步骤详解
需积分: 3 114 浏览量
更新于2024-08-08
收藏 8.12MB PDF 举报
该文主要介绍了在PIC18F45K80微控制器中擦除闪存程序存储器的过程,以及涉及的相关寄存器设置和步骤。文章内容基于Microchip Technology Inc.的数据手册。
在微控制器编程中,擦除闪存程序存储器是一个关键操作,特别是对于那些使用闪存存储代码和数据的设备。在PIC18F45K80这款芯片中,擦除操作是以32个字或64字节的块为单位进行的,不支持字级别的擦除。在擦除过程中,高16位的TBLPTR寄存器用于指定要擦除的块的地址,而低6位被忽略。控制擦除操作的关键寄存器是EECON1,需要设置EEPGD位为1以指向闪存程序存储器,CFGS位清零以访问程序存储器,同时设置WREN位使能写操作,以及FREE位使能擦除操作。
擦除序列的详细步骤如下:
1. 设置表指针寄存器(TBLPTR)为要擦除的块地址。
2. 配置EECON1寄存器,包括设置EEPGD、CFGS、WREN和FREE位。
3. 禁止中断以确保操作的原子性。
4. 写入EECON2的特定序列(55h然后是0AAh)来启动擦除过程。
5. 设置EECON1的WR位开始擦除操作,此时CPU会暂停执行,直到擦除完成。
6. 擦除结束后,重新启用中断。
在示例代码中,给出了擦除一行闪存程序存储器的具体C语言实现,包括加载地址到TBLPTR寄存器,配置EECON1寄存器,并执行EECON2的写启动序列。
需要注意的是,擦除操作会暂停CPU的执行,直至内部编程定时器结束长写周期。这个过程对于保证数据的安全性和完整性至关重要,同时也强调了在进行这类操作时中断管理的重要性。
此外,文档还提醒读者,尽管提供了中文翻译,但应以英文原文为准,因为英文版可能包含更详细的信息和技术规格。Microchip Technology Inc.对其知识产权有严格的保护,并明确指出不为任何潜在的误解或错误翻译承担责任,用户在使用Microchip器件时应遵循技术规范,自行承担应用风险。在生命维持和生命安全应用中使用Microchip器件,所有责任由用户自负。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
沃娃
- 粉丝: 31
- 资源: 3952
最新资源
- Java语言教程&案例&相关项目资源.zip
- Python库 | destral-1.7.3.tar.gz
- ArduinoAndroidBluetooth:Arduino 和 Android 蓝牙与 DF-BluetoothV3 通信
- RtpAnalyzeriOS:适用于iOS设备的RTP丢包分析器
- eloquent-faster:简单的无IO高速缓存,用于雄辩的模型更改器和访问器配置
- placement-prep
- HTML5+Three.js实现浓烟翻滚大雾弥漫场景动画效果源码.zip
- 20210808-中泰证券-银行业专题测算:地方债务与银行风险、资产增速,高安全边际.rar
- Python库 | desolver-3.0.0.tar.gz
- blogify:面向极简主义者和开发者的博客平台
- SQL是一种用于管理关系型数据库管理系统(RDBMS)的标准化语言
- syncany-plugin-ftp:Syncany FTP 插件
- aws-rds-manager::cloud::hammer_and_wrench::sparkles:提供用于管理RDS快照的实用程序
- html5+TweenMax.js实现跟随鼠标层叠出现隐藏的图片动画效果源码.zip
- 20210807-天风证券-纺织服装行业专题研究:JK制服,破译文化圈层,把握Z世代风向,掘金细分市场.rar
- 基于hadoop的好友推荐系统