当前位置:首页 > 嵌入式 > 嵌入式硬件

做linux嵌入式系统的对常见的几种嵌入式开发环境一定不会默生,由于主要接触网络相关产品的一些系统设计,因此,将可能用到的嵌入式开发环境简要总结一下。主要涉及下面的几个东东:  emdebian - emdebian.sourceforge.net  uclinux - www.uclinux.org  buildroot - buildroot.uclibc.org  scratchbox - www.scratchbox.org  openembedded - http://oe.handhelds.org  emdebian  emdebian基于将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年的。  buildroot  emdebian实际上并不一定适合于资源非常紧缺的超小型系统,比如只有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的开发者创造出

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

德国康佳特亮相上海工博会,展示多款应用就绪的嵌入式解决方案平台

关键字: 嵌入式 传感器 处理器

双方携手为客户打造以存储为核心的模块化基础架构,支持先进的多裸片架构设计

关键字: 非易失性存储 半导体 嵌入式

本届年会将在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)举行,面向嵌入式设计工程师推出25门技术课程

关键字: 嵌入式 MCU 模拟

上海2025年9月5日 /美通社/ -- 由纽伦堡会展(上海)有限公司举办的上海国际嵌入式会议将于 2025 年 10 月 16-17 日在上海世博展览馆举办。 此次会议将由三个版块组成:嵌入式技术会议、汽...

关键字: 嵌入式 CE CHINA EMBEDDED

从外部看,电子系统仿佛一个统一的学科或设备,各组成部分协同工作,浑然一体。然而揭开表象,其内在却是另一番景象:一个碎片化、多层次的世界——其中每一层都独立且复杂,衍生出各自特有的工具、专家、工作流程,甚至哲学体系。

关键字: 嵌入式 电子系统 半导体

8位单片机在嵌入式设计领域已经成为半个多世纪以来的主流选择。尽管嵌入式系统市场日益复杂,8位单片机依然不断发展,积极应对新的挑战和系统需求。如今,Microchip推出的8位PIC®和AVR®单片机系列,配备了先进的独立...

关键字: 单片机 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳国际电子展盛大启幕。本届大会以"All for AI"为主题,深圳市德...

关键字: AI 工业级 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博闻创意会展主办的 第22届深圳国际电子展暨嵌入式展(elexcon2025)在深圳(福田)会展中心隆重开幕。 作为中国电子与嵌入式技术领域的专业大展,本届展会...

关键字: 嵌入式 电子 高通 AI

模块化设计作为一种将系统拆分为独立、可复用组件的方法,能够在低代码平台中实现功能的灵活组合,并最大限度地提升系统性能。本文将探讨如何通过模块化设计,使得低代码平台既能快速适应变化,又能保持高效稳定的运行。

关键字: 模块化设计 嵌入式

CPU亲和度通过限制进程或线程可以运行的CPU核心集合,使得它们只能在指定的CPU核心上执行。这可以减少CPU缓存的失效次数,提高缓存命中率,从而提升系统性能。

关键字: Linux 嵌入式
关闭