RH850U2A8的OCDID设置(安全调试)

打印 上一主题 下一主题

主题 828|帖子 828|积分 2484

1.安全调试简介

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

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

2.1设置安全调试暗码

使用CAN工具,对DID:2E2E写入32字节的OCDID作为安全调试暗码

2.2 Renesas Flash Programmer硬刷

选择装备认证

勾选ocdid认证

开始刷写

输入ocdid

如果ocdid输入错误,会提示认证暗码匹配失败

如果ocdid输入正确,会提示操作完成

2.3 GHS调试

点击debug

点击播放,点击编辑下载设置

设置ocdid

如果ocdid输入错误,会提示暗码校验错误

如果ocdid输入正确,会提示选择芯片核

3 安全调试的代码逻辑

3.1安全调试暗码的写入

使用DID:2E2E写入OCDID作为安全调试暗码,在DID:2E2E的回调内实验安全地区设置的函数PropertyAreaControl

3.2 控制安全设置地区来设置安全调试暗码

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

要写安全设置地区,即写入DataFlash的一块地区,写入DataFlash需要操作FACI,操作FACI需要先知道是要操作哪一个FACI,使用R_RFD_PropertyAddressToFaciNumber获取当前的FACI号




3.2.2 读取front side的数据

以下是安全设置地区的基地址

安全设置地区可写入地区是在安全设置地区的基地址偏移0x200的地址开始的

安全设置地区可写入地区一共分为三段
第一段:

第二段:


第三段:

根据以上的位置信息,读取front side的数据,即读取三段安全设置地区的数据

3.2.3 填入ocdid

将2E写入的ocdid按照合理的字节续填入 front side的缓存数组。包括u8的数组转化为u32的数组,u32的数组内里的数据进行大小端转换,u32的数组内里的数据进行倒序


3.2.4 擦除back side的数据

擦除 back side的数据,在 除 back side的数据之前需要开启P/E mode



3.2.5 写入back side的数据

写入 back side的数据也同样是3段安全设置地区的3段地区



3.2.6 比力front side的数据和back side的数据

比力 front side的数据和back side的数据是否相同,来判断数据有没有正确写入back side

3.2.7 选择有效安全设置地区

在确定 back side的数据正确写入之后,选择要切换的安全设置地区,先缓存在i_pu4_Data数组内,后续写入SVA寄存器



3.2.8 擦除Switch Area

Switch Area是用来切换有效安全设置地区的,此处先擦除

3.2.9 写入Switch Area

写入Switch Area来完成有效安全设置地区的切换

3.2.10 擦除Tag Area

Tag Area是用来切换FACI基地地址和FACI命令发布地区,此处先擦除

3.2.11 更新Tag Area

Tag Area地区更新完成后,成功切换了FACI基地地址和FACI命令发布地区,ocdid也成功写入有效区的安全设置地区,从而完成调试暗码注入。更新完Tag Area地区之后要切换至读取模式




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表