一、硬件 & 软件环境概述
- 硬件平台:E3110 开发板;
- 软件环境:IAR Embedded Workbench for ARM 9.30.1;
- 软件平台:MCAL PTG3.0;
- 软件工具:23.1201;
- 调试器:JLINK、LA3503。
- Efuse内容:公钥Hash、DID、DebugKey、开启 SecureDebug。
图1 E3110 官方开发板
二、概述
当设备烧写相关 Secure Debug Efuse 后,再次上电系统启动安全调试,直接通过普通脚本,这时已经不能进行调试,需要通过安全调试脚本及正确的安全调试密码,进行安全验证之后,才能进行设备调试,这样可以有效地保护系统,防止非法手段通过调试口对系统进行攻击,从而使系统更安全。
本文假设 E3110 开发板已正常烧写 Efuse,断电重启,拨码开关拨到 0000,板卡可以正常启动,如下图;Efuse 烧写方式、烧写内容参考之前的博文《SemiDrive E3 Secure Debug 理论及验证》。
三、JTAG Secure Debug 解锁
为了更好的说明解锁成功,本文先使用官方例程自带的例程进行 attach 功能,是否能正常实现 attach 功能呢?
- 打开官方例程 0.0\MCAL_release\iar\iar_v850\E3_ref_176_E3110,工程右击 Options,确认下图中的加载脚本;
- 将 E3110 开发板的拨码开关拨到 0000,断电重启,确定板卡程序正常运行,点击 Project -> Attach to Running Target,IAR 显示一直处于连接状态,且硬件状态是重复复位,关闭硬件电源后,提示如下图,提示 JTAG 链接失败;
- 点击停止Debug如下图
- 使用E3 secure debug V1.0.pdf 脚本2,进行 attach 功能呢,可以正常的点击停止、全速运行按键,证明解锁成功。
四、LA3503 Secure Debug 解锁
- 打开Trace32 Start 软件;
- 设置CPU类型
- 加载 attach 指令
- 加载完 attach 指令后,直接点击enter键,系统显示 Running,界面上可以打印出板卡芯片的 UID,证明 LA3503 解锁成功;
- 加载elf文件(需要与板卡中烧录的bin文件对应,否则会出现断点停留位置异常)
- 点击View -> List Source,代码调试区如下,可正常的调试,证明解锁完成:
五、参考文档
《E3110_MCU_TRM_Rev00.13》
《E3110_MCU_Datasheet_Rev00.17》
《E3 secure debug V1.0》
《SDToolBox_User_Guide》
欢迎点击此处在原博文下方留言评论,我们会及时回复您的问题。
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:娜就这么嘀