LPC178x/177x微控制器的加密程序实现与CRP设置

需积分: 45 28 下载量 163 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
本资源主要讨论的是LPC178x/177x系列Cortex-M3微控制器的加密程序实现及其与固件安全的关系。标题《加密程序实现:word.origins.the.secret.histories.of.english.words.from.a.to.z》可能是在探讨软件加密技术在电子设备中的应用,特别是针对该系列微控制器的具体实施。 描述中提到的关键知识点包括: 1. **代码写保护软/硬件交互**:CRP (Code Read Protection)是确保代码安全的一种机制,通过控制特定引脚的电平和JTAG接口的状态来启用或禁用对代码的访问。如果在编程时启用CRP并允许通过ISP(In-System Programming)模式访问,未经授权的操作将导致CODE_READ_PROTECTION_ENABLED错误代码。 2. **加密设置**:用户需要在内存地址0x000002FC处定义数据CRPx格式,例如CRP2的值(如0x8765 4321),以实现加密。这个过程涉及修改启动代码startup_LPC177x_8x.s,使用IF伪指令检查NO_CRP是否被定义,如果没有,则编译CRP_Key进行设置。非加密状态下,该位置会被写入0xFFFF FFFF;加密则替换为CRPx数据,加密后的程序只有在系统复位后才会生效。 3. **加密程序实现**:代码实现部分位于LPC178x/177x的启动代码中,它负责判断加密设置,并在必要时启用加密。这显示了在嵌入式系统开发中,如何通过编程手段来保护知识产权和敏感信息。 4. **E2PROM存储器**:作为存储设备,E2PROM(Electrically Erasable Programmable Read-Only Memory)在系统中用于存储非易失性数据,如配置信息和加密密钥。章节详细描述了其功能、特性和寄存器操作,表明了其在加密程序实现中的角色。 5. **外部存储器控制器(EMC)**:外部存储器的管理也是关键,如闪存,它不仅用于加载程序,也可能与加密相关,因为外部存储器的访问权限可以影响到代码的保护。 这部分内容主要关注了嵌入式系统的安全措施,包括硬件和软件层面,以及如何在实际开发过程中集成加密机制来保护知识产权和敏感数据。了解这些细节对于开发人员设计安全的嵌入式系统至关重要。