基于Linux嵌入式系统开发平台的建立袁俊杰.docVIP

基于Linux嵌入式系统开发平台的建立袁俊杰.doc

  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嵌入式系统开发平台的建立袁俊杰

ARM的相关技术,目前已经占 领了75%以上的32位RISC嵌入式产品市场[6]. ARM的微处理器核适用于各种领域,正迅速成为便 携式通信设备、手持计算、多媒体数字消费和嵌入式 方案,解决市场中RISC批量生产的标准[6]. ARM处 理器在国内也非常普及,所以本文选用ARM微处理 器. ARM处理器有一系列内核结构,以使用于不同 领域.在所有ARM处理器中,ARM920T微处理器属 于中端产品,应用也十分广泛.本文选用内嵌 ARM920T三星公司生产的32位S3C2410处理器. S3C2410A是32位低功耗RISC宏单元,其工作频率 为203MHz.同时支持Thumb16位压缩指令集,从 而能以较小的存储空间需求,获得32位的系统性 能. CPU内部集成有16 KB的指令缓存和数据缓 存、LCD控制器(可支持STN和TFT)、NAND Flash BootLoader、系统管理器(片选逻辑和SDRAM控制 器)、3路UART、4路DMA、4路PWM和1个内部时 钟控制器、8路10位ADC和触摸屏接口、可编程的 通用I /O口、以及I2C和I2S总线接口、USB Host/ USB Device接口等等,并带有SD Host和多媒体卡 (Multi-Media Card)接口,有着非常丰富的片内外 围,极大地简化了系统的设计. 2 Linux操作系统内核 通常操作系统由内核和一些系统服务程序(命 令解释、库文件、链接和编译程序等)组成.内核是 操作系统的灵魂,它为用户进程提供一个虚拟机接 口.用户进程可以并行运行、公平地占用系统资源 而互不干扰. Linux操作系统一般由内核、shell、文件结构和 实用工具4个主要部分组成. Linux系统的内核采用单块结构,可以动态地加 载和卸载模块[7,8].系统利用内核模块的可动态装 载和卸载功能,可以方便地在内核中添加新的组件 或卸载不再需要的内核组件:内核模块的动态装载 性使得内核映像的尺寸保持在最小,并且具有最大 的灵活性、同时便于检验新的内核代码,而不需重新 编译内核且重新引导,从而用户可以根据自己系统 的需要构筑自己的私有内核,其源码的公开更为改 造其内核提供了可能,尤其为重建有特殊要求的操 作系统提供了可能[9]. 3 基于Linux的开发环境及开发工具 为了实现基于Linux的应用开发,必须建立一个 完备的Linux开发环境.嵌入式系统通常是一个资 源受限的系统,因此直接在嵌入式系统的硬件平台 上编写软件比较困难,有时候甚至是不可能的.目 前一般采用的解决办法是首先在通用计算机上编写 程序,然后通过交叉编译生成目标平台上可以运行 的二进制代码格式,最后再下载到目标平台上的特 定位置上运行.需要交叉开发环境的支持是嵌入式 应用软件开发时的一个显著特点,交叉开发环境是 指编译、链接和调试嵌入式应用软件的环境,它与运 行嵌入式应用软件的环境有所不同,通常采用宿主 机/目标机模式[1],如图1所示. 图1 交叉开发环境 Fig.1 The cross developm ent environm ent 3.1 交叉编译和链接 在完成嵌入式软件的编码之后,需要进行编译 和链接以生成可执行代码,由于开发过程大多是在 使用Intel公司x86系列CPU的通用计算机上进行 的,而目标环境的处理器芯片是ARM9的微处理器, 嵌入式系统没有足够的内存或存储资源来编译可执 行代码,这就要求在建立好的交叉开发环境中进行 交叉编译和链接. 交叉编译器和交叉链接器是能够在宿主机上运 行,并且能够生成在目标机上直接运行的二进制代 码的编译器和链接器.例如在基于ARM体系结构 的gcc交叉开发环境中,arm-linux-gcc是交叉编译 器,arm-linux-ld是交叉链接器. 嵌入式系统在链接过程中通常都要求使用较小 的函数库,以便最后产生的可执行代码能够尽可能 地小,因此实际运用时一般使用经过特殊处理的函 数库.对于嵌入式Linux系统来讲,功能越来越强、 体积越来越大的C语言函数库glibc和数学函数库 libm已经很难满足实际的需要,因此需要采用它们 的精化版本uClibc、uClibm和newlib等[10]. 目前嵌入式的集成开发环境都支持交叉编译和 27 2006年6月           袁俊杰,等:基于Linux嵌入式系统开发平台的建立         基于Linux嵌入式系统开发平台的建立 袁俊杰,曹作良 (天津理工大学机械工程学院,天津300191) 摘 要:嵌入式系统的开发与研究已成为当前的一个热点,Linux由于其独有的优势而成为很多厂家开发嵌入式应用 的系统,而ARM作为一种高性能、低成本的嵌入式RISC微处理器,已成为应用最广泛的嵌入式处理器.本文介绍了 ARM处

文档评论(0)

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

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

1亿VIP精品文档

相关文档