项目简介
本项目聚焦于nrf52840开发板,涵盖测试引导加载程序、密钥生成和镜像签名工具以及裸机测试应用程序。核心目的是为nRF52840的HW加密加速器生成Rust绑定,借助硬件加速的ECDSA算法测试固件镜像的认证或验证,同时评估CC310在nRF板上的优缺点。
项目的主要特性和功能
- Rust绑定生成:运用rust - bindgen为nRF52840的HW加密加速器(ARM CryptoCell 310)生成Rust绑定。
- 固件签名验证:采用硬件加速的ECDSA算法对固件镜像进行认证或验证。
- 性能评估:分析CC310在nRF板上处理速度、内存占用等方面的优缺点。
安装使用步骤
前提条件
已下载本项目源码文件,且具备以下环境: - 安装Rust和Python 3.x。 - 安装OpenSSL库。 - 安装pyocd或OpenOCD工具。
操作步骤
- 分别编译引导加载程序和固件项目,按引导加载程序
memory.x
文件指定的内存布局进行闪存。 - 将固件镜像闪存到设备,加载到内存偏移地址0x8000处。
- 重置设备,开发板运行引导加载程序,验证固件并跳转到地址0x8000,实现LED闪烁。
签名步骤
- 使用
signatures
文件夹中的Python脚本生成ECC密钥对(私钥和公钥)。 - 利用私钥和最终构建产物
XX - blinky.bin
(位于目标目录的examples
文件夹)生成固件签名。 - 使用pyocd将生成的签名闪存到开发板地址0x82d0,示例命令:
pyocd flash -t nrf52840 --base - address 0x82d0.\REAL_raw64byte_sig_gen_from_openssl.bin
。
下载地址
点击下载 【提取码: 4003】