WINCE6.0下如何进行快速编译
经过google,在ARM-WinCE老师的博客里面有如下描述:
在WinCE下面,创建工程,然后编译是需要花很长时间的。当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的:
1. 如果更改了driver,以WinCE6.0为例,我们可以在菜单里面选择“build”->“Open Release Directory in Build Window” ,然后在弹出的命令行窗口中,通过dos命令切换到你要编译的driver的目录下面,然后运行“build”就可以了。也可以运行“build -c”会强制把所有的文件都编译一遍。被编译后的driver的dll会被自动拷贝到release目录下面,然后再切换的工程的release目录下面,运行一下“make image”就可以了。
2. 如果改变了OAL部分的代码,同样用上面介绍的方法,需要注意的是,OAL部分可能包含多个文件夹,如果改变了OAL里面的代码,不要进入OAL里面的文件夹去编译,一定要在OAL这层进行编译,这样OAL部分的lib,dll才会被重新编译并拷贝到release目录下面。
3. 如果改变了配置文件,比如config.bib,platform.reg文件,那么直接将这些文件拷贝到你的工程目录下面,然后运行一下“make image”就可以了。
4. 如果改变了eboot部分的代码,那按照步骤1的方法就可以了,可能你都不需要运行“make image”命令,因为可能你只需要eboot.bin或者eboot.nb0。
我的问题是:
我想快速编译一个驱动,按照上面的第一条去快速编译BSP包里面的一个驱动,在Open Release Directory in Build Window的窗口下输入路径“F:\WINCE600\PLATFORM\SMDK6410\Src\Drivers\Spi”运行build -c没有问题,但是在release目录下路径“F:\Project\OSDesign3\OSDesign3\RelDir\SMDK6410_ARMV4I_Release”运行make image却出现如下错误:
make不是内部或者外部命令,也不是可运行的程序或批处理文件。
有实现过的嘛?能给我说说嘛?谢谢各位了!
[解决办法]
vs2005已经很方便了。在vs2005的程序树目录里,右键要编译的驱动的文件夹,选择rebulid and sysgen就可以快速编译。没有楼主说的那么麻烦。
只是第一次编译要全部编而已。
[解决办法]
MAKEIMAGE 去掉后面那个E,
makeimg
给分谢谢!
[解决办法]
你上面说的四点非常正确。
就我个人而言,我一般都是用VS的菜单栏,就你的四点,以下是我的操作:
1.在驱动文件夹上面点右键,BULID。
2。在OAL上面点右键,BULID。
3。直接修改FIES 跟RELEASE下面的BIB 和REG 文件。BULID-》make run-time image.
4.在BOOTLOADER 右键BULID。
[解决办法]
首先你要设定一下
将以下选项打钩:
BULID-》Global bulid settings->copy files to release directory after bulid。
这样你BULID 驱动之后才会被拷贝到RELEASE 目录下面。
BULID 之后 请选择MAKE RUN-TIME IMAGE。
[解决办法]
为什么一定要用命令行呢~~~直接点一下不是更好啊~
[解决办法]
还有一个更快的办法呢。把动态库更快的加载到内核里面去。不过链接已经忘记了~
[解决办法]
只编译BSP的话,就
blddemo -qbsp
makeimg
实在不放心的话可以在makeimg之前手工执行一遍buildrel。