关于移植BSP的问题
目标 :移植window mobile 平台的BSP “littleton”中的关于DA9034 芯片的电源管理,触摸屏,LCD 背光调节功能到window CE 5.0 平台下的BSP“ZYLONITE”
现有BSP “Littleton 硬件环境:PXA310 ,DA9034
现有BSP “ZYLONITE”硬件环境:PXA300 ,DA9030
现有BSP “Littleton DA9034相关功能实现:电源管理,audio,触摸屏,backlight,代码中的关键词Micco
现有BSP “ZYLONITE”DA9030相关功能实现:基本电源管理,代码中的关键词Arava
现在硬件设计用的是DA9034 芯片,但我们得到的BSP 是采用DA9030 芯片。
目标BSP “ZYLONITE DA9034相关功能: 电源管理, 触摸屏,backlight
STEP:
1.在ZYLONITE BSP 中搜索Arava,得到相关的文件夹及文件。在 Littleton BSP 中搜索Micco ,得到相关的文件夹及文件。
2.将ZYLONITE BSP中“arava”相关的文件或者文件夹替换为Littleton BSP 中“Micco”相关的文家或者文件夹,并修改source文件和dirs文件更改添加的“Micco”相关的编译目录和文件。删除arava相关的编译目录和文件。
3.通过命令行文件“WinCE_50_Build_BSP.bat”进行编译,报错如下:
BUILD: [01:0000001203:ERRORE] monahans_xllp.lib(xllp_gpio_expander.obj) : error LNK2019: unresolved external symbol OSD_GPIO_Expander_IOMapping referenced in function XllpGpioExpanderI2CWrite
BUILD: [01:0000001204:ERRORE] monahans_xllp.lib(ResourceLock.obj) : error LNK2019: unresolved external symbol OSDS_DestroyLock referenced in function RM_DeInitService
BUILD: [01:0000001205:ERRORE] monahans_xllp.lib(ResourceLock.obj) : error LNK2019: unresolved external symbol OSDS_AcquireLock referenced in function RM_DeInitService
BUILD: [01:0000001206:ERRORE] monahans_xllp.lib(ResourceLock.obj) : error LNK2019: unresolved external symbol OSDS_GetCurrentThreadID referenced in function RM_InitLock
BUILD: [01:0000001207:ERRORE] monahans_xllp.lib(ResourceLock.obj) : error LNK2019: unresolved external symbol OSDS_CreateLock referenced in function RM_InitLock
BUILD: [01:0000001208:ERRORE] monahans_xllp.lib(ResourceLock.obj) : error LNK2019: unresolved external symbol OSDS_ReleaseLock referenced in function RM_ReleaseLock
BUILD: [01:0000001209:ERRORE] monahans_xllp.lib(xllp_logmessage.obj) : error LNK2019: unresolved external symbol OSDS_LogMessage referenced in function xllp_LogMessage
BUILD: [01:0000001210:ERRORE] C:\WINCE500\platform\ZYLONITE_MHL\target\ARMV4I\retail\Zy_Micco.dll : fatal error LNK1120: 7 unresolved externals
检查发现错误是在build C:\WINCE500\PLATFORM\ZYLONITE_MHL\SRC\DRIVERS\Micco 时出错的,这个Micco文件夹是我拷贝过来,顶替了原来Arava文件夹。
4.进入到出错的文件夹:C:\WINCE500\PLATFORM\ZYLONITE_MHL\SRC\DRIVERS\Micco
打开Sources文件,对比原来Arava文件夹下的sources文件,发现Arava的sources文件中多了一句:
TARGETLIBS= \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\osd_pxa3xx.lib \
我将这句加到Micco文件夹下的sources文件中。
5。上网查相关信息,修改了zylonite_common.reg文件和zylonite_common.bib文件,将其中的Zy_arava改为“Zy_micco”
6。用命令行“WinCE_50_Build_BSP.bat”重新Build,结果报错:
BUILD: [Thrd
equence:Type ] Message
BUILD: [01:0000001186:ERRORE] osd_pxa3xx.lib(OSDGpio_expander.obj) : error LNK2019: unresolved external symbol
VirtualAllocCopyPhysical referenced in function OSD_GPIO_Expander_IOMapping
BUILD: [01:0000001187:ERRORE] C:\WINCE500\platform\ZYLONITE_MHL\target\ARMV4I\retail\Zy_Micco.dll : fatal error LNK1120: 1 unresolved externals
这个错误是怎么引起的,改从哪里着手解决那?
像这样的移植,除了修改dirs文件,sources文件,platform.bib 文件,platform.reg文件还有甚么地方?一般移植要注意哪些?