本帖最后由 sunyouyuan 于 2011-3-23 10:39 编辑
恩,长见识了!但是你是如何做到加密的?
米其林r 发表于 2011-3-23 08:23 
你看看启动代码中有以下代码段:
;// <h> Code Read Protection level (CRP)
;// <o> CRP_Level:
;// <0xFFFFFFFF=> Disabled
;// <0x12345678=> CRP1
;// <0x87654321=> CRP2
;// <0x43218765=> CRP3 (OTP 模式,你确认吗?)
;// <0x4E697370=> NO_ISP_MAGIC 不允许ISP
;// </h>
CRP_Level EQU 0xFFFFFFFF ;加密芯片
IF :LNOT::DEF:NO_CRP ;如果没有定义NO_CRP下面的代码将生效
AREA |.ARM.__at_0x02FC|, CODE, READONLY;加密地址在0x02FC处
CRP_Key DCD CRP_Level
ENDIF
以上的汇编代码就是在内部flash的0x2fc地址处加密,分四个等级 0xffffffff为不加密;CRP1为等级1加密,加密后,不能读内部flash,同时禁止SWD访问芯片,;CRP2为等级2加密,加密后,在等级1的基础上增加了不能擦除芯片flash扇区;CRP3为OTP模式,加密后,ISP、SWD都访问不了芯片,请慎重!;NO_ISP_MAGIC 加密只是防止ISP。
具体可以参考我上传的官方应用笔记!
|