上位机操作流程
上位机界面
上位机通过UART串口连接设备,可以将编译应用程序生成的固件配置密钥、验签和Secure Boot等配置后进行一键打包并生成eFuse Program配置文件,同时支持自动生成打包配置文件,在DFU界面将打包后的可执行二进制文件和eFuse Program配置文件烧写到设备。上位机还支持自动打包与下载、保存默认配置参数、恢复打包参数、配置Secure Boot、配置Flash打包头等功能。
界面各区域功能介绍:
标记1:菜单栏,可选择生成打包配置文件、Download配置文件以及查看上位机版本信息等功能。
标记2:连接 Uart 串口,配置串口的各个参数。
标记3:DFU 以及 eFuse Program。
标记4:模式选择、固件加密模式选择、签名算法选择配置区域。
标记5:加载固件、设置打包固件存放路径以及配置固件版本、安全版本、启动地址。
标记6:frtdec xip 模式参数配置。
标记7:加载或随机生成对称加密Key、IV、DEK以及配置密钥存放。
标记8:加载非对称公钥或私钥或直接生成随机密钥对。
标记9:输出上位机操作日志、DFU交互信息等。
固件打包流程
打包固件并生成eFuse Program配置文件或生成自动打包及下载的配置文件
其流程包括:
编译应用程序获取原始可执行二进制文件(固件/镜像);
加载固件及设置打包固件存放路径;
加载或随机生成对称加密key、iv、DEK,以及配置密钥key存放的eFuse group;
勾选和设置签名算法,并加载或随机生成签名所需的密钥对;
设置固件加密模式:可选模式包括 AES_128_CBC、AES_256_CBC、SM4_CBC,以及 FRTDEC_XIP 的 AES_128_CTR 和 SM4_CTR;
配置固件版本、安全版本、固件启动运行地址(支持64位);
打包固件下载存储介质选择;
若为frtdec xip模式,还需勾选该模式,并配置frtdec头信息;
勾选eFuse Write File Configuration页面的 Secure Boot 使能安全启动,单击“package”按钮一键打包,生成打包后的固件及eFuse program配置文件; 通过串口DFU的eFuse write模式,加载该eFuse program配置文件可完成对称密钥及不对称公钥的eFuse写入,并使能安全启动。
生成自动打包、下载的配置文件,单击菜单栏File->Generate Package Configuration File并选择文件存放路径。
注意:
加载或随机生成对称加密DEK前需提前选好加密模式,否则可能模式与DEK长度不匹配;
以上操作流程除流程步骤(1)和(9或10)分别为第一步后最后一步外,其他无先后顺序。
编译程序生成可执行二进制文件
非frtdec xip模式,选择ilm模式编译应用程序并生成可执行二进制文件,frtdec xip模式则用flashxip模式编译生成可执行二进制文件。
加载固件文件
加载固件等待打包、设置打包固件存放路径
标记1的“Load”,单击该按键加载固件;
标记2的“Assign”,单击该按键选择打包后固件的存放路径,可设置文件名;
标记3为操作的提示信息

生成eFuse配置文件
加载或随机生成对称加密key、iv、DEK,以及配置密钥存放的eFuse group
标记1的“Load”和“Generate”按键,单击可加载或生成对称加密key;
标记2的“Load”和“Generate”按键,单击可加载或生成对称加密iv;
标记3的“Load”和“Generate”按键,单击可加载或生成对称加密DEK;
标记4的下拉框可选择eFuse group,当标记5处下拉选择“SM”(表示系统厂商host端)时,可选择group3~5,选择“CM”(表示芯片厂商hsm端)时,可选择group0
存放key、iv和DEK的文本是以hex字符串格式来存放的:

同时也可以直接将hex字符串格式的key、iv和DEK直接填入到对应的文本框。

签名算法和密钥对配置
勾选和设置签名算法,并加载或随机生成签名所需的密钥对
标记1勾选“FirmwareSign”(勾选后,安全启动时会进行验签),以及下拉选择签名验签算法,包括 ED25519、SM2、RSA_2048bits 和 RSA_4096bits;
标记2单击对应的“Load”按键加载公钥和私钥,对于 SM2 算法,需先加载公钥,再加载私钥,ED25519 算法无先后顺序,公钥和私钥文件格式可以是 txt,也可以是 pem 格式或 der 格式。而 RSA_2048bits 和 RSA_4096bits 选择 pem 格式或 der 模式(需选择*.pem 或*.der)只需加载私钥,而 txt 格式需先加载公钥(模数n)、再加载私钥(私钥指数d);
标记3的“Generate”按键,单击可随机生成公私钥对,而标记4可下拉选择生成的格式,txt、pem、der 格式。
签名算法所需公私钥加载,2 和 3 选其一即可。


配置固件加密模式
不勾选“Frtdec XIP Mode”,支持的加密模式包括:AES_128_CBC、AES_256_CBC和SM4_CBC;勾选“Frtdec XIP Mode”,支持的加密模式包括:AES_128_CTR和SM4_CTR。
配置固件版本、安全版本和启动地址
Firmware Version设置固件版本;Secure Version设置安全版本,用于防回滚;Enter Address设置启动地址(支持64位),需与编译模式链接脚本的起始地址保持一致。
配置打包固件下载存储介质
可忽略此处配置,已默认配置为Flashxip,无需选择存储介质
frtdec xip模式参数配置
标记1勾选“Frtdec XIP Mode”,必须勾选,Download to 默认为Flashxip(此处无需选择);
标记2下拉选择Frtdec支持的在线解密模式,支持SM4_CTR和AES_128_CTR;
标记3下拉选择Ftrdec在线解密用到的region(0~3);
标记4单击“Load”加载或”Generate”生成Frtdec密钥;
标记5配置Frtdec 参数,包括Nonce0、Nonce1、Start Address和End Address;
标记6下拉选择Region(0~3),并单击“Configure”完成所选Region的参数配置(标记4加载的密钥以及标记5配置的参数)。

配置Secure Boot并打包
勾选Secure Boot使能安全启动并一键打包
Second Image勾选使能备份镜像,Address Offset 设置备份镜像的编译地址(此处配置的值是偏移地址)
Lock Bootloader 勾选用于锁定 bootloader
Life Cycle 批量生产模式勾选
Plaint Check 勾选后,安全启动会校验解密的固件明文

单击”Package”按钮完成打包,除了生成打包好的镜像文件,还会生成一份eFuse program 配置文件,用于DFU eFuse program 烧写对称密钥、不对称公钥和使能安全启动等启动配置(对称密钥位置由eFuse group 指定,不对称公钥默认使用 public key0)。单击“Clear”可以清除配置数据。
自动生成打包配置文件
生成自动打包及下载的配置文件
以上1-7步配置好后,单击菜单栏File->Generate Package Configuration File 生成配置文件。






