小虾米资讯
AD1android:linux-c开发
2021-07-14 22:00:52 / 我要吐槽虚拟机安装,用的是VMware16版本,下面是网盘链接https://www.aliyundrive.com/s/8xrBGrjx7SN
linux系统用的是乌班图Ubuntu,官网下载比较慢,找了个网易的镜像网站,下载会比较快http://mirrors.163.com/ubuntu-releases/20.04/
接下来需要配置交叉编译环境。百度了一下交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。=======安装环境:Linux版本:Ubuntu 12.04内核版本:Linux 3.5.0交叉编译器版本:arm-linux-gcc-4.4.3=======首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
为何要交叉编译呢?答:嵌入式开发的CPU比较简单,本身无法搭载开发环境,有些甚至操作系统都没有。比如:Android软件,需要在x86架构电脑上编译,再下载到Android手机中运行,通常情况下,手机自己不能编译Android软件。交叉编译可以使用高性能机器为低性能机器开发软件(包括开发裸机软件、系统级和应用级软件)
Powered By © 小虾米资讯 2015
(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )