嵌入式产品获得了巨大的发展机遇,也为嵌入式市场展现了美好的前景,同时也对嵌入式系统的开发者提出了新的挑战。
(1)嵌入式操作系统:
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser。
嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
(2)嵌入式Linux操作系统:
选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux,如果可能,尽量选择使用普遍的嵌入式Linux系统。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:
1)Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越在嵌入式系统开发中仿真工具(ICE)的障碍。
2)内核的完全开放,使得可以自己设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现。
3)强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。
在嵌入式系统中使用Linux有2种途径:
1)是用户自己装配(称为DIY内核),可以在GNU的网站找到全部Linux代码,然后再编译生成你需要版本的工具链和应用程序库,这个过程比较耗时和困难。还需要指出,这种DIY内核的配置,添加应用和驱动程序也是不标准的和复杂的,这是嵌入式系统的特殊性所在,比如说,有的应用是网络上的小型互连设备,它需要多个以太网、USB主机、小型的NOR Flash文件系统,而一个手持终端,它关心的是LCD的触屏、红外或蓝牙的接口、USB用户端、快速的启动,动态的电源管理和NADA FLASH,这样就需要在数十家Linux相关网站下载各种补丁、应用和工具,把它们和内核进行反复的编译和调试,确信它们之间以及它们在硬件评估板上是稳定可靠工作的,这个过程是在没有任何技术支持下完成的。
2)选择一个商业的嵌入式Linux操作系统平台。商业化的嵌入式Linux版本是针对嵌入式处理器所优化设计的,已经支持了各种半导体厂家的评估板和主要的设备驱动,商业化的嵌入式Linux包含了文件系统、应用、实时性扩展和技术支持培训服务。
嵌入式系统高级编程语言:目前,在嵌入式系统开发过程中使用的语言种类很多,但仅有少数几种语言得到了比较广泛的应用,主要为Ada、C/C++、Modula-2等几种。
|