资料介绍
5.1.1 嵌入式交叉编译环境的搭建
交叉编译的概念在第4章中已经详细讲述过,搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉编译环境的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的bug,这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非常重要的。
交叉编译器完整的安装一般涉及多个软件的安装(读者可以从ftp://gcc.gnu.org/pub/下载),包括binutils、gcc、glibc等软件。其中,binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器的,主要生成arm-linux-gcc交叉编译工具(应该说,生成此工具后已经搭建起了交叉编译环境,可以编译Linux内核了,但由于没有提供标准用户函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。这样,交叉编译环境就完全搭建起来了。
上面所述的搭建交叉编译环境比较复杂,很多步骤都涉及对硬件平台的选择。因此,现在嵌入式平台提供厂商一般会提供在该平台上测试通过的交叉编译器,而且很多公司把以上安装步骤全部写入脚本文件或者以发行包的形式提供,这样就大大方便了用户的使用。如优龙的FS2410开发光盘里就附带了2.95.3和3.3.2两个版本的交叉编译器,其中前一个版本是用于编译Linux 2.4内核的,而后一个版本是用于编译Linux 2.6版本内核的。由于这是厂商测试通过的编译器,因此可靠性会比较高,而且与开发板能够很好地吻合。所以推荐初学者直接使用厂商提供的编译器。当然,由于时间滞后的原因,这个编译器往往不是最新的版本,若需要更新时希望读者另外查找相关资料学习。本书就以优龙自带的cross-3.3.2为例进行讲解(具体的名称不同厂商可能会有区别)。
安装交叉编译器的具体步骤在第2章的实验二中已经进行了详细地讲解了,在此仅回忆关键步骤,对于细节请读者参见第2章的实验二。
在/usr/local/arm下解压cross-3.3.2.bar.bz2。
[root@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
[root@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
[root@localhost bin]# which arm-linux*
/usr/local/arm/3.3.2/bin/arm-linux-addr2line
/usr/local/arm/3.3.2/bin/arm-linux-ar
/usr/local/arm/3.3.2/bin/arm-linux-as
/usr/local/arm/3.3.2/bin/arm-linux-c++
/usr/local/arm/3.3.2/bin/arm-linux-c++filt
/usr/local/arm/3.3.2/bin/arm-linux-cpp
/usr/local/arm/3.3.2/bin/arm-linux-g++
/usr/local/arm/3.3.2/bin/arm-linux-gcc
/usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2
/usr/local/arm/3.3.2/bin/arm-linux-gccbug
/usr/local/arm/3.3.2/bin/arm-linux-gcov
/usr/local/arm/3.3.2/bin/arm-linux-ld
/usr/local/arm/3.3.2/bin/arm-linux-nm
/usr/local/arm/3.3.2/bin/arm-linux-objcopy
/usr/local/arm/3.3.2/bin/arm-linux-objdump
/usr/local/arm/3.3.2/bin/arm-linux-ranlib
/usr/local/arm/3.3.2/bin/arm-linux-readelf
/usr/local/arm/3.3.2/bin/arm-linux-size
/usr/local/arm/3.3.2/bin/arm-linux-strings
/usr/local/arm/3.3.2/bin/arm-linux-strip
交叉编译的概念在第4章中已经详细讲述过,搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉编译环境的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的bug,这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非常重要的。
交叉编译器完整的安装一般涉及多个软件的安装(读者可以从ftp://gcc.gnu.org/pub/下载),包括binutils、gcc、glibc等软件。其中,binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器的,主要生成arm-linux-gcc交叉编译工具(应该说,生成此工具后已经搭建起了交叉编译环境,可以编译Linux内核了,但由于没有提供标准用户函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。这样,交叉编译环境就完全搭建起来了。
上面所述的搭建交叉编译环境比较复杂,很多步骤都涉及对硬件平台的选择。因此,现在嵌入式平台提供厂商一般会提供在该平台上测试通过的交叉编译器,而且很多公司把以上安装步骤全部写入脚本文件或者以发行包的形式提供,这样就大大方便了用户的使用。如优龙的FS2410开发光盘里就附带了2.95.3和3.3.2两个版本的交叉编译器,其中前一个版本是用于编译Linux 2.4内核的,而后一个版本是用于编译Linux 2.6版本内核的。由于这是厂商测试通过的编译器,因此可靠性会比较高,而且与开发板能够很好地吻合。所以推荐初学者直接使用厂商提供的编译器。当然,由于时间滞后的原因,这个编译器往往不是最新的版本,若需要更新时希望读者另外查找相关资料学习。本书就以优龙自带的cross-3.3.2为例进行讲解(具体的名称不同厂商可能会有区别)。
安装交叉编译器的具体步骤在第2章的实验二中已经进行了详细地讲解了,在此仅回忆关键步骤,对于细节请读者参见第2章的实验二。
在/usr/local/arm下解压cross-3.3.2.bar.bz2。
[root@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
[root@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
[root@localhost bin]# which arm-linux*
/usr/local/arm/3.3.2/bin/arm-linux-addr2line
/usr/local/arm/3.3.2/bin/arm-linux-ar
/usr/local/arm/3.3.2/bin/arm-linux-as
/usr/local/arm/3.3.2/bin/arm-linux-c++
/usr/local/arm/3.3.2/bin/arm-linux-c++filt
/usr/local/arm/3.3.2/bin/arm-linux-cpp
/usr/local/arm/3.3.2/bin/arm-linux-g++
/usr/local/arm/3.3.2/bin/arm-linux-gcc
/usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2
/usr/local/arm/3.3.2/bin/arm-linux-gccbug
/usr/local/arm/3.3.2/bin/arm-linux-gcov
/usr/local/arm/3.3.2/bin/arm-linux-ld
/usr/local/arm/3.3.2/bin/arm-linux-nm
/usr/local/arm/3.3.2/bin/arm-linux-objcopy
/usr/local/arm/3.3.2/bin/arm-linux-objdump
/usr/local/arm/3.3.2/bin/arm-linux-ranlib
/usr/local/arm/3.3.2/bin/arm-linux-readelf
/usr/local/arm/3.3.2/bin/arm-linux-size
/usr/local/arm/3.3.2/bin/arm-linux-strings
/usr/local/arm/3.3.2/bin/arm-linux-strip
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式Linux系统开发实验分享 2次下载
- 3568编译环境搭建
- 基于STC89C52RC开发板的嵌入式交叉编译环境的搭建
- 嵌入式Linux开发环境搭建-3-安装交叉编译工具链
- 嵌入式Linux开发环境搭建-(4)安装交叉编译工具链
- 嵌入式Linux开发环境搭建-4-嵌入式编程基础知识
- 【Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)
- 嵌入式linux开发环境搭建(Docker版,基于iTop 4412开发板) 0次下载
- 嵌入式linux一个简单的hello程序编译及运行示例
- 嵌入式Linux系统移植
- 嵌入式linux环境搭建
- 嵌入式系统移植-01嵌入式基本概念,嵌入式开发环境搭建,目标机搭建,TFTP服务搭建,NFS服务搭建
- 嵌入式QT多媒体
- 嵌入式开发(一):嵌入式开发新手入门
- arm-linux的交叉编译环境解析 7次下载
- Purple Pi OH又开外挂!带你搭建编译环境及编译Android 11固件 1268次阅读
- 【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行 736次阅读
- 嵌入式开发中的交叉编译详解 1326次阅读
- 嵌入式框架Zorb Framework搭建方案 1494次阅读
- 为MindSDK搭建armgcc编译环境(Windows版) 1297次阅读
- 如何搭建BIFACES+HighTec开发环境 1578次阅读
- 嵌入式系统的全面解析 3280次阅读
- 基于嵌入式软件的JNI技术应用解析 1106次阅读
- 基于sopc嵌入式文字识别系统设计 1462次阅读
- 基于FPGA嵌入式系统的智能小车全面解析 9454次阅读
- 在Nios II平台下搭建RTEMS嵌入式开发简析 1589次阅读
- 什么是交叉编译?为何要有交叉编译 3.8w次阅读
- 嵌入式开发环境的搭建 8548次阅读
- 嵌入式开发环境介绍,嵌入式文件系统要求分析 1201次阅读
- 编译环境和交叉编译环境的搭建 1400次阅读
下载排行
本周
- 1PC3103 低功耗电流模式PWM控制器技术手册
- 1.23 MB | 3次下载 | 免费
- 2L7805CV TO-220三端稳压IC规格书
- 0.71 MB | 1次下载 | 免费
- 3LoRa2021 全频段无线通讯模块规格书
- 814.22 KB | 1次下载 | 免费
- 4L7812CV TO-220三端稳压IC规格书
- 1.35 MB | 次下载 | 免费
- 5L7815CV TO-220三端稳压IC规格书
- 1.48 MB | 次下载 | 免费
- 6N-12电子倾斜仪指南
- 0.24 MB | 次下载 | 10 积分
- 7基于CP500S扫描测头的三坐标测量系统:复杂曲面零件解决方案
- 0.35 MB | 次下载 | 免费
- 8STM32H747xI/G 英文数据手册
- 5.09 MB | 次下载 | 免费
本月
- 1PFC电路与BOOST电路设计实例分享
- 1.83 MB | 18次下载 | 4 积分
- 2电源测试报告-基于 国民技术 N32L406 和杰华特 JW3376+3330 的 BMS 方案
- 6.47 MB | 17次下载 | 免费
- 3世平基于灵动微 SPIN560C 的低压无刷电机应用方案
- 10.93 MB | 11次下载 | 免费
- 4900MHz全双工无线发射器参考设计原理图资料
- 0.40 MB | 6次下载 | 免费
- 5PWM控制器的控制方法
- 0.39 MB | 3次下载 | 4 积分
- 6900MHz全双工无线发射器参考设计
- 0.15 MB | 3次下载 | 1 积分
- 7美的电磁炉TM-S1-20B PN8124F+CHK S009资料图
- 0.28 MB | 3次下载 | 10 积分
- 8FS313B USB 的 PD和QC 快充协议电压诱骗控制器规格书
- 2.61 MB | 3次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935134次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191424次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183352次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73819次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论