- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 嵌入式开发基础
Chapter 第八章 内容回顾 版本控制 Subversion 和Tortoise SVN 服务器和客户端 Subversion的基本操作 嵌入式开发基础 第九章 本章目标 什么是嵌入式系统; 什么是嵌入式操作系统; 嵌入式系统的发展趋势; 嵌入式Linux发展和开发步骤。 嵌入式系统的开发环境是什么; 能够熟练使用掌握交叉编译环境建立的方法; 如何进行交叉编译。 理解什么是Bootloader,它的作用是什么; U-Boot的结构; 掌握如何编译U-Boot; 掌握使用U-Boot的命令、工具。 本章结构 9.1.1 嵌入式系统简介 IEEE定义: 嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置 一般定义: 以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 9.1.1 嵌入式系统的构成 9.1.1 嵌入式系统的特点 特点 低功耗、体积小、集成度高 技术密集、资金密集、高度分散、不断创新的知识集成系统 嵌入式系统和具体应用有机地结合在一起,具有较长的生命周期。 嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中。 嵌入式系统本身不具备自举开发能力 嵌入式系统网络发展 9.1.2 嵌入式系统发展趋势 嵌入式系统的未来 9.1.3 嵌入式Linux的发展 强实时的嵌入式LINUX RT-Linux K-URT-Linux 一般的嵌入式LINUX μCLinux Pocket Linux 专用嵌入式实时操作系统与嵌入式Linux的比较 9.1.3 嵌入式Linux开发步骤 设计自己的硬件系统 编写bootloader 裁减自己的linux内核 9.2.1 为什么需要交叉开发 台式软件从“源码程序”到“机器码文件”的过程: 9.2.1 为什么需要交叉开发 嵌入式软件从“源码程序”到“机器码文件”的过程: 9.2.1 为什么需要交叉开发 需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点 交叉开发环境是指编译、链接和调试嵌入式应用软件的环境 它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式。 9.2.1 为什么需要交叉开发 交叉开发环境 9.2.1 交叉开发环境的组成要素 宿主机 目标机 交叉工具 一个编译器,它是编译器工具链前端的一部分。 一个 汇编器,它是编译器工具链后端的一部分。 一个 链接器,它是编译器工具链后端的另一部分。 用于处理可执行程序和库的一些基本工具,比如strings。 9.2.1 交叉编译与链接 交叉编译器和交叉链接器是能够在宿主机上运行,并且能够生成在目标机上直接运行的二进制代码的编译器和链接器 例如在基于ARM体系结构的gcc交叉开发环境中 arm-linux-gcc是交叉编译器 arm-linux-ld是交叉链接器 9.2.1 交叉调试 交叉调试(Cross Debug)又常常被称为远程调试(Remote Debug),是一种允许调试器以某种方式控制目标机上被调试进程的运行方式,并具有查看和修改目标机上内存单元、寄存器以及被调试进程中变量值等各种调试功能的调试方式。 9.2.1 交叉调试 嵌入式系统的特点: 调试器和被调试进程运行在不同的机器上 调试器通过某种通信方式与被调试进程建立联系,如串口、并口、网络、DBM、JTAG或者专用的通信方式。 在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。 目标机可能是某种形式的系统仿真器 9.2.2 开源GNU交叉开发环境 GNU目前已经推出的软件主要由Emacs──功能强大的编辑环境,GCC──性能优异的多平台的C,C++,Fortran编译器和其他40多种软件。 其中GCC的成功为GNU带来了前所未有的影响。 GCC是一种可以在11种硬件平台上编译出可执行程序的超级编译器,而且其执行效率更是惊人,与一般的编译器相比平均效率要高20%-30%。 9.2.3 常用工具介绍 9.2.3 建立交叉编译环境 (1)获得交叉开发工具链arm-linux-gcc-4.3.2.tgz。 在这步中,需要将工具链拷贝到相关目录上如:/home/user1。 (2)解压交叉工具链arm-linux-gcc-4.3.2.tg
文档评论(0)