基于newlib的嵌入式环境构建.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于newlib的嵌入式环境构建.pdf

基于NewLib 的嵌入式系统ToolChain构建 郭澎,陈林 重庆大学软件学院(400045) E-mail:gpsharp@163.com 摘 要:在构建嵌入式系统开发环境时GNU 工具链 (Toolchain )以其丰富的工具、高度的可移 植性和传统的UNIX设计引起人们的关注。但在将GNU 工具链 (Toolchain )应用到嵌入式软件 开发时,其标准C库Glibc显得过于庞大,生成代码效率不够理想。针对该问题,Newlib 以完善 的功能,良好的移植性及灵巧的结构成为Glibc的最佳替代函数库。本文详细介绍了如何移植 Newlib并基于Newlib构造开源的嵌入式环境工具链。 关键词:工具链; C运行库; 桩函数; 移植 1.引 言 开源工具链(GNU ToolChain) 以其丰富的工具和高度的可移植性广泛地应用在桌面系统开 发环境的搭建中。近年来,人们发现GNU ToolChain 在嵌入式系统的开发中同样有着卓越的表 现。尽管GNU Toolchain 完全可以满足嵌入式系统开发的要求,但国内嵌入式系统开发中直接 使用GNU Toolchain 搭建嵌入式开发环境的却并不多见。这是因为开发者通常从开发效率出发 选择了更易使用的, 由国外专业公司提供的开发套件如Vxworks Tornado、WinCE 等。而实际上, 这些开发套件很大程度上依赖于GNU Toolchain 甚至直接建立在GNU Toolchain 之上。比如Wind River 公司就在它的Tornado 开发套件中利用GNU ToolChain 的部分工具。由于嵌入式设备有着 较高的附加值并且广泛应用于各个敏感行业,因此,从自主知识产权和安全角度出发,我们应 借鉴囯外经验充分利用开源代码。本文正是以这种思想为指导,介绍了如何利用开源代码GNU ToolChain 和Newlib 为嵌入式系统开发搭建开发环境。 2.GNU ToolChain 介绍 Tool chain是为建立运行在嵌入式系统上的二进制文件而涉及到的一系列工具。GNU环境下 的tool chain主要包括预处理器(CPP),编译器(GCC),C库(Glibc/NewLib),汇编器(AS)和链接器 (LD)[1] 。其中CPP处理所有的头文件和宏,并生成C程序文本文件。GCC将经过预处理的C文件 编译为汇编代码。GAS将汇编代码生成二进制可重定位的目标对象文件,再由链接器LD并入引 用到的预编译目标文件并绑定到地址最终生成可执行的映象文件。 GNU tool chain通常采用Glibc作为标准C运行时。Glibc提供了与内存分配、目录查找、文件 操作和数学计算有关的所有底层函数,减少了编码人员的工作量,极大地提高了嵌入式系统开 发效率。Glibc库中包括了大量平台相关的函数,这些函数并不一定是嵌入式软件所需要的。因 此,将GNU ToolChain应用到嵌入式系统时,Glibc显得过于庞大。基于Glibc 的tool chain所生成 的可执行文件将占用大量资源,在嵌入式系统中的运行效率并不理想。 基于以上考虑,本文在建立ToolChain 中采用了更为灵巧,并具有良好可移植性的NewLib 作为C运行时,以建立更能适应嵌入式系统软件要求的ToolChain 。 3.NewLib 简介 NewLib是一个与GNU兼容,面向嵌入式系统的C运行库。它由多个子运行库组成,包括一 -1- [2] 个简单的ANSI C库,数学库和一些板级支持包的集合 。 作为一种小型的C 运行时环境,NewLib 借助其良好的可移植性、可重入性,以及完备的 功能从众多嵌入式C 运行库中脱颖而出,广泛地应用于各种嵌入式系统中。 NewLib 最初是由Cygnus S

文档评论(0)

tangtianxu1 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档