第5章交叉开发环境祥解.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章交叉开发环境祥解.ppt

* Linux内核的源代码结构 * 第5章 交叉开发环境及内核编译 5.1 交叉开发环境介绍 5.2 交叉开发工具链 5.3 主机开发环境配置 5.4 启动目标板 5.5 应用程序的远程交叉调试 5.6 Bootloader介绍 5.7 内核的编译 * 5.1 交叉开发环境介绍 5.1.1 交叉开发概念模型 绝大多数的应用软件开发都是以本地方式进行的,即本机(HOST)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即板子系统)运行开发工具和调试工具。 * 下载内核镜像 HOST 内核映像 根文件系统 TARGET 内核映像 在主机上,可以安装开发工具,编辑、编译目标板的Linux引导程序、内核和文件系统,然后在目标板上运行。 通常这种在主机环境下开发,在目标板上运行的开发模式叫做交叉开发。一方面开发者可以在熟悉的主机环境下进行程序开发;另一方面又可以在目标板上运行调试程序,可以避免受到目标板硬件的限制。 挂接NFS文件系统 图5-1 交叉开发模型 各种连接方式 * 5.1.2 目标板与主机之间的连接 串口连接 优点:使用简单 缺点:通讯速率慢,不适合大数据量传输 以太网接口 优点:高度灵活,相对简单,易于实现 缺点:驱动程序实现较麻烦 USB接口 优点:即插即用,通讯速度快 缺点:USB设备区分主从端,分别要有不同的驱动程序 JTAG接口 用于芯片内部的测试及对系统进行仿真测试 * 5.1.3 文件传输 串口传输方式 通过minicom或windows超级终端等工具都可以通过串口发送文件。通常波特率设置为:115200bit/s,8bit数据位,不带校验位。 网络传输方式 一般是基于TFTP协议,它是基于UDP协议传输。 USB接口传输方式 分为主从设备,主机端为主设备端,目标板为从设备端。 JTAG接口传输方式 JTAG仿真器与主机之间的连接通常通过串口、并口、以太网或USB接口。 移动存储设备 软盘、CDROM、USB等存储介质。 * 5.1.4 网络文件系统 网络文件系统(NFS,Net File System)允许一个系统在网络上共享目录和文件。Linux支持NFS,并且可以配置启动NFS网络服务。 NFS具有以下优点: 本地工作站可以使用更少的磁盘空间; 用户可以通过网络访问共享目录; 软驱、CDROM等存储设备可以在网络上共享使用; NFS至少有一台服务器和一台客户端两部分。 NFS的这些优点正好适合于嵌入式系统的开发。目标板没有足够的存储空间,Linux内核挂接网络根文件系统可以避免使用本地存储介质,快速建立Linux系统。 * 5.2 交叉开发工具链 掌握嵌入式开发工具链的使用是进行嵌入式开发的前提条件之一 与主流开发工具类似,嵌入式交叉开发工具也包括 交叉编译器,编译器能够把一个源程序编译生成一个由机器语言构成的可执行程序。虽然交叉编译器本身也在主机上运行,但编译生成的不是主机认识的机器语言,而是目标机能够识别的机器语言。 调试工具,即能够对执行程序进行源码或汇编级调试的软件 软件工程工具,用于协助多人开发或大型软件项目的管理的软件 * 5.2.1 相关工具链软件 GCC是编译器,不但支持C/C++语言,而且支持FORTRAN、JAVA等语言,对于C/C++语言的完整支持,需要支持glibc库; * BINUTILS是二进制程序处理工具,包括链接器、汇编器等目标程序处理的工具; GLIBC是应用程序编程的函数库软件包,可以编译生成静态库和共享库; GDB是调试工具,对程序进行源码调试; Crosstool软件实际上是一套脚本,用于编译和测试大多数体系结构的各种GCC和glibc的版本组合。 * 5.2.2 嵌入式系统开发的全过程 * 对于ARM体系结构的编译器,不少网站提供下载。免费提供的工具链是包括Binutils和GCC,但都不提供gdb调试器。下面介绍几个ARM Linux免费网站。 (1) .uk/(ARM Linux官方网站) ARM Linux工具链下载的HTTP和FTP地址: http:// .uk/pub/armlinux/toolchain ftp:// .uk/pub/linux/arm/toolchain (2) (Montavista公司主页网站) Montavista Linux能够支持各种体系结构的开发板,只对部分硬件平台提供预览版。 5.2.3 获取交叉开发工具链 * 以ARM Linux站点提供的cross-3.3.2.tar.bz2包为例: tar –jxvf cross-3.3.2.tar.bz2 这个工具链应该

文档评论(0)

四娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档