E3 安全启动密钥烧录说明

一、参考文档

1、《SDToolBox_User_Guide.pdf》
2、《GenAutoBurnImg_User_Guide.pdf》
3、《SemiDrive_E3_MCU_eHSM_MCAL使用手册_Rev01.00》
4、《AppNote_E3_Boot_and_OTA_Rev01.06》
5、《COPY FUSE测试流程以及注意事项》
6、《密钥部署说明.pdf》

具体 GenAutoBurnlmg 和 CmdEfuseTool 工具命令的使用上述两份文档都有详细讲解。

二、操作步骤

1、使⽤ GenAutoBurnImg tool ⼯具 ⽣成img 文件

① 进入“SDToolBox_R2.23.1601\App\GenAutoBurnImg\Bin”,security_deployment.json 是默认提供的配置文件,我们可以新建一个 efuse_config.json,将我们需要烧录的 efuse 的配置从 security_deployment.json 复制粘贴到 efuse_config.json。

② 单击 GenAutoBurnImg,使用命令行将 efuse_config.json 文件打包成 efuse_config.img 文件。打包命令:GenAutoBurnImg.exe make_img --config .\efuse_config.json --output .\efuse_config.img



三、配置文件替换说明

1、相关配置文件说明
下表中的文件需要使用特定的 ssdk3.0-key(需要找原厂申请) 中的 dloader/flashloader 编译生成,通过修改 fuse_bin.c 中的 REAL_FUSE_NOT_SHADOW_REGISTER 0/1 控制将 SDToolBox_R2.23.1601\App\GenAutoBurnImg\Bin\security_deployment.img 下载到 efuse 寄存器还是 efuse 影子寄存器,从而来测试或使用内部 Key_id,下表中的文件见附件。

sf_efuse.bin

USB 烧录方式,将配置 efuse 的值烧录到 efuse 中

ospi_e3_176_ref_dloader_efuse.pac

sf_shadow.bin

USB 烧录方式,将配置 efuse 的值烧录到 effuse 影子寄存器中

ospi_e3_176_ref_dloader_shadow.pac

flashloader_efuse.out

JTAG 烧录方式,将配置 efuse 的值烧录到 efuse 中

ospi_e3_176_ref_flashloader_efuse.pac

flashloader_shadow.out

JTAG 烧录方式,将配置 efuse 的值烧录到 effuse 影子寄存器中

ospi_e3_176_ref_flashloader_shadow.pac




2、文件替换说明

替换 sf_shadow.bin 文件(USB 下载):

① 将 bin 复制到“\SSDK\E3_SSDK_PTG2.1.1_Source_Code\ssdk\devices\E3106\dloader” 文件下,替换原来的 e3_176_ref_norflash.bin 文件。

② 复制完后将 bin 文件改名成 e3_176_ref_norflash.bin。





复制 ospi_e3_176_ref_dloader_shadow.pac 文件(USB 下载):



① 将 pac 复制到“SSDK\E3_SSDK_PTG2.1.1_Source_Code\ssdk\boards\e3_176_ref\app_demo\flashloader” 文件下。



替换 flashloader_shadow.out 文件(Jtag 下载):

① 将 bin 复制到“\SSDK\E3_SSDK_PTG2.1.1_Source_Code\ssdk\devices\E3106\flashloader” 文件下,替换原来的 flashloader_norflash.bin 文件。

② 复制完后将 out 文件改名成 flashloader_norflash.out。




复制 ospi_e3_176_ref_flashloader_shadow.pac 文件(Jtag 下载):

① 将 pac 复制到“E3_SSDK_PTG2.1.1_Source_Code\ssdk\boards\e3_176_ref\app_demo\flashloader” 文件下。



四、使⽤CmdEfuseTool 链接pac包部署img


连接 dloader pac 部署 img(USB 下载):

① 单击 CmdEfuseTool,使用命令行将 将 pac 和 efuse_config.img 下载到 efuse 的影子寄存器中,命令:CmdEfuseTool.exe -pac D:\Work\2023\Project\SemiDrive\SSDK\E3_SSDK_PTG2.1.1_Source_Code\ssdk\boards\e3_176_ref\app_demo\flashloader\ospi_e3_176_ref_dloader_shadow.pac -w -bin D:\Work\APP\SDToolBox_R2.23.1601\SDToolBox_R2.23.1601\App\GenAutoBurnImg\Bin\efuse_config.img



连接 flashloader pac 部署 img(Jtag 下载):

① 单击 CmdEfuseTool,使用命令行将 将 pac 和 efuse_config.img 下载到 efuse 的影子寄存器中,命令:CmdEfuseTool.exe -pac D:\Work\2023\Project\SemiDrive\SSDK\E3_SSDK_PTG2.1.1_Source_Code\ssdk\boards\e3_176_ref\app_demo\flashloader\ospi_e3_176_ref_flashloader_shadow.pac -w -bin D:\Work\APP\SDToolBox_R2.23.1601\SDToolBox_R2.23.1601\App\GenAutoBurnImg\Bin\efuse_config.img



五、当前使用的是 Key_id 与 efuse 的对应

Key_id[1]FSRK
Key_id[2]SSRK
Key_id[3]DPK
Key_id[4]FUK
Key_id[5]FDK/PVK0 + FDK/PVK1
Key_id[6]GP_KEY0
Key_id[7]GP_KEY1
Key_id[8]GP_KEY2

这里我们打包 efuse_config.img 文件写的是 GP_KEY0,通过 IAR 的 Memory 可以看到 0xF0821140 对应就是 efuse 中 GP_KEY0 的地址。当前 Key_id[1] 还无法使用,用 CmdEfuseTool 烧录 key_id[8],0xF30F1400 这个地址的值就会变成 0x02。用 writel 函数写 key_id[8],0xF30F1400 这个地址的值就是 0x00,当 0xF30F1400 为 0x00 时 Key_id[8] 才能使用。

技术文档

类型标题档案
硬件Application note

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论