灌篮少年 发表于 2024-11-27 20:36:37

RH850U2A8的OCDID设置(安全调试)

1.安全调试简介

安全调试,即在调试的时间需要暗码校验,一共有2个位置需要进行暗码校验

[*]在使用Renesas Flash Programmer硬刷软件的时间需要输入32字节的OCDID作为校验暗码
[*]GHS进行调试步伐的时间需要输入32字节的OCDID作为校验暗码
2.安全调试使用步调

2.1设置安全调试暗码

使用CAN工具,对DID:2E2E写入32字节的OCDID作为安全调试暗码 https://img-blog.csdnimg.cn/img_convert/45d5d1ed25809eebbc17d12a5ec72d7b.png
2.2 Renesas Flash Programmer硬刷

选择装备认证 https://img-blog.csdnimg.cn/img_convert/506e5d965758f46123e12c70c65e4c61.png
勾选ocdid认证
https://img-blog.csdnimg.cn/img_convert/34dd1245473e74f294ce715dae2d983a.png
开始刷写
https://img-blog.csdnimg.cn/img_convert/41223adfa3ccb8cd55ac00fab7151c3a.png
输入ocdid
https://img-blog.csdnimg.cn/img_convert/009d4b393e283101c51e2b04f28c3423.png
如果ocdid输入错误,会提示认证暗码匹配失败
https://img-blog.csdnimg.cn/img_convert/f4281715c943d92b706b7c3041ccd656.png
如果ocdid输入正确,会提示操作完成
https://img-blog.csdnimg.cn/img_convert/34b62709fa0045b5a3be821d3cf3975d.png
2.3 GHS调试

点击debug https://img-blog.csdnimg.cn/img_convert/bab968a1073640a6195a668465adbebc.png
点击播放,点击编辑下载设置
https://img-blog.csdnimg.cn/img_convert/393dd198b7a5131d69735b79a8d8d4a6.png
设置ocdid
https://img-blog.csdnimg.cn/img_convert/15372c2c44d37e421b4221b3cf828b2b.png
如果ocdid输入错误,会提示暗码校验错误
https://img-blog.csdnimg.cn/img_convert/a6d83f6e0016a9d8f94a85d9efcdc679.png
如果ocdid输入正确,会提示选择芯片核
https://img-blog.csdnimg.cn/img_convert/1b69433a186a99fca18bb21b362c7a75.png
3 安全调试的代码逻辑

3.1安全调试暗码的写入

使用DID:2E2E写入OCDID作为安全调试暗码,在DID:2E2E的回调内实验安全地区设置的函数PropertyAreaControl https://img-blog.csdnimg.cn/img_convert/fcd7730d577fc455f7b6cd55634d3742.png
3.2 控制安全设置地区来设置安全调试暗码

ocdid的存储位置位于安全设置地区,以是通过控制安全设置地区来设置ocdid。安全设置地区存在 front side(当前有效面)和back side(当前无效面),步伐运行在有效面,修改无效面的安全设置地区,然后将无效面更新到有效面,从而实现设置安全设置地区的ocdid的功能 3.2.1 得到FACI目标

要写安全设置地区,即写入DataFlash的一块地区,写入DataFlash需要操作FACI,操作FACI需要先知道是要操作哪一个FACI,使用R_RFD_PropertyAddressToFaciNumber获取当前的FACI号 https://img-blog.csdnimg.cn/img_convert/f6a276d8b0918590af5db2698d793730.png
https://img-blog.csdnimg.cn/img_convert/925672455ef9ccc93e4b1eb19d96dea4.png
https://img-blog.csdnimg.cn/img_convert/4ad45a57829647abffbb1f9921e0e74a.png
https://img-blog.csdnimg.cn/img_convert/de7cdde842151eb2330390f2e0a584fe.png
3.2.2 读取front side的数据

以下是安全设置地区的基地址 https://img-blog.csdnimg.cn/img_convert/c07bb72385769b6a72387ffbb7071926.png
安全设置地区可写入地区是在安全设置地区的基地址偏移0x200的地址开始的
https://img-blog.csdnimg.cn/img_convert/0b7b3311ba7f69611eb1657f682b140f.png
安全设置地区可写入地区一共分为三段
第一段:
https://img-blog.csdnimg.cn/img_convert/a87fb71196c75aa6a13d51c677e107c5.png
第二段:
https://img-blog.csdnimg.cn/img_convert/39844750f83669d00926ea6574211175.png
https://img-blog.csdnimg.cn/img_convert/164d8893e0f1f44a5de478333c8605a3.png
第三段:
https://img-blog.csdnimg.cn/img_convert/854b834eab790659f2b5b2ff1b88b4d9.png
根据以上的位置信息,读取front side的数据,即读取三段安全设置地区的数据
https://img-blog.csdnimg.cn/img_convert/2aac145a5838f55f75f1314d2cd07100.png
3.2.3 填入ocdid

将2E写入的ocdid按照合理的字节续填入 front side的缓存数组。包括u8的数组转化为u32的数组,u32的数组内里的数据进行大小端转换,u32的数组内里的数据进行倒序 https://img-blog.csdnimg.cn/img_convert/65cadfc781374125671e3e7b0855f5e6.png
https://img-blog.csdnimg.cn/img_convert/deeb8729b1fd335202ef1eef23a0f466.png
3.2.4 擦除back side的数据

擦除 back side的数据,在 除 back side的数据之前需要开启P/E mode https://img-blog.csdnimg.cn/img_convert/ac2dcd2db6b153ce7d1ee4b4ddf32a10.png
https://img-blog.csdnimg.cn/img_convert/1d76f1d567286e9ffe9af962d5d76566.png
https://img-blog.csdnimg.cn/img_convert/924fa8f758b0d7aca9a6f0e4d09b9a98.png
3.2.5 写入back side的数据

写入 back side的数据也同样是3段安全设置地区的3段地区 https://img-blog.csdnimg.cn/img_convert/9b22a665bf0b21b9e8afaf05faa9ec1c.png
https://img-blog.csdnimg.cn/img_convert/06208c5658622413d0f4f5300e88c5e3.png
https://img-blog.csdnimg.cn/img_convert/d2583fefce05d5274e77a7311952ce70.png
3.2.6 比力front side的数据和back side的数据

比力 front side的数据和back side的数据是否相同,来判断数据有没有正确写入back side https://img-blog.csdnimg.cn/img_convert/fe49dc00919f9922d45c6c3b91c90ce2.png
3.2.7 选择有效安全设置地区

在确定 back side的数据正确写入之后,选择要切换的安全设置地区,先缓存在i_pu4_Data数组内,后续写入SVA寄存器 https://img-blog.csdnimg.cn/img_convert/05c9542b4d13621cfbec4a4d9ed4d3c4.png
https://img-blog.csdnimg.cn/img_convert/99efe0337ba012a562d7249e1527c4f0.png
https://img-blog.csdnimg.cn/img_convert/09a932448e1e8acaa0164fb889358e21.png
3.2.8 擦除Switch Area

Switch Area是用来切换有效安全设置地区的,此处先擦除 https://img-blog.csdnimg.cn/img_convert/5b75338be85e9061a47de8474c2c3659.png
3.2.9 写入Switch Area

写入Switch Area来完成有效安全设置地区的切换 https://img-blog.csdnimg.cn/img_convert/627f02cb7e468a036ee3b8e629da5098.png
3.2.10 擦除Tag Area

Tag Area是用来切换FACI基地地址和FACI命令发布地区,此处先擦除 https://img-blog.csdnimg.cn/img_convert/582a93c35856a9b22fb34fd764e6b9c7.png
3.2.11 更新Tag Area

Tag Area地区更新完成后,成功切换了FACI基地地址和FACI命令发布地区,ocdid也成功写入有效区的安全设置地区,从而完成调试暗码注入。更新完Tag Area地区之后要切换至读取模式 https://img-blog.csdnimg.cn/img_convert/a5287d595512b552f48bd7dba73c1acb.png
https://img-blog.csdnimg.cn/img_convert/e80d54eb96a461153d6a1e6215d1251e.png
https://img-blog.csdnimg.cn/img_convert/59a0a780f8ae04b471bc27365a03b57f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: RH850U2A8的OCDID设置(安全调试)