制作交叉编译器

上传人:wt****50 文档编号:53491695 上传时间:2018-09-01 格式:PPT 页数:32 大小:1.11MB
返回 下载 相关 举报
制作交叉编译器_第1页
第1页 / 共32页
制作交叉编译器_第2页
第2页 / 共32页
制作交叉编译器_第3页
第3页 / 共32页
制作交叉编译器_第4页
第4页 / 共32页
制作交叉编译器_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《制作交叉编译器》由会员分享,可在线阅读,更多相关《制作交叉编译器(32页珍藏版)》请在金锄头文库上搜索。

1、嵌入式驱动程序开发II,主讲:谭石坚,课程介绍,任课老师 谭石坚(大课、小课) Email: tsj 嵌入式驱动程序开发II(LD4001 ) 性质:(嵌入式系统开发)必修课 学分:4(大课2学分、小课2学分) 考核方式:考试(闭卷) 总评成绩 考勤:10%,即10分 平时成绩:20%,即20分 实验:11分 测试:6分 平时作业:3分 考试成绩:70%,即70分,课程介绍,课件及资料下载 地 址:ftp:/172.16.3.240 用户名:kjdown 密 码:kjdown 目 录:电子系/谭石坚/ 学习要求 大课:按时上课,认真听讲 小课:结合大课理论,完成课堂实验 完成课外作业 养成自

2、主学习的意识,课程介绍,涉及的相关知识点 C语言,实验课将全程使用 数据结构,建议巩固加强 ARM编程 驱动程序开发等 教学管理及几点建议 坚持参加上课,学习态度积分管理,包括课堂、作业、考勤等。,课程介绍,每周答疑时间 周二14:30-17:00 周三 14:00-15:30,课程介绍,教材 嵌入式应用项目设计与开发典型案例详解 熊茂华,熊昕,钟锦辉 编著参考书籍 嵌入式Linux系统应用及项目实践. 丰海 机械工业出版社。 ARM嵌入式项目实战开发(十二五),课程介绍,课程目标 本课程以两个项目为教学内容,介绍嵌入式linux开发的方方面面,主要教学目标是: 掌握构建嵌入式linux系统的

3、方法 掌握一个嵌入式linux项目技术开发的方方面面,课程介绍,构建嵌入式linux系统 bootloader程序设计 GNU-ARM,bootloader程序架构,u-boot移植 内核移植 网口驱动移植,ts驱动,LCD驱动,按键驱动 根文件系统 库,启动脚本等 嵌入式mp3播放器项目 mad库的移植与使用 qt程序设计 复习,构建嵌入式linux系统,项目介绍,使用开源的软件构建基于S3C2410的嵌入式linux系统。 项目的硬件平台是FS2410开发板(或S3C2440)。 项目的软件(系统软件,应用软件)由开源的软件构建而成。 gnu交叉编译器 u-boot linux内核 bus

4、ybox等 这些软件都是开源的,也就是说我们利用网络下载这些开源软件,利用这些开源软件来构建一个linux系统,项目介绍,linux系统的层次结构 本项目的软件平台是由linux内核等多个开源软件构成的自定义系统,项目介绍,分区1 bootloader,分区2 内核,分区3 系统软件,分区结构,项目介绍,从上面的分区图,可以看出嵌入式linux系统的组成: bootloader bootloader是一个统称,指的是在内核启动前运行的一小段代码。 linux内核 操作系统内核 根文件系统(系统工具) 用户使用时,必要的工具。,项目介绍,启动流程 上电 运行bootloader bootload

5、er启动内核 内核启动第一个应用程序(init) init程序配置环境,启动交互程序,制作交叉编译器,为什么要制作交叉编译器,系统软件中的bootloader,内核,应用程序等都需要交叉编译,这就要求我们首先要有一个交叉编译器。 怎样得到这个交叉编译器呢? 别人提供 买开发板的时候,开发板厂商提供 网上下载 自己制作 作为学习,可以自己制作一个交叉编译器,交叉编译器,gnu-arm交叉编译器的下载网站 https:/ gnu是一个开源的项目,因此gnu提供的编译器gcc也是开放源码的,这些源码都可以从ftp.gnu.org上获取,源码分成三部分,如下: binutils :提供二进制处理的工具

6、 gcc :提供强大的gcc编译器 glibc :提供标准C库。 我们可以利用这些源码来制作交叉编译器。 交叉编译器的制作步骤非常繁琐,因此有让将交叉编译器制作的步骤做成脚本,叫crosstool,后来这个脚本越来越完善升级为crosstool-ng。,交叉编译器制作,crosstool-ng的官网:http:/crosstool-ng.org/ 其宗旨就是:让交叉编译器的制作,更加简单,让制作交叉编译器的工具,更加好用。 crosstool-ng的特点 支持(类似于Linux内核配置的那个)menuconfig 支持足够多,且越来越多的架构(architecture) 支持工具链中可选多种不

7、同的C库等模块 支持不同目标OS平台 补丁仓库 支持不同的线程模型 支持软浮点和硬件浮点 支持众多调试相关的内容,交叉编译器制作,crosstool-ng的使用的基本逻辑 下载,编译,安装crosstool-ng工具本身 用crosstool-ng这个工具(即ct-ng)去制作(配置和编译)所需要的交叉编译器,下载和安装crosstool-ng,在使用crosstool-ng,为我们制作交叉编译器之前,需要下载crosstool-ng的源码,并且编译安装crosstool-ng,到我们的当前的(Linux或Cygwin等)系统中 去crosstool-ng的下载页面: http:/crosst

8、ool-ng.org/download/crosstool-ng/中,下载最新版的crosstool-ng。 截至本文此刻,最新版本是:crosstool-ng-1.19.0.tar.bz2,下载和安装crosstool-ng,安装crosstool-ng crosstool-ng工具的源码下载了,安装这个工具的步骤很简单,如下: tar jxvf /mnt/hgfs/D/crosstool-ng-1.19.0.tar.bz2 ./configure -prefix=/home/sice/crosstool-ng make make install 安装完之后,crosstool-ng的工具命

9、令只有一个 home/sice/crosstool-ng/bin/ct-ng,安装路径,使用ct-ng工具制作交叉编译器,用ct-ng help查看所拥有的功能 $ /home/sice/crosstool-ng/bin/ct-ng help 查看当前有哪些(默认的)示例配置,可以用 $ /home/sice/crosstool-ng/bin/ct-ng list-samples,使用ct-ng工具制作交叉编译器,ct-ng工具安装好后,我们开始使用ct-ng工具制作交叉编译器,开始工作之前,我们新建一个工作目录,并在这个工作目录下操作: mkdir build cd build 先进行交叉编

10、译器的配置,首先配置成默认$ /home/sice/crosstool-ng/bin/ct-ng arm-unknown-linux-gnueabi 配置好后,可以查看当前配置的制作交叉编译器步骤 $ /home/sice/crosstool-ng/bin/ct-ng list-steps,使用ct-ng工具制作交叉编译器,在默认的配置基础上进行配置: $ /home/sice/crosstool-ng/bin/ct-ng menuconfig,在配置菜单中,可以选择交叉编译器的版本等,配置如下,Paths and misc options -($HOME/sources) Local tar

11、balls directory($HOME/my-crosstool) Prefix directory Target options -(armv4t) Architecture level(arm9tdmi) Emit assembly for CPU(arm920t) Tune for CPU Toolchain options -(sice) Tuples vendor string Operating System -Linux kernel version (3.2.48) - Check installed headers Binary utilities -binutils v

12、ersion (2.22) - C compiler -gcc version (4.6.3) - Fortran Java C-library -glibc version (2.14) - * Force unwind supportMinimum supported kernel version (Specific kernel version) -(X) Specific kernel version(3.0.4) Minimum kernel version to support Debug facilities - * gdb -gdb version (7.4) -,源码下载后,

13、保持位置,编译后的安装位置,交叉编译器支持的cpu信息,交叉编译器中,内核版本(头文件),使用ct-ng工具制作交叉编译器,配置完毕之后,开始制作 $ /home/sice/crosstool-ng/bin/ct-ng build,使用ct-ng工具制作交叉编译器,整个过程大概需要1小时,完成后的信息,交叉编译器就安装在/home/sice/my-crosstool下:,使用ct-ng工具制作交叉编译器,我们自己制作的交叉编译工具名的前缀是“arm-sice-linux-gnueabi-”,比较长,而我们平时习惯用“arm-linux-”作为前缀。所以一般我们要建立相关的符合链接如下:,使用ct-ng工具制作交叉编译器,查看刚刚制作的交叉编译器版本信息,课堂小结,交叉编译器的制作过程,思考题,作业题,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号