SemiDrive E3 Secure Debug 函数方式验证

一、硬件 & 软件环境概述

  1. 硬件平台:E3110 官方开发板(SD107_E3_REF_176_DEMO_A02_030);
  2. 软件环境:IAR Embedded Workbench for ARM 9.30.1;
  3. 软件平台:MCAL PTG3.0;
  4. 软件工具:23.1201;
  5. 调试器:JLINK。

图1 E3110 官方开发板

图1 E3110 官方开发板

二、概述

        产品为满足信息安全要求,通常用 Secure Debug 方式可对 JTAG 口进行保护,Secure Debug 验证方案参考《SemiDrive E3 Secure Debug 理论及验证》博文;通过烧写 eFuse 方式开启JTAG 口保护,由于 eFuse 的 OTP 特性(仅能烧写一次),如果在方案验证过程中,假设 eFuse 操作不当,可能导致硬件芯片不可逆转损伤,本文介绍的方式可避免上述问题;函数方式验证原理为:当系统上电完成后,通过软件的方式向 eFuse 影子寄存器中写入数据,模拟 Secure Debug 过程,写入数据断电丢失,故这种方式仅能模拟验证 Secure Debug 之 JTAG Challenge/Response、Fuse Disable 两个过程,不能验证 BootROM 阶段,本文仅介绍 JTAG Challenge/Response 过程,Fuse Disable 读者可自行验证;

本文方式仅是方案过程辅助验证,当将 eFuse 烧写内容、解锁使用的脚本验证通过后,将所需要的信息形成文件,并烧写进 eFuse,开启 JTAG 口保护。

三、方案验证

3.1 软件更改

       将下述代码下载到开发板,上电 log 如下图所示,使用自带的e3_sf.JLInK Script 脚本文件,此时通过 project -> attach the running target 方式是不能成功 Debug。

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

3.2 TAG 解锁

        将 E3_sf.JLinkScript 脚本按照下图所示的更改,并替换原来的脚本,通过下述方式 IAR 工程关联解锁脚本:option -> Debug -> Extra Option -> --jlink_script_file=$PROJ_DIR$\..\..\..\tools\JLINK\e3_sf.JLinkScript,重新上电,Debug 软件代码,程序运行正常并退出 Debug,连接 JLINK 下载器,点击 Project -> attach to running target 可以正常 Debug 软件。

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

SemiDrive E3 Secure Debug 函数方式验证

四、参考文档

《E3110_MCU_TRM_Rev00.13》
《E3110_MCU_Datasheet_Rev00.17》
《E3 secure debug V1.0》
《SDToolBox_User_Guide》

欢迎在博文下方留言评论,我们会及时回复您的问题。

如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com   
作者:娜就这么嘀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值