交叉编译嵌入式设备测试脚本
一、安装交叉编译链
1.1 查看目标嵌入式设备架构:uanme -m

1.2 安装对应编译链:
1)ARM: gcc-arm-linux-gnueabihf(硬浮点)、gcc-arm-linux-gnueabi(软浮点)
2)AArch64: gcc-aarch64-linux-gnu
3)MIPS: gcc-mips-linux-gnu
4)RISC-V: gcc-riscv64-unknown-elf
1.3 安装指令:sudo apt-get install gcc-arm-linux-gnueabihf
1.4 查看安装结果:arm-linux-gnueabihf-gcc --version
二、编译测试脚本并执行
2.1 编写一个验证脚本test.c
#include <stdio.h> int main() { printf("test success!\n"); return 0; }
2.2 编译时存在动态编译和静态编译,动态编译时需保证当前链接库路径和目前设备一致
1)动态编译:arm-linux-gnueabihf-gcc test.c -o test_arm
2)编译完成后,执行file test_arm查看路径

3)查看目标嵌入式设备链接库

4)现象说明链接库路径正确,将脚本传输至目标设备内执行

5)该报错是因为编译环境和执行环境中的glibc版本不一致,编辑环境版本过高,动态编译受环境影响,推荐静态编译
2.3 静态编译,静态编译不需要对比设备链接库
1)静态编译:arm-linux-gnueabihf-gcc -static test.c -o test_static
2)编译完成后,执行file test_arm查看路径

3)将脚本传输至目标设备内执行

4)成功执行,对比动态编译,静态编译生成的执行文件会较大,如上例中,动态编译文件仅7.7kb,而静态编译文件大小为543kb

浙公网安备 33010602011771号