基于Linux嵌入式交叉开发技术.docVIP

  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文档。上传文档
查看更多
基于Linux嵌入式交叉开发技术

基于Linux嵌入式交叉开发技术   摘要:首先介绍如何构建嵌入式开发平台,包括硬件平台和软件平台,硬件平台的目标机采用ARM芯片,软件平台的宿主机采用Linux操作系统,并采用GDB调试软件;然后详细阐述了嵌入式软件的交叉开发的一般步骤。通过实践充分证明交叉开发是嵌入式软件开发行之有效的方法,可以大大提高嵌入式软件的开发效率。??   关键词:嵌入式系统; Linux; 交叉开发??   中图分类号:TP311文献标志码:A   文章编号:1001-3695(2008)01-0206-03   ??   随着信息技术的发展,微型化和专业化成为信息产品发展的新趋势,嵌入式产品成为信息产业的主流。市场上出现种类众多的商业性嵌入式操作系统。其中Linux以其内核可裁减、效率高、稳定性好、移植性好、源代码开放等优点受到越来越多的企业和研发机构的关注。本文的开发就是基于Linux系统的。??   由于嵌入式系统资源有限,用户一般不具备自主开发能力,产品发布后用户通常也不能对其中的软件进行修改,必须有一套专门的开发环境由开发人员对软件进行修改升级。该开发环境提供专门的开发工具(包括设计、编译、调试、测试等工具),一般采用交叉开发的方式进行。??   嵌入式软件的交叉开发通常需要两台计算机。一台作为主机(host),另一台作为目标开发板(target)。主机可以是一台运行Linux的PC,使用gcc、binutils作为编译、链接器;目标开发板为gcc支持的CPU内核的S3C2410芯片的主板作为目标开发板,并在其上运行GDB stub 的调试监控程序。在主机上编译、链接,得到包含调试符号的可执行文件并转换成可下载的二进制文件;然后在主机上运行gdb,使用串行方式与目标板通信,实现下载、执行、单步、断点等调试功能。在系统开发的初期,也可以在主机上完成所有工作,使用x86模拟器来运行和调试系统。常见的x86模拟器有VMWare、Bochs等。本文选择的是VMWare。??      1构建交叉开发平台??      基于Linux的嵌入式开发平台由硬件平台和软件平台组成。硬件平台主要是指嵌入式系统运行的目标机,用于运行操作系统和系统应用软件;目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成。软件平台主要是指运行在宿主机上的基于GNU的开发工具链和调试运行时运行在目标机上的调试服务器、监视器等。??   1)系统硬件平台??   在构建硬件平台时,微处理器的性价比是笔者最关心的。现在比较流行的硬件平台有Intel公司的StrongARM 系列,Motorola公司的DragonBall系列,NEC公司的VR系列,Hitachi公司的SH3、SH4系列等。选定硬件平台前,首先要确定系统的应用功能和所需要的速度,并制定好外接设备和接口标准。这样才能准确地定位所需要的硬件方案,得到性价比最高的系统。本文的硬件平台是基于三星公司ARM 9 内核的S3C2410 芯片开发完成的。如图1 所示, 整个硬件平台由下面几个部分组成[1]:??   S3C2410: ARM 920T 核;??   SDRAM: 8 MB;??   flash: 128 MB;??   LCD: 160×24016级灰度+触摸屏;??   16键矩阵键盘;??   两路RS-232接口等??    其中, S3C2410 和SDRAM、或非型flash、与非型flash组成的最小系统可以运行指令和代码; 通过串口、USB, SPI同外部交换信息和数据; 通过LCD 进行显示; 在交叉调试时,宿主机通过JTAG接口对目标机进行调试。??   2)系统软件平台 ??   嵌入式软件开发的最大特点就是交叉开发,体现在交叉编译、交叉链接和交叉调试等方面。因此开发工具一定要能支持事先选定的硬件平台,能够生成基于特定微处理器指令集的目标程序,并能对其进行调试。建立交叉开发环境,首先要安装软件开发包。软件开发包由嵌入式Linux操作系统、设备驱动支持包、嵌入式图形包、GNU交叉编译调试器组成。嵌入式Linux软件开发平台的系统结构如图2所示[2]。??      交叉调试的原理是用户通过串口利用GDB远程调试功能对目标机的二进制程序进行远程调试,调试服务程序(GDBserver)在目标机上接收GDB(宿主机)通过串口发送的控制命令,控制二进制程序的运行状态,并通过串口将GDB所需的状态信息发给GDB。??   在构建好交叉开发平台后就可以进行嵌入式软件的开发了。在交叉开发时通常分成五部分:建立嵌入式Linux交叉开发环境、交叉编译和链接、交叉调试、系统测试、固化运行。??      2建立嵌入式交叉开发

文档评论(0)

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

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

1亿VIP精品文档

相关文档