项目简介
本项目是基于C语言的嵌入式硬件测试工具,为多种单板计算机(SBC)在裸机环境下提供GPIO(通用输入输出)测试功能。支持Raspberry Pi 4B、Rock Pi 4B plus、Renegade ROC-RK3328-CC和ASUS TinkerBoard等硬件平台,可测试UART、LED、按钮、PWM、I2C LCD、SPI OLED、DDR、MMC和DMAC等硬件模块功能。
项目的主要特性和功能
- 多平台支持:涵盖Raspberry Pi 4B、Rock Pi 4B plus、Renegade ROC-RK3328-CC和ASUS TinkerBoard等多种单板计算机。
- 丰富的硬件测试:提供11种硬件测试,包含UART、LED等多个模块。
- 硬件初始化:启动时自动初始化硬件模块,确保测试环境正确配置。
- 用户交互:通过UART接口与用户交互,可选择不同测试项并查看结果。
- 测试结果输出:测试结果通过UART输出,便于观察和调试。
安装使用步骤
1. 安装交叉编译工具链
安装必要的编译工具和交叉编译器:
bash
sudo apt install build-essential git wget curl flex bison u-boot-tools gcc-arm-none-eabi
wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
sudo tar xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C /usr/local/
2. 复制项目代码
略
3. 编译和运行测试
根据不同的硬件平台,进入相应的目录并执行以下步骤:
Raspberry Pi 4B
bash
cd ~/build-baremetal-gpio/rpi4b
\rm -rf firmware *.gz sdcard.img boot.img
tar -xzf 1eb8921ae7158249894f89e8bb6c4bfb04ec7377.tar.gz
mv firmware-1eb8921ae7158249894f89e8bb6c4bfb04ec7377 firmware
make clean
make test
./mksdcardimg.sh
sudo dd if=./sdcard.img of=/dev/sda bs=4096 conv=notrunc,fsync
Rock Pi 4B plus
bash
cd ~/build-baremetal-gpio/radxa
\rm -rf rkbin
make clean
make test
./mksdcardimg.sh
sudo dd if=./sdcard.img of=/dev/sda bs=4096 conv=notrunc,fsync
Renegade ROC-RK3328-CC
bash
cd ~/build-baremetal-gpio/rk3328
\rm -rf rkbin rkbin1
mv rkbin rkbin1
make clean
make test
./mksdcardimg.sh
sudo dd if=./sdcard.img of=/dev/sda bs=4096 conv=notrunc,fsync
ASUS TinkerBoard
bash
cd ~/build-baremetal-gpio/tinker
make clean
make ddrboot
make test
./mksdcardimg.sh
sudo dd if=./sdcard.img of=/dev/sda bs=4096 conv=notrunc,fsync
4. 连接硬件并运行测试
将SD卡插入目标单板计算机,并通过串口连接PC。使用以下命令启动测试:
bash
sudo screen /dev/ttyUSB0 115200
根据提示选择测试项并观察测试结果。
5. 查看测试结果
测试完成后,测试结果将输出到~/outputfile.txt
文件中,用户可以通过以下命令查看:
bash
vi ~/outputfile.txt
注意事项
- 本项目代码基于特定硬件平台,使用时需根据具体硬件进行配置和调整。
- 测试过程中请确保硬件连接正确,避免损坏设备。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】