查看: 989|回复: 0

[经验] 飞凌嵌入式ElfBoard ELF 1板卡-开发环境搭建之交叉编译

[复制链接]

该用户从未签到

发表于 2024-9-29 09:38:09 | 显示全部楼层 |阅读模式
分享到:
什么是交叉编译
交叉编译是指在一个平台上生成可以在另一个平台上执行的代码。由于不同的体系结构有不同的指令系统。因此,不同的cpu需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同的cpu的对应的可执行的二进制文件。
交叉编译链安装
建立交叉编译环境又可分为安装SDK(其中包含了交叉编译工具链)和设置交叉编译环境变量。
SDK路径:EF1开发板资料包/06-常用工具/06-1 编译工具安装脚本/fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh
将上述资料拷贝到ubuntu系统的/home/elf目录下。
5-1.png
并在该目录下执行:
elf@ubuntu:~$ sudo ./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-t\oolchain-4.1.15-2.0.0.sh
命令行会提示:Enter target directory for SDK (default: /opt/fsl-imx-x11/4.1.15-2.0.0)
连续两次按下回车键,程序将会自动安装交叉编译工具链(交叉编译工具链安装一次即可,更换终端或重启系统不必重新安装)。安装过程中一定要保证网络畅通,Ubuntu系统可以访问外网。
5-2.png
5-3.png
等待SDK安装,如下图通过打印信息可以看出安装成功。
5-4.png
交叉编译链使用
设置环境变量
注意:
设置环境变量之后,只要不更换终端,下次再编译就不需要重新设置。
如果重新打开新终端或者切换账户,编译前需要重新设置环境变量。
设置编译环境主要是指定目标架构和交叉编译工具链,以及编译过程中使用到的一些库的路径等,使用如下命令配置(.后边有空格):
. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
5-5.png
然后使用命令arm-poky-linux-gnueabi-gcc -v判断是否设置成功(注:-v前边有空格)。正常情况下会打印出gcc的版本信息:gcc version 5.3.0 (GCC),
5-6.png
编译helloworld
在讲“GCC编译器”章节,使用ubuntu的GCC编译器编译生成了hello_ubuntu程序,在此章节,将使用安装的开发板的交叉编译器编译同一个hello.c文件,生成hello_board程序,使用file文件可以看出两个交叉编译器的不同。
注意:执行环境变量后,交叉编译工具重命名为CC,在编译程序时需要用$CC。
5-7.png

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-18 23:59 , Processed in 0.116402 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.