AMSS – Advanced Mobile Subscriber Software

http://blog.csdn.net/dulijun_98103207/article/details/5327225

http://zhidao.baidu.com/link?url=Vfm4eR1GiMpDNABolRwa_VsG83MrWmvRAjvYPTaDT4BDn0Sb6lpWRew6mudnVWRcPD2r5s85Ok3lfCmCuaymmK

在高通7系列的架构中,一个IC内部集成有两个ARM处理器,一个ARM9,专门负责处理通信协议,射频以及GPIO等,另外一个是ARM11,用来处理多媒体,以及其他的一些任务。在ARM9端,有一个自己的操作系统,我们称之为AMSS (Advanced Mobile Subscriber Software),在ARM11端,可以执行我们熟知的一些操作一些,例如linux。这两个处理器之间通过shared memory的硬件方式来沟通,操作系统之间通过RPC – remote procedure call的方式交互数据。表面看看起来二者之间的通信很容易理解,但其实在实际开发上却是不同的。由于ARM9是负责最直接的硬件IO的控制,因此处理默认的PIN定义可以有AMSS先做好之外,如果在linux执行的时候改变的话,必须通过RPC去请求ARM9上面的AMSS来处理。然而,RPC是利用Shared memory driver来forward,由于shared memory driver是没有原始码的,因此对于linux kernel里面的driver来讲,有部分的API等同于是没有源码与追踪的。只能假设share memory里面的程序是没有问题的。

下面来看看AMSS的软件架构

|– AMSS
|    |– platform 
|    |– products
|
|– AMSS_CUST
     |–products

AMSS里面的就是amss的源码,包含platform以及我们对这个芯片提供的一些服务,这些服务都以task的形式存在products下。 

在/AMSS/platform下包含有l4, cs, libstd, 与rte。这些为/AMSS/products下的task提供了底层运行环境。L4是内核,提供地址空间、线程、IPC等功能;cs(component service)实在L4的基础上提供了一个rte(run time environment),提供了内存保护,线程创建、同步等功能,高通定义了相关的接口可以让我们增加RTE所能提供的功能;libstd里面包含了AEE(application executive)的接口和一个静态的AEE库;rte里面包含一些与IPC有关的内容。

在/AMSS/products下包含很多内容,详情如下:

|– 76XX
     |– 1x                      // Source code for CDMA 1x protocol
     |– apps                  // Source code for some BREW apps, such as core and UI
     |– apps_proc         // Application boot loader
     |– build                  // Trace32 JTAG script for building, build image, and log
     |– core                   // Shared APIs folder
     |– dal                     // Device abstract layer code
     |– data                  // Source code for data services
     |– drivers              // Drivers for LCD, peripherals, etc.
     |– hal                    // Hardware abstract layer code
     |– hdr                   // Source code for high data rate protocal
     |– modem             // Modem AMSS source code
     |– modem_proc    // Modem AMSS boot files
     |– multimedia       // Multimedia files, including audio, video, etc.
     |– nas                  // Source code for NAS layer protocal
     |– secboot           // Boot loaders, from PBL to OEMSBL
     |– services           // Source code for services
     |– tools                // Code for flash operations
     |– wcdma             // Source code for WCDMA protocol
     |– wconnect         // BT soc config and ftm (factory test mode) 

bsp:board support pacage,最低操作系统,相当嵌入器的整个主板驱动程序。最简单的驱动代码,属OS或Firmware的一部分,初始化主板芯片组上的各个控制器和硬体接口,然后可以对系统开发板进行调试或写入协调。amss:advanced mobile subscriber software,高级移动用户适用软件,dmss的升级版,基于高通MSM芯片的手机开发软件包,专门用于有关modem的手机软件开发,包括从实时操作系统到用户接口模块,amss则支持多模应用和切换方式。oemsbl,oem(Original Equipment Manufacturer)的Softbridge Basic language,原始设备生产商的嵌入式基础连接语言,在qcsbl之上对周边设备和硬件初始化,允许downloader烧录,加载appsboot,启动arm核心。然后就可以加载amss。rex是高通的Real-Time Executive,实时操作系统,brew平台的内核。。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注