迅为IMX8MM开发板Yocto系统交叉编译C程序

发布时间:2022-1-6 14:23    发布者:就是塔塔
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
1.png
3 将安装路径设置保持默认,按下回车键,如果有 You are about to install the SDK to
"/opt/fsl-imx-xwayland/4.14-sumo". Proceed[Y/n]? 提示,则输入 Y 进行确认,然后输入密码,如下图所示:
2.png
4 安装完成后如下图所示:
3.png
5 安装完成后输入以下命令设置环境变量,并输入“aarch64-poky-linux-gcc -v”检查安装是否成功。出现如下图所示的信息代表安装成功。注意:每当重启虚拟机或者打开新的终端窗口都需要重新执行设置环境变量。
. /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
4.png
.2 编写 C 程序
作者在/home/topeet/test 目录下新建一个 helloworld.c 文件,此处 helloworld.c 文件仅为事例,大家可以选择要编译的程序,hello.c 的内容为
#include
int main(){
printf("hello world\n");
printf("hello world\n");
printf("hello world\n");
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
5.png
编译完生成 helloworld.c 可执行文件,如下图所示:
6.png
输入命令“file helloworld.c”,如下图所示:
7.png
4 运行 C 程序
我们将第三步编译好的 helloworld 可执行程序拷贝到开发板上,首先将 hello 可执行程序拷贝到 U 盘上,然后将 U 盘插到开发板的 usb 口,打印信息如下图所示:
8.png
新建挂载目录,如下图所示:
9.png
挂载 U 盘,如下图所示:
10.png
进入到 U 盘挂载目录,将 helloworld 复制到开发板的 bin 目录下,如下图所示:
11.png
赋予文件权限,如下图所示:
12.png
运行程序,如下图所示:
13.png
运行程序成功,打印了三次“hello world”。

本文地址:https://www.eechina.com/thread-782220-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表