littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于TRAVEO T2G MCU的安全启动系统

项目简介

本项目是一个代码示例,展示了如何将固件配置为安全启动。采用TRAVEO™ T2G CYT4BF系列微控制器,对CM0+和CM7_0/1固件进行数字签名验证,保障系统安全性。项目实现了BootROM、Flash Boot和加密模块的功能,还提供详细的硬件设置和代码实现步骤。

项目的主要特性和功能

  1. 安全启动验证:通过BootROM验证Flash Boot,Flash Boot验证CM0+固件,CM0+固件验证CM7_0/1固件,确保固件完整且安全。
  2. 多种加密算法支持:支持AES、CHACHA20、TDES、SHA、CRC等多种加密算法,加密功能强大。
  3. 用户配置灵活:通过TOC2可配置下一个启动应用的地址、格式、调试监听窗口、启动时间和功耗等参数。
  4. 嵌入式Bootloader:支持CAN和LIN Bootloader,可替代SWD或JTAG进行工厂编程。

安装使用步骤

硬件准备

使用TRAVEO™ T2G评估套件(KIT_T2G-B-H_EVK或KIT_T2G-B-H_LITE),通过KitProg3 USB连接器用USB电缆连接到PC,无需更改板载默认设置。

软件准备

若没有终端模拟器,需安装一个,本项目文档使用Tera Term

代码配置与编译

  1. TOC2配置:在CM0+固件的main.c中,将TOC2作为常量表SFLASH_TOC2准备好,放置在SFLASH的指定地址(0x17007C00)。
  2. 非对称密钥准备:使用utils子文件夹中的rsa_keygen.bat批处理脚本生成RSA - 2048公钥和私钥,该脚本依赖OpenSSL(版本高于1.0.2)和Python 3.x.x。
  3. 公钥放置:将公钥作为常量表PUBLIC_KEY放置在CM0+固件的main.c中,可从keys_generated文件夹中的rsa_to_c_generated.txt文件复制。
  4. 数字签名授予:项目构建完成后,在每个项目的顶级文件夹中执行以下命令,将数字签名嵌入到生成的elf文件中: sh ../utils/cymcuelftool.exe --sign build/<kit_name>/<config_name>/<proj_name>.elf SHA256 --encrypt RSASSA - PKCS --key ../utils/keys_generated/rsa_private.txt 此命令已在每个核心的Makefile的POSTBUILD中注册。

设备编程与运行

  1. 打开终端程序,选择KitProg3 COM端口,设置串口参数为8N1和115200波特率。
  2. 选择项目资源管理器中的CE项目,在“快速面板”中向下滚动,点击“[项目名称] Program (KitProg3_MiniProg4)”对板载进行编程。
  3. 编程完成后,CE自动启动,确认UART终端上显示的消息。

调试

在IDE的“快速面板”中使用“[项目名称] Debug (KitProg3_MiniProg4)”配置进行代码调试。注意在CM7 CPU上调试时的代码执行问题,可参考KBA231071获取解决方案。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】