我正在尝试生成一个与另一个内核工作台项目相同的内核配置。Workbench 3.3.6仅允许GUI配置。
是否存在由GUI产生的基础内核配置文件,可以更换?
使用Workbench GUI更新内核配置后,我看到以下文件已更改:
- linksyms.c,
- prjcomps.h,
- prjconfig.c和
- prjparams.h
我猜我的问题是,如果有什么唯一地标识了构建的内核?
prjcomps.h将包含所有组件的名称,就像您在内核配置GUI中所选择的那样。
创建基于其他内核配置的新内核配置的第一步是使用GUI配置器并在prjcomps.h中添加丢失的组件,更好地使用一些差异工具,例如"超越比较",并通过添加/添加/添加差异来减少差异删除组件。请记住不要直接编辑此文件,而仅通过GUI配置器进行编辑。随着工具计算因组件并添加/删除它们。第二步是在上面创建新的prjparams.h。
工作台实际上允许使用命令行通过VXWorks 6.9中的VXPRJ工具编辑内核配置(此工具已由VXWorks 7中的" wrtool"替换为7),您可以右键单击图像项目并选择'Open Wind RiverVXWORKS 6.9开发外壳'。
如果要添加一个组件,例如telnet客户端(include_telnet_client),您可以使用以下命令
vxprj component add INCLUDE_TELNET_CLIENT
删除组件
vxprj component remove INCLUDE_TELNET_CLIENT
有关VXPRJ工具的更多信息,您可以在Workbench本身中查找文档。
项目配置保存在内核项目目录中的少数文件中。
这些是:
- .project
- .cproject
- .wrproject
- projectName.wpj
诸如prjcomps.h,prjparams.h prjconfig.c之类的文件都是由配置工具生成的,但是这些不是配置文件本身。相反,这是生成的C代码,其中包含所选组件的列表。
我相信,当您重建项目时,这些文件也会重新生成。因此,这些并不是您感兴趣的权威来源。
为此,您需要查看项目文件。在组件列表方面,最有趣的是.wpj文件,其中包含明确和隐式包含的组件的其他内容。
明确包含的组件是您在内核配置GUI中手动选择的组件,隐含的包括那些是为满足依赖项的那些组件。
。这种区别有时会使比较内核配置棘手,然后您可能需要归还生成的文件,例如prjcomps.h,但是您应该始终记住,这是配置的表示,而不是源。
.project等配置文件既大又复杂,但是一个不错的差异工具,例如BeyondCompare可以使项目目录的比较相当简单
感谢您的线索,@endtunnel。我查看了该文件,并注意到保存GUI选择时会修改一些文件。
- prjcomps.h-所有组件#include
- prjparams.h-为启用组件设置的其他参数
- prjconfig.c-包含每个模块的配置和初始化调用。
'linksyms.c'也被修改。不确定如何使用。
我现在可以使用diff比较内核配置,甚至可以复制一种配置(尚未尝试过)。