由于有需要请供应商帮忙加入WIMAX支持,而供应商要求要给BSP进行调试,而源代码级的BSP显然是不能随意给出的,所以要制作二进制BSP提供,使他们也能正常进行调试工作。
总体思路是,BSP中提供所有编译好的硬件相关的文件,source code全部删除。
platform下面,s3c6410的wince6.0 BSP分为2部分,common和SMDK6410,先备份当前BSP,打开OSDesign工程,将BSP重新编译,找到bsp下target目录,/target/ARMV4I/retail,里面就是所需要的全部文件了。
我的做法是在FILES文件夹下建了个target目录,将刚才生成的文件全部copy进去(*.pdb我没copy),修改FILES目录下platform.bib,类似如下
s3c6410_disp.dll $(_TARGETPLATROOT)/FILES/target/s3c6410_disp.dll $(XIPKERNELNAME) SHK
然后将BSP目录下dirs文件修改:
DIRS=
/
这样重编译“Rebuild Current BSP and Subproject”,哈哈,编译成功!
于是删除所有的源代码,再编译,通过! 下载到MID板上,完了,刚打印出那么几行信息就停住不动了...
到处都找了,最后锁定在BSP目录下的*.BAT文件上,它最后有一个
@REM - To support PocketMory
call %_TARGETPLATROOT%/src/Whimory/wmrenv.bat
而我已经删除了src目录。 查看wmrenv.bat如下:
@echo off
set BSP_POCKETMORY=1
set WMR_NAND_SUPPORT=MLC
set WMR_FIL=SMDK6410
set WMR_OAM=WINCE
将wmrenv.bat copy到FILES目录,修改*.bat文件为
@REM - To support PocketMory
call %_TARGETPLATROOT%/FILES/wmrenv.bat
这样重新编译后,可以顺利的进入桌面,binary BSP制作完毕!