Windows Internals:6th Part 2 - Erasing Flash Program Memory Sequ...

需积分: 45 127 下载量 69 浏览量 更新于2024-08-10 收藏 9.91MB PDF 举报
擦除闪存程序存储器是Windows Internals Part 2(第六版)中讨论的重要主题,特别是在针对Microchip PIC18F46k80系列单片机的操作中。该部分主要关注闪存存储器的管理和擦除过程,特别是对于该系列单片机内部使用的闪存程序存储器。 在Microchip的这款单片机中,擦除操作针对的是32字节或64字节大小的块,这是通过EECON1寄存器进行控制的。要进行擦除,首先要设置EECON1寄存器的配置,如将EEPGD置1指向程序存储器,将CFGS位清零以访问程序存储,启用写操作(WREN=1)以及选择擦除操作(FREE=1)。此外,为了保证安全,必须遵循特定的序列,即先写入EECON2寄存器两个特定值(55h和0AAh),然后设置WR位开始擦除操作,同时中断会被临时禁止。 擦除过程的具体步骤如下: 1. 将要擦除的内存块地址加载到表指针寄存器中,包括高位和低位地址。 2. 配置EECON1寄存器,指定擦除目标和操作条件。 3. 禁止中断,防止在擦除过程中被意外中断。 4. 将55h和0AAh写入EECON2寄存器,启动擦除序列。 5. 将WR位置1,启动擦除过程,此时CPU在擦除期间会暂停执行(见参数D133A)。 6. 擦除完成后,恢复中断。 需要注意的是,这个过程是针对内部闪存设计的,可能涉及到长写周期,这意味着在擦除期间指令执行会被暂停,直到由内部编程定时器完成擦除。因此,开发者在编写代码时,需要考虑到闪存擦除操作的影响,确保程序能够正确处理这种暂停。 此外,该部分内容还提到了版权和免责声明,指出文档中的英文部分同样重要,因为英文文档包含了关于Microchip产品性能和使用情况的详细信息。对于翻译文本中的任何错误,Microchip Technology Inc.并不负责,用户应参考英文原版文档获取最准确的信息。并且,Microchip不对由于使用文档中的信息导致的后果承担责任,特别是对于生命维持和生命安全应用,用户自行承担所有风险。 最后,章节中还列举了一些Microchip的商标和知识产权声明,强调了版权和商标所有权,以及使用其产品和服务的条件和限制。