01.IMX6ULL_交叉编译hello程序
交叉编译
在我们当前系统环境下编译程序,编译的程序也只在我们当前的系统环境下运行,这就属于本地编译,比如我们在X86_64平台上编译可执行文件,程序在x86_64能成功运行,这个编译就叫做本地编译。
交叉编译可以理解为在当前平台编译了一个属于另一个平台的程序,当前的平台不能运行该程序。
前期准备
ubuntu PC 开发板三者能相互ping通
我们用source insight编写一个hello.c文件
#include <stdio.h>/* 执行命令: ./hello lzl * argc = 2* argv[0] = ./hello* argv[1] = lzl*/int main(int argc, char **argv)
{if (argc >= 2)printf("Hello, %s!\n", argv[1]);elseprintf("Hello, world!\n");return 0;
}
通过FileZilla将我们的hello.c文件复制到ubuntu的路径里
然后gcc -o hello hello.c 一个可执行文件。
./hello lzl运行这可执行文件。
运行结果
通过file hello 命令查看hello这个可执行文件的运行平台。
通过配置交叉工具链来在来编译hello.c
交叉编译工具链用来在Ubuntu主机上编译应用程序,而这些应用程序是在ARM等其他平台上运行。
设置交叉编译工具主要是设置PATH, ARCH和CROSS_COMPILE三个环境变量,下面介绍具体设置方法。
在本文档中,源码、交叉编译工具链都是存放于/home/book目录下;如果你的目录不一样,请自行修改本节所讲述的命令。
vim ~/.bashrc
在行尾添加下面几行.
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
设置完毕后,要执行 source ~/.bashrc 命令使其生效。
source ~/.bashrc
现在开始编译生成ARM平台的可执行文件
arm-buildroot-linux-gnueabihf-gcc -o hello hello.c
file hello
通过挂载命令mount将ubuntu里的目录挂在你开发板的目录
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
再将我hello可执行文件复制到/home/book/nfs_rootfs 目录
最后在开发板上可以直接运行
01.IMX6ULL_交叉编译hello程序相关推荐
- (01)System Verilog 程序数据采集
(01)System Verilog 程序数据采集 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 程序数据采集 5)结语 1.2 F ...
- linux使用cmake交叉编译arm32程序
linux使用cmake交叉编译arm32程序 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 linux使用cmake交叉 ...
- 在windows上,用cmake 交叉编译arm程序
在windows上,用cmake 交叉编译arm程序.生成器用nijia(或用MinGW,此时, cmake执行时,指定生成器为 -G "MinGW Makefiles", 编译用 ...
- 01 【微信小程序起步】
01 [微信小程序起步] 1.小程序简介 小程序与普通网页开发的区别 运行环境不同 网页运行在浏览器中 小程序运行在微信环境中 API不同 由于运行环境不同,所以小程序中无法调用DOM和BOM的API ...
- linux:交叉编译后程序的下载方式
1.连接好开发板串口线,网口线,电源线: 2.在PC机linux中启动minicom(串口通讯工具): 3.启动开发板电源,开发板加载linux,加载信息通过串口打印到minicom上,如minico ...
- arm-linux 交叉编译后程序,ARM交叉编译下,应用程序实践
ARM交叉编译下,应用程序实践 一.首先准备一个小程序 hello.c 代码如下: #include int main(void) { printf("hello,world\n" ...
- linux虚拟机可以交叉编译吗,在Linux上交叉编译windows程序
最近几天搞 wxWidgets,由于要同时编译应用程序的 Windows 版本,又懒得在虚拟机里面编译程序,于是想到用交叉编译的方式在 Linux 上编译好 Windows 版本的程序,再用 Wine ...
- ming window 交叉编译_Golang在windows下交叉编译linux程序
1.下载相关程序. Golang下载:http://www.golangtc.com/download Git下载:http://git-scm.com/download/ TDM-GCC下载:htt ...
- 使用Rust交叉编译arm程序
作者: 刘天明 邮箱: bellskinling@gmail.com 博客链接: http://blog.csdn.net/bellskinling 转载请注明出处. 接上文, 有了支持arm版本的R ...
最新文章
- 50颗传感器、超1亿像素,算力700TOPS,这个自动驾驶平台有点儿炫!
- Hinge Loss
- 小米宣布加入鸿蒙,中兴和OPPO抵制后,第一个宣布加入鸿蒙阵营的果然是魅族...
- 【嵌入式】C语言高级编程-嵌入式C语言简介(01)
- 【BZOJ1001】[BeiJing2006]狼抓兔子
- Java微信开发_00_资源汇总贴
- createplayer 多次调用 位置错误_Programming in Lualua学习第6期 Lua编译执行与错误
- 【解决问题】右键添加UltraEdit打开文件
- php连接memcache(php.ini配置)
- Ibatis -- 一次执行多条SQL
- 饿了么ui自定义表头内容
- 毕业半年,点滴在心中
- [转载]Spring zuul日志配置
- 2023年计算机专业毕业设计选题有哪些?(附源码)
- coredump 瘦身风云
- ambarella H2 添加文件到ext4文件系统
- 轻松玩转“项目管理” 群硕软件PMS正式发布
- 教室计算机广播控制,小学智能广播系统(模拟广播)系统解决方案
- android实现上班打卡记录日历查看功能
- 嵌入式静态显示与动态显示
热门文章
- 关于Unity的官方认证
- 网络虚拟化技术IRF、VSS、CSS对比及VRF技术
- 计算机第一章学什么,第一章计算机基础知识学习课件.ppt
- linux系统读sim卡信息,在Linux下使用串口读取SIM卡上的SMS消息使用C
- 以无征信办贷行骗 浙江警方捣毁一诈骗窝点刑拘44人
- 什么样的离开会让老板念念不忘
- 华科计算机学硕和武大,纠结武大和华科,看完这个分析表,你就会选了
- 苏州中级职称 取消计算机,2019年中级报名,取消这一项流程!报名、考试……6个问题今天统一回复!...
- “十步杀一人,千里不留行” React的五步夺命诗
- TrackStereo | 1