作 者:微处理机 何晴 张保平
DSP和ARMRISC微处理器分别由两个操作系统所控制,DSP采用TI自己的微核心———DSP/BIOSII,可以在上面方便地开发符合实时运算效率的软件组件;而ARM微处理器则使用一般的嵌入式操作系统来控制,如我们熟悉的WindowsCE,Linux等。为有效地支持整个OMAP平台,两个处理器之间的资料通信就成为关键。针对这一点,TI提出DSP/BIOSBridge作为解决方案,能够让应用程序开发人员在双处理器架构下撰写程序,就有如在单一处理器上一样方便。
OMAPSoC在开发工具方面使用的是TI流行的CodeComposerStudio(CCS),这套开发工具包含了程序编译器、仿真器以及程序调试器等,熟悉CCS后,使用这些工具可以很方便地开发各种基于OMAP的应用程序,尤其在撰写DSP的应用组件时,通过CCS可以很容易的在DSP/BIOS上整合支持影像及音频数据处理的组件,而不必花太多心思了解底层操作系统的运作方式。
目前,对于OMAP1510,支持得比较好的操作系统是Symbian公司的EPOC。它的整个系统为Client-Server架构,可以在Windows操作系统上使用SymbianQuartzC++SDK6.0开发EPOC上的OMAP应用程序,应用程序采用OMAP中的DSP用来处理多媒体资料,并在上面执行TIDSP/BIOS,而ARM处理一般性工作。举例来说,在上面开发的MPEG4播放功能,就是由DSP实现MPEG4的解压缩功能,在ARM上面执行如档案处理、画面处理等工作,同时EPOC建立一个MultimediaServer来负责相互之间的信息沟通,并建立相关的API以利于应用程序的扩充。
在系统调试方面,OMAP提供了一个JTAG接口,在芯片上还整合了多功能的周边控制组件。例如LCD控制器、内存扩充接口,红外接口、蓝牙接口,触控式面版扩充接口及USB接口等等,可以方便的配合各种输入输出设备使用以及进行功能扩充。
软件设计
图2是本系统完整的软件构架框图。其中,驱动程序(DeviceDrivers),微核心(MicroKernel)和系统服务三层组成了操作系统。与一般的计算机系统不同,由于嵌入式系统的硬件都已经固定下来,所以驱动程序都内建在操作系统里。微内核完成狭义的“操作系统”功能,如控制计算机的硬件装置,内存和档案系统的管理,系统资源的分配和内存管理等等。
图2 软件架构框图
为了实现“跨平台”要求,操作系统在驱动程序之上再建立一层硬件抽象层,通过对硬件的抽象描述,可降低和底层硬件的耦合度。即使底层的硬件不同,只要有适当的驱动程序,整个系统的架构不需改变就可以运作。这主要是为以后的系统扩展和移植做准备。
系统服务指的是位于语言层次,提供程序语言呼叫的一组接口及其操作。其作用类似于Dos下的“int21h”指令,即提供中断服务程序。只要应用程序向操作系统请求协助,系统服务就会被调用。这一层还包含了对系统语言库的支持。次上层的图形用户接口(GUI)与其它函数库的作用是提供可视化组件,供在上面开发的应用程序直接调用,做成接口。此外,还有一些较高级的函数库也在这一层出现,如多媒体函数库。这一层是决定应用程序设计难易的关键。最上层是应用程序,主要包括网络浏览器、e-mail、文件管理等常用功能。应用程序的质量和数量是手持设备产品主要的竞争力之一,如市场占有率第一的PalmOS机种就有数万种应用程序,并提供完善的接口供用户开发和扩展.