微控制器闪存程序存储器擦除技术详解

需积分: 50 15 下载量 114 浏览量 更新于2024-08-10 收藏 9.33MB PDF 举报
"基于激光点云扫描的高精导航地图关键技术研究-擦除闪存程序存储器在PIC18F24K20单片机中的实现" 本文主要讨论了在微控制器,特别是PIC18F24K20型号芯片上进行闪存程序存储器的擦除操作的关键技术。擦除闪存程序存储器是固件更新和系统维护的重要步骤,对于嵌入式系统的可靠性和可维护性具有重要意义。 在擦除闪存程序存储器的过程中,需要注意以下几点关键细节: 1. **擦除块大小**:最小擦除单位是32个字或64字节,这意味着每次擦除操作不能针对单个字进行,而是以整个64字节的块为单位。 2. **擦除控制**:擦除操作通过设置EECON1寄存器来控制,其中EEPGD位需要置1以指向闪存程序存储器,CFGS位清零以访问程序存储器,WREN位置1以启用写操作,FREE位置1以启动擦除操作。 3. **地址指定**:高16位的TBLPTR寄存器(TBLPTR<21:6>)用于指定要擦除的块地址,而低6位(TBLPTR<5:0>)则被忽略。 4. **安全写操作**:EECON2寄存器的写操作启动序列(55h和0AAh的连续写入)用于防止意外的写操作,这是一个防止错误擦除的保护机制,也被称为长写操作。 5. **CPU暂停**:在执行擦除期间,CPU会暂停工作,直到内部编程定时器完成约2毫秒的擦除周期。 6. **中断管理**:在擦除操作开始前,需要禁用中断,以避免在操作过程中被打断;完成后,重新启用中断以恢复正常运行。 示例代码展示了如何通过一系列步骤擦除指定的闪存程序存储器块,首先将要擦除的地址加载到表指针寄存器,然后设置EECON1寄存器,接着写入EECON2以启动擦除,最后重新启用中断。 在实际应用中,PIC18F24K20等微控制器的闪存管理是固件更新、系统配置存储和错误恢复等任务的基础。因此,正确理解和掌握擦除操作的流程对于开发基于此类芯片的嵌入式系统至关重要。 请注意,尽管提供了中文版的数据手册,但理解英文原版文档中的详细信息和最新更新是非常重要的,因为这有助于确保开发工作的准确性和兼容性。同时,使用Microchip的器件时,用户应对器件的使用负责,遵守所有相关的技术规范,并注意知识产权的保护。