交叉编译嵌入式设备测试脚本

一、安装交叉编译链

1.1 查看目标嵌入式设备架构:uanme -m
image

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查看路径
image
3)查看目标嵌入式设备链接库
image
4)现象说明链接库路径正确,将脚本传输至目标设备内执行
image
5)该报错是因为编译环境和执行环境中的glibc版本不一致,编辑环境版本过高,动态编译受环境影响,推荐静态编译

2.3 静态编译,静态编译不需要对比设备链接库
1)静态编译:arm-linux-gnueabihf-gcc -static test.c -o test_static
2)编译完成后,执行file test_arm查看路径
image
3)将脚本传输至目标设备内执行
image
4)成功执行,对比动态编译,静态编译生成的执行文件会较大,如上例中,动态编译文件仅7.7kb,而静态编译文件大小为543kb

posted @ 2025-07-23 11:03  默默的影  阅读(40)  评论(0)    收藏  举报