|
嵌入式Linux具有稳定、可扩充性及开放原始程序代码等特点,可兼容多种处理器和主机,广泛适用于各种产品和应用。但是,交叉编译、设备驱动程序开发/除错,以及更小尺寸等要求对嵌入式Linux开发者来说都是严峻的挑战。为应对这些挑战,针对嵌入式Linux开发的专用工具应运而生,而且发展十分迅速。
但是,许多这类开发工具都不兼容非X86平台,而且也没有很好地实现归档备案或整合。在其它开发环境下,组件间的高度整合并没有完全兑现。因此,要想完全从这些免费的软件组件开始制作一个完整的跨平台开发环境,开发者应意识到这将需要大量的调查、实施、训练和维护方面的工作。
Linux是少数既可以在嵌入式设备上执行也可作为开发环境的操作系统之一。这一特性可让开发者在转向此开发系统之前于常用硬件(比如X86桌面系统)之上开发、除错和测试应用程序和库,因此可减少对标准参考平台和指令集仿真器的依赖。这一技术仅适用于应用程序和库,但不适用于设备驱动程序,因为后者的开发依赖于Linux架构。
开放原始程序代码团体及一些软件供货商可提供设备驱动程序开发工具。由于设备驱动程序比标准应用程序距离硬件更近,因此它们的开发比较困难。所幸的是,Linux桌面系统可以利用一些Windows及其它操作系统所没有的工具。有足够经验开发设备驱动程序的开发人员可能已经习惯用Linux开发系统了。
Linux的快速发展及其桌面方案的不断涌现突显了一个重要问题:所选择的工具方案应如何在不同的Linux分布式系统上执行?它们依赖于主机平台的软件配置吗?
有些Linux工具提供独立于主机平台的开发环境,包括一系列可支持开发工具的应用软件、库和实用程序。这一方法几乎将开发环境与主机配置完全隔离开来,因此主机可以是任何Linux分布式系统,而且任何更新和修改都不会影响开发环境的功能。
这种方法的主要缺点是对储存空间的要求有所增加─约200MB,因为它自己实际上相当于一个微型Linux分布式系统。
|