书签 分享 收藏 举报 版权申诉 / 32
上传文档赚钱

类型制作交叉编译器-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4667453
  • 上传时间:2022-12-30
  • 格式:PPT
  • 页数:32
  • 大小:1.11MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《制作交叉编译器-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    制作 交叉 编译器 课件
    资源描述:

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

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

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

    4、x等u这些软件都是开源的,也就是说我们利用网络下载这些开源软件,利用这些开源软件来构建一个linux系统项目介绍n linux系统的层次结构u本项目的软件平台是由linux内核等多个开源软件构成的自定义系统项目介绍bootloaderrootfsKernelextfsNandload.binUboot.binUboot_2410源码uboot源码Kernel硬件手册2.6源码Rootfs.imgRootfsBusybox系统文件(etc、dev)Sjf2410.exeJtag板Cross-compilerBinutilsCross.tar.bz2GccGlibc2.6_2410patchRoo

    5、tfs.imgmkfs工具分区1 bootloader 分区2 内核分区3 系统软件 分区结构项目介绍n 从上面的分区图,可以看出嵌入式linux系统的组成:ubootloaderbootloader是一个统称,指的是在内核启动前运行的一小段代码。ulinux内核操作系统内核u根文件系统(系统工具)用户使用时,必要的工具。项目介绍n 启动流程u上电运行bootloaderubootloader启动内核u内核启动第一个应用程序(init)uinit程序配置环境,启动交互程序制作交叉编译器为什么要制作交叉编译器n 系统软件中的bootloader,内核,应用程序等都需要交叉编译,这就要求我们首先要

    6、有一个交叉编译器。n 怎样得到这个交叉编译器呢?u别人提供买开发板的时候,开发板厂商提供网上下载u自己制作n 作为学习学习,可以自己制作一个交叉编译器交叉编译器n gnu-arm交叉编译器的下载网站uhttps:/ n gnu是一个开源的项目,因此gnu提供的编译器gcc也是开放源码的,这些源码都可以从ftp.gnu.org上获取,源码分成三部分,如下:ubinutils:提供二进制处理的工具ugcc:提供强大的gcc编译器uglibc:提供标准C库。n 我们可以利用这些源码来制作交叉编译器。n 交叉编译器的制作制作步骤非常繁琐非常繁琐,因此有让将交叉编译器制作的步骤做成脚本,叫crossto

    7、ol,后来这个脚本越来越完善升级为crosstool-ng。编 译 binutils源 码 包第 一 次 编 译 gcc源 码 包编 译 glibc源 码 包编 译 完 整 的 gcc交叉编译器制作n crosstool-ng的官网:http:/crosstool-ng.org/n 其宗旨就是:让交叉编译器的制作,更加简单,让制作交叉编译器的工具,更加好用。n crosstool-ng的特点u支持(类似于Linux内核配置的那个)menuconfigu支持足够多,且越来越多的架构(architecture)u支持工具链中可选多种不同的C库等模块u支持不同目标OS平台u补丁仓库u支持不同的线程模

    8、型u支持软浮点和硬件浮点u支持众多调试相关的内容交叉编译器制作n crosstool-ng的使用的基本逻辑u下载,编译,安装crosstool-ng工具本身u用crosstool-ng这个工具(即ct-ng)去制作(配置和编译)所需要的交叉编译器下载和安装crosstool-ngn 在使用crosstool-ng,为我们制作交叉编译器之前,需要下载crosstool-ng的源码,并且编译安装crosstool-ng,到我们的当前的(Linux或Cygwin等)系统中n 去crosstool-ng的下载页面:uhttp:/crosstool-ng.org/download/crosstool-n

    9、g/中,下载最新版的crosstool-ng。u截至本文此刻,最新版本是:crosstool-ng-1.19.0.tar.bz2crosstool-ng-1.19.0.tar.bz2下载和安装crosstool-ngn 安装crosstool-ngucrosstool-ng工具的源码下载了,安装这个工具的步骤很简单,如下:tar jxvf/mnt/hgfs/D/crosstool-ng-1.19.0.tar.bz2./configure-prefix=/home/sice/crosstool-ng/home/sice/crosstool-ngmakemake installu安装完之后,cro

    10、sstool-ng的工具命令只有一个home/sice/crosstool-ng/bin/ct-nghome/sice/crosstool-ng/bin/ct-ng安装路径使用ct-ng工具制作交叉编译器n 用ct-ng help查看所拥有的功能$/home/sice/crosstool-ng/bin/ct-ng help/home/sice/crosstool-ng/bin/ct-ng helpn 查看当前有哪些(默认的)示例配置,可以用$/home/sice/crosstool-ng/bin/ct-ng list-samples/home/sice/crosstool-ng/bin/ct-

    11、ng list-samples使用ct-ng工具制作交叉编译器n ct-ng工具安装好后,我们开始使用ct-ng工具制作交叉编译器,开始工作之前,我们新建一个工作目录,并在这个工作目录下操作:mkdir buildcd buildu先进行交叉编译器的配置,首先配置成默认$/home/sice/crosstool-ng/bin/ct-ng arm-unknown-linux-gnueabiu配置好后,可以查看当前配置的制作交叉编译器步骤$/home/sice/crosstool-ng/bin/ct-ng list-steps使用ct-ng工具制作交叉编译器n 在默认的配置基础上进行配置:$/ho

    12、me/sice/crosstool-ng/bin/ct-ng menuconfig$/home/sice/crosstool-ng/bin/ct-ng menuconfig在配置菜单中,可以选择交叉编译器的版本等配置如下Paths and misc options -($HOME/sources)Local tarballs directory($HOME/my-crosstool)Prefix directoryTarget options -(armv4t)Architecture level(arm9tdmi)Emit assembly for CPU(arm920t)Tune for

    13、CPUToolchain options -(sice)Tuples vendor stringOperating System -Linux kernel version(3.2.48)-Check installed headersBinary utilities -binutils version(2.22)-C compiler -gcc version(4.6.3)-Fortran JavaC-library -glibc version(2.14)-*Force unwind supportMinimum supported kernel version(Specific kern

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

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:制作交叉编译器-课件.ppt
    链接地址:https://www.163wenku.com/p-4667453.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库