项目简介
本项目是用于嵌入式系统的固件加载与测试工具集,包含 load.c
和 test.c
两个工具。该工具集针对特定硬件平台(如 ARISC)开发,借助 C 语言实现,能在开发和测试阶段助力开发者保障固件的正确性与性能。
项目的主要特性和功能
- 固件加载工具 (
load.c
)- 可将固件文件加载到特定物理内存,供 ARISC 执行。
- 支持命令行参数,方便用户指定不同操作。
- 利用
/dev/mem
设备文件访问物理内存,映射 CPU 配置寄存器和 SRAM 区域。 - 检查 ARISC 是否处于复位状态,加载完成后取消复位。
- 固件测试工具 (
test.c
)- 模拟 SCPI 协议对固件功能正确性进行测试。
- 支持多种测试项目,涵盖固件启动、基本命令、时钟、CSS 电源、DVFS、PSU、传感器和系统电源等。
- 验证固件对 SCPI 命令的响应,确保功能符合预期。
安装使用步骤
环境准备
- 确保系统安装了适用于嵌入式开发的交叉编译工具链(如
or1k
架构的 GCC 9.1.0 或更高版本)。 - 确保系统有访问物理内存和硬件寄存器的权限(通常需 root 权限)。
编译项目
- 打开终端,进入项目根目录。
- 运行
make
命令编译项目。编译完成后,生成的可执行文件位于build/scp/scp.bin
。
使用固件加载工具 (load.c
)
运行 ./load <固件文件路径>
命令加载固件,工具会根据命令行参数将固件加载到指定内存区域。
使用固件测试工具 (test.c
)
运行 ./test
命令测试固件,工具会自动执行一系列 SCPI 命令测试并输出结果。
调试与验证
若测试中发现问题,可添加 V=1
参数进行详细调试,运行 make V=1
命令,详细调试信息有助于定位并修复问题。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】