关于21562 OTP 加密出现几个莫名其妙的问题,已解决。

整体流程

1.修改app.ldf配置文件(不改的话写入的密钥通过adi_rom_otp_get读取不出来,具体问题不清楚)

___ldf_dmcachesize = 0xffffffff;
___ldf_pmcachesize = 0xffffffff;
___ldf_icachesize = 0xffffffff;

2.加密过程,分别写入公钥、私钥、仿真器密码,然后通过adi_rom_otp_get读取出来比对,和写入的密钥是否一致进行验证,最后使用adi_rom_otp_lock()函数锁定处理器,锁定处理器后,要烧写加密的程序才可运行.

注:使用adi_rom_otp_lock前一定要确保自己写入的密钥是正确的,否则芯片会变砖.

因为操作的是OTP,密钥和仿真器密码只能写入一次.公钥和私钥是成对使用的不可以随意修改.

bool LOCK_program(void) {
	if(!program_public_key0()) 		  { printf("failed to program public_key0\n"); return false; }//写入公钥 
	if(!program_pvt_128key0()) 	  	  { printf("failed to program encryption key\n"); return false; }//写入私钥
	if(!program_emu_key())      	  { printf("failed to program the emu key\n"); return false; } //写入仿真器钥匙
	if(!lock_part())                  { printf("failed to lock the part\n"); return false; }//次函数调用后 DSP将会被锁死
	r
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值