Windows Internals: Code Protection in PIC18F66K80 Memory Structu...

需积分: 45 127 下载量 56 浏览量 更新于2024-08-10 收藏 9.91MB PDF 举报
在《程序校验和代码保护 - Windows Internals Part 2(第六版)》一书中,章节28.6探讨了程序存储器在PIC18F66K80系列单片机中的组织和代码保护机制。该系列单片机采用了nanoWattXLP技术,集成了ECAN™功能,是一款28/40/44/64引脚的增强型闪存单片机。存储器被划分为四个区域,包括一个1KB或2KB的引导区,其余按二进制边界分成了不同大小的存储块。 每个存储块都配备了三个代码保护位,分别是代码保护位(CPx),写保护位(WRTx)和外部存储块表读位(EBTRx)。这些位控制了程序代码的访问权限,对于确保软件的安全性和完整性至关重要。具体来说: 1. **代码保护位(CPx)**: 这个位决定了存储块是否可以执行代码。如果为1,表示该块允许执行,若为0,则禁止执行,防止未经授权的代码修改。 2. **写保护位(WRTx)**: 当为1时,该存储块不允许写入操作,这对于保护已经编译的代码不被篡改非常关键。 3. **外部存储块表读位(EBTRx)**: 如果为1,意味着该存储块可以从外部存储器读取,否则,只有内部存储器可用。这在需要与外部设备交换数据时会用到。 图28-6展示了不同存储容量的器件中,如48KB、64KB、96KB和128KB,这些保护位如何分配。引导区的大小由BBSIZ0位(CONFIG4L<4>)决定,不同的BBSIZ值会导致引导区的大小不同。 表28-4提供了实际的存储块地址和对应的代码保护位状态,这对于理解硬件配置和编程限制非常有帮助。同时,文档强调了Microchip Technology Inc.对翻译内容的免责声明,提醒读者在使用产品时需参考英文原文,并自行负责符合技术规范,且Microchip不对使用信息的正确性或适用性做出任何保证。 这一章节深入讲解了如何通过代码保护位来管理程序代码在PIC18F66K80单片机中的存储和执行权限,这对于开发人员在设计和保护嵌入式系统时是一项重要的知识点。