BREW在手机中是一个执行环境,是一种应用框架。BREW 提供一个高效、低成本、可扩展的应用程序执行环境,着重开发可无缝植入任何实际手持终端设备的应用程序。与建立在对内存空间、处理器速度和相关硬件有较高要求的操作系统之上的高端产品不同,BREW可以在各种层次的设备类型上运行。
BREW平台提供的应用执行环境就好像PC 机上的操作系统一样(BREW4.x的以后版本更是如此),屏蔽了底层硬件设备和网络协议的差异,使手持设备可以下载指定类型的应用程序或游戏来使用,而无须关注底层硬件设备或网络协议的不同实现。同时,通过BREW 与平台无关的接口特性,供应商可以提供成套的完整的资讯、商务、娱乐功能。
最下面一层是硬件设备层,主要包括手机中的硬件设备和处理器,支持BREW运行的终端都采用基于嵌入式RISC微处理器的ARM体系结构。硬件设备层之上是操作系统层,通常单核结构的手机都采用实时操作系统,提供如系统控制、文件系统接入、电源管理和安全等基本的平台服务。常见的实时操作系统包括REX,实时嵌入式的Linux等等。
操作系统层之上是基础软件层,所有的设备驱动以及与硬件相关的功能都在这一层实现。设备驱动用来控制硬件,为上层开发提供一个逻辑抽象,使上层的开发者不用考虑下面的具体硬件,只要通过驱动程序的接口就可以直接控制硬件,从而增加了系统的可扩展性。例如USB和串行口的通信功能,LCD的显示驱动,扬声器和麦克风的功能等等。
再往上就是和BREW相关的重要的一层,它包括两个接口层,芯片接口层和移动接口层。芯片接口层提供了和芯片相关的API,同时支持由通信基带处理器提供的各种扩展服务。例如蓝牙功能,声音与图片的编译码器,网络服务,电话服务,定位服务,文件系统服务等等。BREW移植时的OEM层,主要指的是这一层。OEM层通过回调函数和程序应用接口函数实现应用层和承载协议栈、LCD(液晶显示器)、键盘、SPEAKER(喇叭)、SIM/USIM等设备的通信。OEM层的重要工作之一就是将下层的状态机封装成应用要求的状态。
移动接口层提供的功能基本上都是和芯片无关的,即除了芯片接口层之外的其他所有功能。例如地址本功能,与显示相关的功能(如字体,颜色,图像等),铃声功能,字符串处理,内存管理功能等等。BREW移植时的OEM层也包含这一层中的部分功能,但这一层中的决大部分功能都是由BREW执行环境中的基础库来实现的。
再往上就是AEE层,具体的BREW应用以及扩展类应用等等。