- 问题提出背景
生产或者开发环节中未按正常流程操作导致产生了无法再次烧录,功能也不正常的废板子。
而现在的应用了安全核的硬件成本很高,急需解决这些问题。
2.思考:为什么有这个问题出现?
接触过hsm核的程序员应该知道。安全核的启动由安全配置字进行控制,可以激活或者关闭安全核。同时还会配置安全核启动的中断向量地址,安全核使用的C_CODE区域起始地址和结束地址,使用的D-Flash起始地址和结束地址。
安全相关配置字通过烧录工具进行烧写打开了安全核之后,以及将使用的安全区域设置生效后,安全核的关闭只能由hsm自己完成,之前设置的C-CODE和D-Flash区域也只能安全核自己去访问。烧录工具无法再操作,或者理解为锁住了。
安全固件实际上是第三方基于hsm核设计的代码,实现了很多了的加解密算法,以及证书解析,链校验;密钥加载存储,hsm Dflash存储读取,Hash计算,安全日志存储等功能,并释放出API接口给Host核调用。调用时只是互相传递标志状态,主核告诉hsm要做什么事,hsm固件去完成并返回状态做好了没,做到哪步了等(个人理解哈)。
所以主核的代码和hsm打交道不是hsm启动了就万事大吉了,还一定需要固件代码参与,只打开安全核但是没有烧录固件安全核是会跑飞的,可以这么理解。
所以问题出在这里,忘了首先烧录固件,而是先打开了安全配置字开了核和保护,再想烧固件不给烧了。
但往往此时我们没有第三方的固件对应的源码或者调试安全核的方案,也是束手无策。一般第三方提供固件的厂家,是不会提供可以把加密保护的ccode区域解锁掉,能再次烧录漏掉的固件的方案的&#x