迅为IMX8MM开发板Yocto系统交叉编译C程序
2025-04-14 来源:cnblogs
1 设置交叉编译工具
1 编译环境是开发的基础,首先我们来安装编译环境,在 9.1 章节我们已经将fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-4.14-sumo.sh 脚本拷贝到 Ubuntu 的
/home/topeet/linux 目录下(linux 文件夹是作者新建的目录)
2 然后输入以下命令:
./fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-4.14-sumo.sh![]()
3 将安装路径设置保持默认,按下回车键,如果有 You are about to install the SDK to
'/opt/fsl-imx-xwayland/4.14-sumo'. Proceed[Y/n]? 提示,则输入 Y 进行确认,然后输入密码,如下图所示:
4 安装完成后如下图所示:
5 安装完成后输入以下命令设置环境变量,并输入“aarch64-poky-linux-gcc -v”检查安装是否成功。出现如下图所示的信息代表安装成功。注意:每当重启虚拟机或者打开新的终端窗口都需要重新执行设置环境变量。
. /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
.2 编写 C 程序
作者在/home/topeet/test 目录下新建一个 helloworld.c 文件,此处 helloworld.c 文件仅为事例,大家可以选择要编译的程序,hello.c 的内容为
#include
int main(){
printf('hello worldn');
printf('hello worldn');
printf('hello worldn');
return 0;
}
编写好,保存文件。
3 交叉编译 C 程序
在第一步设置交叉编译工具的窗口编译 C 程序,注意!第一步设置交叉编译工具是设置临时环境变量,只在当前设置的窗口有效,如果第一步设置交叉编译工具的窗口关闭了,请按照第一步再次打开并设置环境变量。
编译 helloworld.c 程序如下图所示:
aarch64-poky-linux-gcc helloworld.c -o helloworld
--sysroot=/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux
编译完生成 helloworld.c 可执行文件,如下图所示:
输入命令“file helloworld.c”,如下图所示:
4 运行 C 程序
我们将第三步编译好的 helloworld 可执行程序拷贝到开发板上,首先将 hello 可执行程序拷贝到 U 盘上,然后将 U 盘插到开发板的 usb 口,打印信息如下图所示:
新建挂载目录,如下图所示:
挂载 U 盘,如下图所示:
进入到 U 盘挂载目录,将 helloworld 复制到开发板的 bin 目录下,如下图所示:
赋予文件权限,如下图所示:
运行程序,如下图所示:
运行程序成功,打印了三次“hello world”。
- 迅为RK系列开发板SDK内核版本由5.10升级至6.1 LTS
- RK3588开发板Android系统烧写实践与关键步骤
- 迅为RK3588开发环境搭建三步曲:从零到一轻松入门
- 基于迅为iTOP-3568开发板的Linux驱动开发实战:menuconfig图形化配置实验
- 迅为工业RK3568 itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
- 迅为RK3588开发环境三步搭建指南:从零到一轻松上手
- 迅为i.MX6ULL开发板启动方式和镜像文件格式
- 迅为I.MX6ULL开发板镜像烧写
- 使用迅为IMX6ULL开发板第一个汇编实验(一)
- mplayer移植-迅为IMX6Q开发板
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




