以文本方式查看主题

-  曙海教育集团论坛  (http://peixun0.cn/bbs/index.asp)
--  Linux技术讨论区  (http://peixun0.cn/bbs/list.asp?boardid=7)
----  漫谈嵌入式Linux技术  (http://peixun0.cn/bbs/dispbbs.asp?boardid=7&id=1345)

--  作者:wangxinxin
--  发布时间:2010-11-15 11:00:46
--  漫谈嵌入式Linux技术
今天,Linux 正广泛应用于各种嵌入式设备的开发中,如数字电视、机顶盒、DVR播放器、xDSL/有线/PON调制解调器、家用路由器和网关。它尤其适合具有先进网络功能、大量设备驱动程序和免版税运行时间的数字家庭和家庭网络。除了嵌入式设备,Linux 还支持企业级设备,如服务器和路由器。

     Linux在移动设备中也获得了青睐。In-Stat的报告显示,移动Linux将牢牢抓住中国巨大的市场占有率。该机构认为,到2012年,中国基于移动Linux的智能手机总发货量将达到中国智能手机总出货量的25.4%。

     不断改进的Linux内核

     Linux当面对特定的嵌入式应用时仍存在很多挑战,包括那些内存空间小或实时确定性以及安全性能要求高的应用。工具链的改进、新的调试工具和性能、不断为标准化演变的努力等,都将继续提升Linux对于所有嵌入式应用的价值。在这其中,Linux内核的不断改进异常重要。

     Linux内核是应用软件采用的标准Linux API和处理器系统(应用软件运行其上)底层硬件结构之间的接口。该内核是内部元件和外部可加载模块的复杂组合。在开机启动期间,内核必须及时发现,并正确布置核心系统处理器、系统存储器、硬盘、视频卡、USB端口、网卡和音频处理器,而且要在开机启动期间提供足够的显示表明成功与否。

     维持如此复杂的代码收集很明显是一个严峻的挑战。内核源代码被划分为标准“树”结构,这样子系统就能够更好地彼此隔离,有助于实现几个关键内核维护工作的分布。这种分工可以最大限度地减少内核某一部分发生重大变化对其他部分产生的影响。每个后续子系统的改变传达给主要管理员,最终到达Linux内核最上游的管理员。这些变化被称为“修补(patch)”,在标准格式下创建和应用。

     供应商和开发人员将他们的知识反馈到开源社群以改进内核。Linux开放、分散的本质,再加上背后强大的社群支持,使基于Linux的OS成为培养创新的良好选择。

图片点击可在新窗口打开查看

为下一个项目计划的Linux操作系统

     “免费”使用,但并非“零”成本

     除了决定使用商用还是免费发行版Linux,开发人员还必须认识到其调试/开发工具的能力和局限。

     充分发挥嵌入式Linux免费发行版的优势,已经成为消费产品领域被广泛接收的现实。在这些市场上,产品运行率非常高,对代码的改善更新非常频繁,而且产品的销售成本至关重要,所有这些都使得开源模式极具吸引力。但是,能集成开源/免费软件,还可为处理器内核提供无缝调试环境的工具要求对内核和SoC元件互动有深刻的了解。

     现在有若干种“免费软件”调试解决方案,设计人员需要全面了解其局限性。比如,针对Linux内核最常用免费软件调试器是KGDB。KGDB的主要缺点是要求重新编译内核。这对那些已经在市场上通用的产品应用来说产并不总是可行的。修补内核还可能引入影响系统性能的代码变化。

     GDBServer是另一个面向应用调试的颇受欢迎的免费软件调试器,但它主要问题是缺乏对同时调试大量线程/进程的支持。随着调试的线程/进程数不断增加,GDBServer性能迅速恶化,导致反应时间太慢,进而使目标系统出现故障。其他问题还涉及到:不能在相同的目标连接上调试驱动程序和应用;调试设备驱动程序和调试共享库。

     Linux内核的维