我正在尝试生成与另一个内核工作台项目相同的VxWorks 6.9.4.8内核配置。 Workbench 3.3.6仅允许GUI配置。
是否有由GUI生成的基础内核配置文件可以替换?
使用Workbench GUI更新内核配置后,我看到以下文件已更改:
我想我的问题是,哪一个,如果有任何唯一标识内核的内容?
答案 0 :(得分:1)
prjComps.h将包含您在内核配置GUI中选择的所有组件名称。
基于其他内核配置创建新内核配置的第一步是使用GUI配置器并在prjComps.h中添加缺少的组件,更好地使用一些差异工具,例如“超越比较”,并继续减少添加/删除组件的差异。切记不要直接编辑此文件,而只能通过GUI配置器编辑。该工具计算从属组件并添加/删除它们。 第二步是按上面的步骤创建新的prjParams.h。
Workbench实际上允许使用命令行通过vxworks 6.9中的vxprj工具编辑内核配置(此工具已被" wrtool"在vxworks 7中替换),您可以右键单击Image项目,选择了开放风河vxWorks 6.9开发Shell'。
如果您想为例如添加组件telnet客户端(INCLUDE_TELNET_CLIENT) ,您可以使用以下命令
vxprj component add INCLUDE_TELNET_CLIENT
删除组件
vxprj component remove INCLUDE_TELNET_CLIENT
有关vxprj工具的更多信息,您可以在工作台中查找文档。
答案 1 :(得分:1)
项目配置保存在内核项目目录中的一些文件中。
这些是:
prjComps.h,prjParams.h prjConfig.c等文件都是由配置工具生成的,但这些文件本身并不是配置文件。相反,这是生成的C代码,其中包含所选组件的列表。
我相信,当您重建项目时,也会重新生成这些文件。 因此,这些并不是您感兴趣的权威来源。
为此,您需要查看项目文件。就组件列表而言,最有趣的是.wpj文件,其中包含显式和隐式包含的组件列表。
显式包含的组件是您在内核配置GUI中手动选择的组件,隐式包含的组件是为满足依赖项而包含的组件。
这种区别有时会使比较内核配置变得棘手,然后您可能希望回退生成的文件,例如prjComps.h,但是您应该始终记住这是配置的表示,而不是源。
.project等配置文件既庞大又复杂,但是一个不错的差异工具,比如BeyondCompare可以很容易地比较项目目录
答案 2 :(得分:0)
感谢线索,@ endTunnel。我查看了该文件,发现在保存GUI选择时会修改一些文件。
'linkSyms.c'也会被修改。不知道如何使用它。
我现在可以使用diff来比较内核配置,甚至可能复制配置(尚未尝试过)。