嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 加密 LPC804 固件代码

加密 LPC804 固件代码

    LPC804 MCU具有CRP(代码读取保护)功能。该CRP位于地址0x0000 02FC,并且存在NO_ISP/CRP1/CRP2/CRP3这些不同的安全级别。

    如何将安全配置编程呢?仅可通过ISP模式么?

    也可以在项目工程,如下图 MCUXpresso IDE中配置, 使能 CRP:

    关于 CRP,推荐如下文档链接:

https://www.nxp.com.cn/docs/en/application-note/AN11581.zip 

https://www.nxp.com.cn/docs/en/application-note/AN10968.pdf 

    在 MCUXpresso 工程里面配置 CRP。

•定义设置适当的 CRP值

•使用自定义脚本配置链接器以将该常量放置在CRP内存地址(0x2FC),下面定义分配给其所需CRP级别的常量。attribute 指令确保链接器将常量(CRP_WORD)放置在内存的特殊“.crp”部分中,参考代码如下。

#define CRP_NO_CRP 0xFFFFFFFF

#define CRP_NO_ISP_MAGIC 0x4E697370

#define CRP1_MAGIC 0x12345678

#define CRP2_MAGIC 0x87654321

/**注意:当设置 CRP3,将会锁定器件的读写**/

/*** #define CRP3_MAGIC 0x43218765 ***/

#define CURRENT_CRP_SETTING CRP_NO_CRP

 __attribute__ ((section(".crp"))) const uint32_t CRP_WORD = CURRENT_CRP_SETTING;