欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    几种Linux嵌入式开发环境的简单介绍.docx

    • 资源ID:5042327       资源大小:102.75KB        全文页数:8页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    几种Linux嵌入式开发环境的简单介绍.docx

    几种Linux嵌入式开发环境的简单介绍日期:2007-03-13 作者:Linux 时代 来自:做Linux嵌入式系统的对常见的几种嵌入式开发环境一定不会默生,由于主要接触网络相关产品的一 些系统设计,因此,将可能用到的嵌入式开发环境简要总结一下。主要涉及下面的几个东东:emDebian - uClinux - www.uclinux.orgbuildroot - buildroot.uclibc.orgscratchbox - www.scratchbox.orgopenEmbedded - http:/oe.handhelds.orgemDebianemDebian基于将Debian用于嵌入式系统的目的而开发。Debian是一个发展很快的项目,在我第 一次用Debian时 就再也不愿意换用其它的发布版了,目前我用的Debian已经安装了有两年的时间了, 但现在系统仍然是''最新”版本,良好的在线软件升级系统是Debian成功的原因之一。目前Debian已经 支持11个体系的系统,包括X86、PPC、MIPS、ARM、SH等(据最近的一则消息,ARM有可能不再支 持),并包含了大量的软件。这些要归功于Debian的开发团队,正因为有许多人使用和支持,因此,不是 比较偏门的软件,基本上不需要从源码来安装,这也是我喜欢用Debian的原因之一。这样好的一个系统,当然有人愿意将其用到嵌入式系统中去。emDebian基于一个很简易的嵌入式系 统开发的想法来构造嵌入式系统,即从一个成熟的系统中去除不需要的部份(如文档和不需要的工具),精 简出一个小的系统,这与下面要介绍的几个工具的想法刚好相反(下面几个都是基于from scratch即从 无到有,从头构建的方式)。emDebian提供一些工具来协助完成从现有的系统或安装包(deb文件,类似Redhat的rpm)中提取需要的东东,并协助完成完整系统的构建,当然也支持交叉构建了,比如你可以在X86的PC上构建一个基于ARM的嵌入式系统,而整个过程不需要编译任何一行源代码。顺理成章的,emDebian 的重要优势就展现出来了,现在你用的CPU超出11个Debian支持范围了 吗?没有,那么你可以简单的通过emDebian构建目标系统;你所需要的主体软件在Debian支持的官 方和非官方近2万个软件以外吗?没有,那么恭喜你,明天就可以给老板交工了。当然,对于特定的软件, 可能还是需要从源码来构建,不过同样的,我们可以将其生成Deb包,然后将配置加到emDebian 工具 集中,同其它所有软件一样的选取和配置。emDebian的发展似乎不是想像的那么好,现在主页上的新闻更新还是去2004年的。buildrootemDebian 实际上并不一定适合于资源非常紧缺的超小型系统,比如只有2M Flash的小型控制系统。 另外发行版的软件通常会以通用代码来编译,例如,为了尽可能在各种X86平台上都能够安装,大多数发 行版通常会以i686甚至i386代码集来编译软件,可以使文件的通用性很强,但CPU的性能却不能发恢 到最好(这就是为什么有时会看到一些厂商或爱好者发布PIII、PIV、athlon等优化系统的原因),这对于 嵌入式系统来说也不会是一件好事情。另外,没有源码的控制权,一些需要定制的东西也会变得难以实现, 因此,从源码开始构建仍然有必要。嵌入式Linux开发中使用的CPU速度往往向对不会太高,因此,尽可能提高代码的性能就非常必要。 通常开发人员应该对该CPU的具体型号有一定的了解,以便启用编译器中对该型号的优化,以ARM为例, 我们可以通过-march=armv5te 和-mtune=arm9tdmi来对代码在ARM9上的运行进行优化。有时这些优化体现出来的性能改善是比较大的,我曾对比过一些复杂算法的代码优化前后的性能(执行速度), 都有一定的提升。另外在PIV上测试过以i686和pentium4对一个语音编码算法进行优化,运算速度居 然提高了几倍。这种幅度的提升可能只是一个特例,这个算法有大量的复杂浮点运算,使用i386或i686指令集和使 用更先进的PIV指令集编译出来的机器代码对于同一个运算的解释可能采用完全不同的指令来完成,因此 性能提升较大就不足为奇了。同样这种代码,在ARM上通过ARM4和ARM5来优化后在ARM9上运行, 却没有那么大的提升。看来对CPU的一定了解也应该是嵌入式系统软件设计者应该具备的能力。那么又如何控制可执行文件的大小呢?除了却除软件中不需要的部份外,我们还应该考虑软件所引用 的库文件。GNU的Glibc是一个非常宠大而完整的库,至少对于嵌入式系统来说,其体积显得过于大了一 些。uClibc的提出较好的解决了这样一个问题。uClibc尽可能的兼容Glibc,大多数应用程序可以在很小 或完全不修改的情况下就可能使用uClibc替代glibc。通过uClibc来代替Glibc,可以在不改变应用程序 功能的前提下,大大减少发布文件的大小,无论应用程序以静态链接来编译,还是以动态链接形式编译。不过使用uClibc代替并不是简单的设置一两个参数就行了,通常需要使用一个不同的工具集 (gcc/binutils等)来编译代源码。手工的构造这样一个环境,对于大多数普通程序员来说,不一定是一件 很简单的事情,因此,uClibc的开发者创造出一个叫做buildroot的工具集。buildroot将自动构造编译 基于uClibc代码的工具集和uClibc库,并提供一个可配置的框架和一些构建一个基本系统的配置文件。 用户只需要通过配置菜单选择了相应的目标软件,buildroot就可以从构建基本工具集开始,一直到最后 构建出目标系统所需要的东西,如嵌入式系统常用的基于ext2的initrd,jffs根文件系统,压缩的根目 录树等,这些代码都是基于uClibc而不是系统的Glibc的。Buildroot对主机系统的要求较小,通常只需 要主机系统提供足以构建工具链(toolchain)的工具,如gcc/binutils等,当工具链编译完成后,对目标 系统需要的源码的编译过程与主机系统的开发工具集基本上就没有什么关系了。因此,不同的主机如果能 够通过第一步,编译完成工具链,那么编译出来的目标系统的执行代码就可以几乎不存在由于系统引起的 差异。这样,开发人员就可能在各自喜欢的Linux发行版上进行开发,而不必担心出现什么兼容性问题。uClinuxuClinux与emDebian至少有两个重要的区别,第一是构建方式,前面已经提到过了,uClinux属于 from scratch 一类的。另一个不同的地方,uClinux是支持不在emDebian支持的11种CPU的,当 然,这个说法不是很恰当,正确的说法是uClinux支持那些不具备MMU单元的CPU体系。uClinux的 第一个目的是支持MC68328芯片,现在已经能构支持更多的CPU,如Intel i960,ARM等。不过,uClinux 的主体开发团队目前已经不再支持ARM 了,还好Samsung的Hyok S. Choi接过了接励棒,Linux 2.6 版本的补丁可以在uClinux/ARM2.6找到。uClinux之前仅是核心的一些补丁,后来发展成为一个包括核心、库、应用程序、工具和编译相关的 配置文件的一个集成开发环境。与buildroot不同的是,uClinux不编译目标系统的工具集,也就是说, 相应的编译工具应该提前安装好。如,对于arm来说,需要先安装ARM交叉编译器。uClinux的编译器 也需要一些补丁,其中比较重要的两个方面主要包括:用于生成FLT文件的补丁:由于MMU的关系,uClinux不支持ELF可执行文件,这个补丁主要包括bin2flt工具包和一个ld的wrapper脚本等,用于(透明于用户)生成FLT文件;用于支持XIP(Execute In Place )的补丁:这个补丁需要对gcc进行一些小的修改;支持XIP主要是 为了解决小内存环境中运行的问题。XIP不一定适用于每种应用环境,对于内在要求特别严格的系统来说(空间第一位,如手机要求使用片 内RAM),可以通过将核心和应用程序编译为XIP支持,然后直接在Flash上运行,内存仅用于运行时数 据;而对于性能要求为主的系统(如高速网络处理器),则不能因为节省一点空间而使用XIP将程序直接在 Flash上运行,这样可能会降低指令的读取速度而影响系统性能(但仍然可以使用XIP,使程序的多个实例 在内存中共享代码空间,以后详细说);+ FLT可执行文件支持动态链接库(目前仅m68k支持,参见 uCdot: Shared libraries under uClinux mini-HOWTO)的补丁;uClinux的编译过程大致是,首先,通过可视配置界面(menuconfig/xconfig)选取Vendor和 board(实际上是选择了一些配置文件和产品相关的文件),然后根据选择构造一个适用于target的开发环 境,如生成头文件和需要的库文件(uClibc、glibc或uC- libc以及其它一些库),然后编译核心、库、应 用程序,最后将所有的输出安装到romfs目录中,根据需要生成目标平台需要的映像文件(如: romfs.img、linux.bin、rootfs.gz 等)由于一些过程细节被隐藏起来,uClinux现在的编译过程方便到只需要配置一下(make menuconfig),然后make就可以直接获得最终输出。不过这反倒成为一些初学者学习的一个麻烦,本 文完成后,根据对本文的反馈,将进一步对uClinux进行详细介绍。总的来说,目前的uClinux是一套主要用于无MMU核(但不限于此)的嵌入式Linux集成环境,也是 一个非常好的Linux from scratch的示例。抛开其MMU相关的补丁,uClinux也可以作为一套用于包 含MMU系统的集成开发环境,Snapgear就是一个很好的例子。实际上,我们可以从官方的uClinux源 码就可以直接编译一个支运行于X86的uClinux。ScratchboxScratchbox的故事要从buildroot讲起(这不一定是scratchbox开发者的故事,只是依据我个人的 认识)。buildroot可以从头开始,先构造编译器和基本开发环境,然后根据用户配配置构造一个适用于目 标平台的根文件系统。这个文件系统可以有许多用法,例如,做为initrd或通过NFS输出给目标系统使用。为了减少交叉编译软件带来的麻烦,可以配置buidroot创建一套目标系统的编译环境(Gcc、binutils、lib 等),这样用户可以通过这个基本文系统在目标系统上直接本地编译软件。如果目标系统性能足够的话, buildroot的任务到此就基本结束了。对于嵌入式系统的开发者来说,在目标系统上直接编译代码却不一 定都能够实现,因为多数情况下,我们的目标平台处理器性能并不会那么高,这样,我们就不得不面对一 个两难的选择:继续通过buildroot编译其它的软件,性能会高许多,但每个软件都需要进行交叉编译相关的改造;在目标平台上编译软件,对于只有几十或几百兆的低性能核来说,编译一个核心可能会让你等上半天 的时间;有没有好的办法解决性能和交叉编译的问题呢?先分析一下通过buildroot交叉编译不能解决的问 题。Buildroot只在一定程度上对目标平台进行了模拟,但仍有一些是无法实现的,例如,当目标平台不 同于主机平台时,不能生成并运行目标平台的中间代码。这样,许多通过autotools (autoconf/automake) 配置的软件就可能会出现问题。例如,configure脚本有时会生成一些中间代码,并试图运行以确认开发 环境中是否存在某个库文件或头文件,对于在X86上编译基于uClibc X86目标平台代码可能不会出现问 题,但如果目标平台是X86以外的平台,编译就可能会中断;又如,configure脚本确认编译器是否工作, 会试图编译一个包含空的主程序的代码并运行,实际一个可运行于目标平台的a.out确实生成了,也可以 正常运行于目标平台,但是这个测试会因为a.out被运行在主机系统上而错误的中断。这些问题一些被 buildroot通过补丁或复杂的configure参数解决了,某些中间执行文件,则通过HOSTCC(主机上的 CC)来生成并运行以生成最终文件。目前buildroot包含的软件或多或少都会有一些这样的补丁,而且开 发者一旦深入到对软件的定制,就会不停的被这些问题所困扰。Scratchbox相比于buildroot有几方面的改进:运行于chroot的环境,完全独立于主机,编译过程将基本与主机系统无关(并且scratchbox修改了 一些库,使得普通用户可以chroot到编译环境中,并且多个用户可以同时使用一套Scratchbox开发套 件和完全独立的用户资源);透过qemu模拟运行或sbrsh解决中间执行文件或类似configure测试文件运行的问题;对(chroot后)的系统进行修定,达到足以欺骗大多数软件的效果,这并不是指的让软件可以不进行改 造就可以交叉编译,而是使软件误认为这就是在目标平台上编译;不过Scratchbox目前还只能编译ARM和x86的代码,不能支持buildroot所支持的ppc、 mips 等。本文不详述每一种环境,因此各个软件都只是点到为止(虽然可以讲得更详细一些,但这些内容还是独 立出来比较好一些),不过这里还是引入一个很简单的示例,根据scratchbox网站上的文档,安装完成 后,进行简单配置就可以使用了(Debian用户的安装可以更简单,因为该站提供Deb包,直接apt-get 就行了)。通过/scratchbox/login登入开发环境,通过sb-menu配置一个基于ARM的环境(其中 Select CPU-transparency method 选 qemu 不要先 sbrsh),然后写一个 helloword.c,编译并运彳亍 之。通过ldd可以看到,在没有任可改动的情况下,顺利的生成了 ARM ELF,但在scratchbox里却可 以在X86的主机上正常的运行!sbox-redice: > gcc -o hello hello.csbox-redice: > file hellohello:ELF 32-bit LSB executable, ARM, version 1 (ARM),for GNU/Linux 2.0.0,dynamically linked (uses shared libs),not strippedsbox-redice: >./hellohelo world!sbox-redice: >CUOL;com登录I注册I首页I收藏嵌入式在线搜索:综合V 搜索首页解决方案资料下载论坛 Blog 伯乐桥 百科 买卖 资讯 技术中心 厂商 部落 搜索导语:嵌入式系统的更新变化越来越快,我们的嵌入式系统设计开发工程师面临着强烈的市场需求以及日益错综复杂的设计挑战,对 开发时间要求比较紧,尤其是做消费类产品,更是爰求快速开发、生产、上市。正确选择一套先进的、功能强大的,同时又使用方 便,界面友好的开发工具就显得至关重要。本专题旨在介绍目前业界主要的嵌入式开发工具,提供软件开发工具的正式版/试用版、 用户手册、教程下载以及工程师们的工作笔记、开发经验及常见问题等文章。为工程师们及新进业者提供一个提升、学习的空间。物嵌入式软件开发工具Keil是业界最受欢迎的51单片机开发工具之一,它拥有流畅的用户界面与RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发RealView MDK开发工具源自德国 Keil公司,被全球超过10万的嵌入式开发 工程师验证和使用,是ARM公司目前鼠 新推出的针对各种嵌入式处理器的软件 开发工具。Keil是业界最受欢迎的51单片机开 发工具之一,它拥有流畅的用户界面与 强大的仿真功能常见问题;Keilc51 C166C251常见间题集锦应用技巧:Keil软件仿真的串口调试技巧使用手册:Keil C51中文说明软件下载:Keil C251 Keil C166 Keil C51工具剖析;从ADSSlRealView MDK应用技巧:ADS toMDK转换例程使用手册:RVDS使用手册软件下载:RealView MDK3.12开发工具评彳古软件MPLAB是一种易学易用的PIC系列 单片机产品的集成开发工具软件。该软 件由MPLAB编辑程序、MPUKB项目管理 程序(Project manager)、MPASM汇编程 序(Windows版)和MPLABSIM模拟调试 程序等工具软件组成-工具剖析:面向,族速诲入式MCU设计的仿真应用技巧:MP以B IDE快速入门指南使用手册:MPLAB编辑器入门MPLABIDE用户指南软件下载;MPLAB IDE v7.60a MPLAB IDE V7.62VisualDSP+ 是一款针对 ADIBlackfiris SHARC和TigerSHARC等处理 器易安装易使用的软件开发和调试集成 环境(IDDE).通过单一界面可以从始 至终高效地管理项目。淡集成开发环境 可以使您在编辑、构建、调试操作间快 速轻松地切换。工具剖析:VisualDSP+发工具介绍及实例剖析应用技巧:基于VisualDSP+4-中频信号模拟器软件设计使用手册:VisualDSP+5.0软件使用手册软件下载:VisualDSP+MO天试用软件oPlatformStudioXilinx Platform Studio 集成开发 环境包含很多嵌入式工具、旧、库、向导 和设计生成器,能帮助快速创建定制的 嵌入式平台。工具剖析:为嵌入式处理设计选择合适的开发工具应用技巧:Platform Studio!频演示ISE多媒体教程-使用手册:Platform Stub晞助专题E5源理和技巧,软件下载:Platform Studio ChipScope ProNios HIDE提供了一个统一的开发 平台,用于所有Nios II处理器系统-仅仅 通过一台PC机、一片Altera的FPGAl及 根JTAG下载电缆,软件开发人员就能 帽往Nios II处理器系统写入程序以及和 Nios II处理器系统进行通讯。,工具剖析:Nios II IDE。C+编译器和编译环境手册应用技巧:Niosll C2H硬件加速器自动生成白皮书使用手册:Nios II软件开发人员手册软件下载:Nios II嵌入式设计套件评估版风河公司的新一代Workbench开发 平台继承了其原有的Tornado集成开发平 台的一贯忧势,并且功能更加强大,由 于新采用了先进的Eclipse软件框架结 构,从而使整个系统更加开放和易于扩 展。IAR EWARM集成开发环境支持ARM" ARM呐核芯片操作简单,易学易用多种代码优化方式,极高的代码兢率IAR EWARM集成开发环境支持ARM" ARM9内核芯片操作简单,易学易用多种代码优化方式,极高的代码裁率风河公司的新一代Workbench开发 平台继承了其原有的Tornado集成开发平 台的一贯优势,并且功能更加强大,由 于新采用了先进的Eclipse软件框架结 构,从而使整个系统更加开放和易于扩 展。工具剖析:Workbench嵌入式开发平台的特点和忧势应用技巧:多核环境中的高效率调试方法使用手册:Workbench特性在线视频介绍,软件下载:Wind River Workbench 2.6.1驱动程序:ST-Linkfe真器驱动程序应用技巧:EK-STR711F演示程序使用手册:IARE.WARM快速入门软件下载:EW8051 V7.20D集成开发环境(免费4K版本)几种LinuxT嵌入式开发环境的简单介绍嵌入式Linux开发工具选择和应用分析 LinuxA式系统开发平台选型探讨,Windows CE开发工具详细介绍,WindowsXP Embedded 开发工具概述(一) LinuxTc开发工具介绍,Windows CE Platform Builder 2一11 介绍,Windows XP Embedded 开发工具概述(二

    注意事项

    本文(几种Linux嵌入式开发环境的简单介绍.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开