LPC178x/177x微控制器的加密程序实现

需积分: 45 28 下载量 92 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"加密程序实现-word.origins.the.secret.histories.of.english.words.from.a.to.z" 在LPC178x/177x系列微控制器中,加密程序的实现是通过一种称为Code Read Protection (CRP) 的机制来确保代码的安全性。CRP允许开发者在芯片上设置不同级别的读保护,防止未经授权的访问或修改代码。表5.63展示了不同CRP状态与系统行为之间的关系,包括用户代码是否有效、JTAG接口是否启用、以及是否可以进入ISP (In-System Programming) 模式进行编程。 CRP有多个级别(CRP1、CRP2、CRP3),每个级别都与P2.10引脚在复位时的电平以及是否支持ISP模式更新部分Flash相关联。当使能了CRP并允许通过ISP访问芯片时,不支持或受限的ISP命令会被终止,返回错误代码CODE_READ_PROTECTION_ENABLED。 加密程序的实现过程是在启动代码(startup_LPC177x_8x.s)中完成的。启动代码首先检查是否定义了NO_CRP,如果没有,它会使用预定义的CRP_Key执行加密设置。默认情况下,CRP_Key被设置为0xFFFF FFFF,表示不加密。要启用加密,开发者需要用表5.63中定义的CRPx数据(例如CRP2, 0x8765 4321)替换这个值。一旦加密设置的程序被下载到芯片的Flash中,并经历一次系统复位,加密功能就会生效。 此外,该文档还提到了其他功能部件,如E2PROM存储器和外部存储器控制器(EMC)。E2PROM提供非易失性存储,用于存储数据,即使在电源断开后也能保持。它包括描述、特性、寄存器描述和操作等几个方面。而EMC则是用于控制外部RAM、闪存或其他存储设备的接口,支持各种类型的内存,包括静态RAM(SRAM)、动态RAM(DRAM)和闪存等。EMC提供了灵活的配置选项,以适应不同的外部存储需求。 总体来说,LPC178x/177x微控制器提供了全面的代码安全措施和扩展存储接口,适合于需要安全性和可扩展性的嵌入式应用。