LPC804 MCU具有CRP(代码读取保护)功能。
该CRP位于地址0x0000 02FC,并且存在NO_ISP/CRP1/CRP2/CRP3这些不同的安全级别。
如何将安全配置编程呢?仅可通过ISP模式么?
也可以在项目工程,如下图 MCUXpresso IDE中配置, 使能 CRP:
在 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;
相关文章









