VxWorks 7

如何在命令行重新编译VxWorks内核源代码

简介

很多时候,在开发VxWorks的过程中,你需要重新编译VxWorks内核的一部分,例如驱动程序或引导代码的某一部分,以添加更多的调试信息或对源代码进行更改。使用VSB_DIR可以让你轻松地重新编译任何源代码文件,而无需为“因代码的更改而编译全部的内核代码”等上几个小时。

针对UP(单处理器)的编译

例如,要从VxWorks开发shell为x86的目标机编译源代码文件,修改对应的文件,然后用”cd”命令切换到对应的目录。在此示例中,我们还将调试信息添加到映像(对于gnu的目标机)文件中。


cd C:/WindRiver/vxworks-6.9/target/src/boot   (or whatever)
make CPU=PENTIUM4 ADDED_CFLAGS+="-g -O0" TOOL=gnu VSB_DIR=<MY-VSB>

接下来,重新编译你的VIP(VxWorks Image Project)项目,编译完成后你就有了更新后的内核了。

如果是针对diab的编译器,请使用-g -Xoptimized-debug-off


cd C:/WindRiver/vxworks-6.9/target/src/boot   (or whatever)
make CPU=PENTIUM4 ADDED_CFLAGS+="-g -Xoptimized-debug-off" TOOL=diab VSB_DIR=<MY-VSB>

以上命令在VxWorks 6 and VxWorks 7上都是有效的,只要你已经编译了你自己的VxWorks源码编译项目(VxWorks Source Build,VSB)。

针对SMP (Symmetric Multi Processing)的编译

VxWorks中有两种可能的库类型:UP单处理器和SMP多处理器。上面是为UP编译的方法,要为SMP进行编译,只需添加VXBUILD = SMP的参数


make CPU=PENTIUM4 ADDED_CFLAGS+="-g -O0" TOOL=gnu VSB_DIR=<MY-VSB> VXBUILD=SMP

在VxWorks 7中编译VSB层

如果你要为VxWorks 7编译一个UI层,上面的VSB_DIR命令就不起作用了,你可以用下面的命令:


cd C:/WindRiver/workspace/your_VSB_project
vxprj vsb build FBDEV

用下面的命令可以列出各层:


vxprj vsb listAll