您的位置:首页 > 其它

wm第三篇:WINDOWS MOBILE的OEM层应该如何开发

2010-05-17 09:50 288 查看
前面说了wondows mobile的一些开发特性,这篇作为windows mobile 开篇之作,做了一个打开话题引子,对WM开发牵涉到的软件工程方面的想法进行了一个描述,第二篇,对bootloader 进行了一个框架介绍。

在第三篇,详细描述一下那么了微软的OAK代码后,在OEM层面,应该做什么开发。OEM层主要为了OEM客户提供一个手机升级下载的处理接口,一个是手机开机的处理流程。

(1)OEM层-系统内存的布局了解

在OEM层,开发设计者首先需要搞清楚的是,系统物理内存的分配布局:

%__winceroot%/platform/deviceemulator/src/inc/oemaddrtab_cfg_inc文件中,g_oaladdressTable数组,这个数组对RAM以及ROOT的使用情况做了一个很详细的描述,用户可以需要根据自己OEM的开发板情况进行一个详细修改以及配置。

(2)OEM层-startup函数

这个函数在wince启动过程中,在系统上电以及复位以后,第一条指令就是执行startup此接口。在%__winceroot%/paltform/deviceemulator/src/bootloader/eboot/source 中

targetname = eboot

targettype=program

releasetye=platform

exeentry=startup

其中startup是采用汇编进行写的,在startup.s中,此函数主要目标是给CPU准备一个合适的工作环境,比如清空TLB和cache,关闭中断,配置PLL,设置内存控制器等。

可以简单的理解,startup属于芯片级别的CPU初始化;基本上是微软自己做好的,不太建议OEM客户进行修改,为了能使的OEM客户有一个私有的开发空间,便于和自己的BB做到软件和硬件绑定,wm做了一个很好WM启动架构,STARTUP+oemPlatformIint结合。

WM在OEM层面,还提供了另外一个OEMPlatformInit的初始化函数,此函数主要是负责BB主板的初始化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐