WinCE 驱动自动化编译开发

news/2024/7/10 4:45:40 标签: wince, build, path, 优化, cmd, 工作

    工作上刚做完一个3G上网卡的驱动开发,目前支持的系统包括ARM和x86,CE系统包括CE5和CE6,这样发布驱动和UI就需要编译好几个版本。之前由于时间比较紧,所以一直是手动来做这件事的。真是又繁琐又没有技术含量。所以趁着这段时间有空,就自己弄了个自动化编译的批处理文件。

     在做之前网上收集了一些相关的博客资料,都已经收录在我的博客中了,具体在“自动化编译(PB)”类别中。现在就来大概介绍一下。先贴出自己的批处理源码:

@echo off
SET _WINCEROOT=J:/WINCE500
SET _BSPNAME=MINI2440
SET _FILENAME=MINI2440

@REM 这个是PBCONFIG变量对应的值,可以在PB中的cmd模式下输入set PBCONFIG来获取。
SET _OSDESIGNCONFIG=Mini2440 from FriendlyARM: ARMV4I_Release
SET _PBROOT=J:/Program Files/Windows CE Platform Builder/5.00

SET _OSDESIGNDIR=%_WINCEROOT%/PBWorkspaces/%_BSPNAME%
SET _OSDESIGN=%_OSDESIGNDIR%/%_FILENAME%.pbxml
SET _DRVDIR=%_WINCEROOT%/PLATFORM/%_BSPNAME%/Src/Drivers/XXXX
SET _TARGETDIR=%_WINCEROOT%/PLATFORM/%_BSPNAME%/target/ARMV4I/retail
SET PATH=%_PBROOT%/CEPB/BIN/;%PATH%

 

@echo ***************************************************************************
@echo Start to build the ARM device driver
@echo ***************************************************************************


cd /D %_TARGETDIR%
if exist XXXX.DLL del XXXX.*


pbxmlutils /getbuildenv /workspace "%_OSDESIGN%" /config "%_OSDESIGNCONFIG%" > "%_OSDESIGNDIR%"/buildenv.bat   

@REM 主要有技术含量的就是这句,调用pbxmlutils翻译工程的pbxml文件,并翻译成buildenv.bat。

 

@REM 之后调用buildenv.bat来进行环境的设定

cd /D "%_OSDESIGNDIR%"
call buildenv.bat
del  buildenv.bat

 

@REM 调用bsp自带的批处理文件来进行bsp相关的环境设定。

call %_WINCEROOT%/PLATFORM/%_BSPNAME%/%_BSPNAME%.bat

 

@REM 进入驱动所在目录进行驱动相关源码的编译,这里需要注意,这个驱动编译依赖系统编译后的文件。所以必须系统先编译一下。

@REM 这里还有优化的地方,可以判断系统如果没有编译过,则先进行系统的编译。

cd /D "%_DRVDIR%"
build -c


@echo ****************************************************************************
@echo build arm driver done
@echo ****************************************************************************

 


http://www.niftyadmin.cn/n/1516506.html

相关文章

Exit 与 Goto :eof 在批处理中的区别

源地址:http://blog.sina.com.cn/s/blog_51a4af870100e0st.html 在 CMD 命令提示符窗口直接运行: 1.) 运行 Goto :eof 后,CMD 返回并将等待下一命令。 2.) 运行 Exit 后,CMD 将直接关闭并返回到曾启动 Cmd.exe 的程序或返回到…

ZOJ-3594 Sexagenary Cycle【简单模拟】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId4678 题目大意: 给你天干地支,60一个轮回,1911年为辛亥年。 以此为基础,计算给定一个数用这种方式怎么表达。 解题思路: 当时别…

NYOJ-520 最大素因子【数论】

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid520 解题思路: 简单的模拟题,有2种思路: 第一种暴力: 直接找到n的最大的素因子,然后找出最大素因子在素数表中出现的位置即可。 第二种&a…

wince的build过程

http://www.study-bbs.com/thread-28856-1-1.html 1:假如cebuild.bat没有设定 -qbsp,cebuild.bat根据环境变量_DEPTREES包含的模块依次调用cebldtree.bat xxx,__QBLDPASSpreproc。2:假如cebuild.bat没有设定 -q,cebld…

NYOJ-82 迷宫寻宝(一)【广搜】

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid82 解题思路: 广搜题目。 这道题是去年做的,当时有人问我这道题,说他的程序自己测试的数据都对,一提交就WA,让我帮忙想一组特殊点的数据&am…

HDU-1253 胜利大逃亡【三维广搜】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid1253 解题思路: 简单的三维广搜,把握好坐标和数组的关系。 用了输入外挂,然后加了几个小优化: 1.曼哈顿距离优化。 2.终点如果不能走,直接结束-1…

Integrating your project in the PUBLIC tree

IntroductionHave you ever wondered how you can integrate your code under the PUBLIC tree in Windows Embedded CE 6.0? This can be useful if you want to distribute code/components that are not part of a BSP. In this post I’ll explain how to create a folder…

NYOJ-524 A-B Problem【高精度】

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid524 解题思路: JAVA果断水过,看别人用C写了100行,而且稠的很。。。 我的一共才20行,还有头文件什么的。。。 不得不说,JAVA高精度无敌啊。…