新闻中心

EEPW首页>嵌入式系统>设计应用> 基于S3C2410的Windows CE 5.0 BSP移植

基于S3C2410的Windows CE 5.0 BSP移植

作者: 时间:2012-04-13 来源:网络 收藏

3.4小结

此次是升级,而硬件上基本没有变化,因此很多代码不需做修改即可使用,通过以上,不难发现此类移植过程中所要做的工作主要在以下几个方面:

⑴ 修改dir文件,在dir文件中指定了当前目录哪些文件夹被系统编译,编译器根据dir层层搜索,而移植不可避免的带来了目录的变化,通过修改dir来指定新的编译路径。

⑵ 修改sources文件,在sources文件中,指定了编译类型有PLATFORM,OAK;编译的时候引用的库 sourcelib,targetlib不一样,移植的时候一定得注意。目标文件类型有Library,Dynlink,program;include 字段包含的则是编译时候所需要的头文件目录。有个比较特殊的sources是位于Platform(例如smdk2410)下的sources.cmn,它包含了该平台的通用库,头文件路径,这个文件在移植过程中需要修改的,否则,编译出错。

⑶ 修改platform.bib,platform.reg等文件,因为这两个文件决定了镜像中包含哪些模块(dll)以及注册表相关信息,驱动移植的过程中,每个模块的改动都需要修改这两个配置文件。

⑷ 驱动源文件中的头文件的修改以及函数,变量修改等,这些依据编译时候出现的错误来确定。

除此之外,各部分的移植还需特别注意的地方有:

Bootloader部分:因为bootloader下载,烧写,启动镜像过程会涉及到内存地址的问题,各种入口地址不能出错误,以及内存超出范围,冲突都需要特别小心。尤其是g_oalAddressTable这个表,这个表定义了物理地址虚拟地址之间的转换以及内存的大小,如果设置不正确,将出现校验错误,下载失败或者镜像无法启动等错误。

OAL部分:startup.s以及OEMInitDebugSerial两函数需要特别注意,这两个主要是初始化硬件及串口,这是系统运行及驱动调试的基础,如果硬件配置以及调试串口有改变,则需要适当的修改。此次BSP移植,因硬件平台没有变化,因此OAL部分很多代码无须修改即可使用。

驱动部分:4.2与的结构,库有了很大的改变,因此需要修改引用库路径,以及头文件的引用路径,大部分驱动都将会遇到这样的问题。

4 结束语

本文创新点:通过对BSP结构分析,将具体平台的4.2 BSP移植到Windows CE版本,包括移植bootloader,OAL,驱动程序,使之能够通过编译并生成镜像,已经能在平台上成功运行。通过这次移植,使笔者体会到BSP 移植是一个挺复杂,烦琐的过程,因Windows CE跟Windows CE 4.2 BSP包的组织结构不同,导致很多链接库无法找到或者是这些库已经被替换,删除,只有耐心的根据这些错误提示来定位,有时候也需要去makefile里去找答案。不过移植BSP比重新开发BSP更加节省开发时间,从而缩短产品的研发。

参考文献:
[1] 潘永才,鲁启华,田茂.s3c2410的GPS通信实现[J].现代电子技术,2006,15,157-159
[2] 林涛.嵌入式操作系统Windows CE的研究[J].微计算机信息,2006,6-2,91-93
[3] 吕秀平,李小民.Windows CE.NET的定制和裁剪[J].科学技术与工程.6卷第21期,2006年11月,p3483-3486
[4] 曹荣,刘峰.一种DSP嵌入式多媒体应用系统板级支持包的研究[J] .第26卷第3期,2006年3月,p746-748
[5] 何宗健.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭