嵌入式linux系统开发概述幻灯片.docxVIP

  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系统开发概述作者:谷丰,[email=您可以通过%3Ca%20href=]gufeng77@126.com[/email]quot; target=quot;_blankquot;gt;您可以通过gufeng77@126.com和他联系基于linux的嵌入式系统开发是一个很大的课题,涵盖了从硬件到软件设计的多个领域,由于linux的开源特性,导致开发中可以使用的软件和工具多不胜数,从最底层与系统硬件直接打交道的引导装载程序(bootloader),到linux操作系统的分发版(distribution),再到上层的图形用户界面(GUI)乃至应用程序(application),可供选择的软件实在是太多了,这对开发者来说是一种恩赐。但由于标准的不统一,对于刚刚步入这个领域的初学者来说,很难在短时间内全部了解和掌握它们。本文论述了嵌入式linux开发的基本模式和概念,给出了一些常用的软件和工具,旨在带领他们更快的走入这个奇妙的世界。1? ?引导装载程序(bootloader)引导装载程序通常是在任何硬件上执行的第一段代码,它的主要任务视装载设备的不同而不同。在台式机和笔记本这样的常规系统中,经常存在多个操作系统并存的情况,因此bootloader的主要作用就是选择系统使用何种操作系统来引导。常用的引导程序有LILO或GRUB,通常将它们装入硬盘的主引导记录(Master Boot Record)中,或者装入linux 驻留的磁盘的第一个扇区。在嵌入式系统中,情况有些不同。首先,嵌入式设备通常需要经常地移动,考虑到在移动过程中的震动,一般不会采用机械式结构设计的硬盘为存储设备;而且从成本控制上说,硬盘的价格比较高,除非是需要大容量存储的场合,硬盘不适合作为嵌入式设备的存储介质。目前采用得比较多的是闪存设备,闪存设备是与存储设备功能类似的特殊芯片,而且它们能持久存储信息----即在重新引导时不会擦除其内容,Flash、Disk on Chip和Compact Flash卡就是使用得比较多的这类设备。另外,由于一般嵌入式设备上只会有一个操作系统,所以bootloader的主要功能有所变化,不再是用来选择操作系统,而是为了更快地在存储介质上下载linux内核和文件系统(filesystem包含了图形用户界面等应用程序,将在后面介绍)。这是因为我们一般通过芯片的JTAG口来实现引导程序的装载,JTAG口的速度比较慢,对于只有十几K大小的bootloader来说,装载的时间不会很长,可是针对一个功能完善的嵌入式设备,比如PDA,它的软件系统包括了linux内核和以上的各种应用,加在一起最少都会有十几兆,如果都通过JTAG来下载的话,恐怕几个小时都是不够用的。而且通常内核和应用需要多次的修改和调试才得到最终的成熟的版本,如此频繁的下载要都通过JTAG来实现,显然是不现实的。因此,为了解决这个问题,通常的做法是在bootloader中实现网卡或USB的驱动,通过网络或USB接口来实现软件的下载功能。目前流行的并可免费使用的linux引导装载程序有Blob、U-boot、Redboot和Bootldr,它们可以广泛地应用在X86、ARM、PPC和MIPS等平台上,对于基于ARM核设计的PXA255芯片,当然也是适合的。前面提到bootloader可以通过芯片的JTAG口下载到闪存上的,PXA255采用的就是这种方式。这种方式需要专用软件。专用软件可以直接与目标机(在嵌入式开发中,嵌入式设备通常被称为目标机)上的闪存设备进行交互并将引导装载程序安装在闪存的给定位置中。这个软件使用目标系统上的 JTAG 端口,JTAG是用于执行外部输入(通常来自主机,及用作开发的PC机系统)的指令的接口。JFlash-linux 就是一种用于直接写闪存的流行工具。它支持为数众多的闪存芯片;它在主机上执行并通过使用主机的并行端口与目标系统的JTAG接口访问目标的闪存芯片。当然,这意味着需要有专门的用来连接目标机JTAG口和主机并行接口的通讯线。主机和目标机的连接方式见图1.1所示。图1.1目标机JTAG和主机并行端口的连接Jflash-linux在linux和windows版本中都可使用,可以在命令行中用以下命令启动它:#Jflash-linux lt;bootloadergt;还有某些种类的嵌入式芯片具有微小的引导代码----根据几个字节的指令----它将初始化一些 DRAM设置并启用目标机上的一个串行(或者 USB,或者以太网)端口与主机程序通信。然后,主机程序或装入程序可以使用这个连接将引导装载程序传送到目标机上,并将它写入闪存。在引导程序已装载并给予其控制后,这个引导装载程序执行下列各类功能:初始化CPU速度 初始化内存,包括启用内存库、初始化内存

文档评论(0)

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

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

1亿VIP精品文档

相关文档