器件型号: F29H859TU-Q1
您好的团队、
我向我的客户询问这个问题。
它决定 system.xml 将所有核心项目与一个多核项目联系起来。

现在、客户想要将自己的工程链接到多核工程、需要在 system.xml 文件中修改什么? 除了 xml 文件外、还需要修改项目配置中的任何其他文件? 我们 对此有更详细的说明吗? 
BRS
Shuqing
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号: F29H859TU-Q1
您好的团队、
我向我的客户询问这个问题。
它决定 system.xml 将所有核心项目与一个多核项目联系起来。

现在、客户想要将自己的工程链接到多核工程、需要在 system.xml 文件中修改什么? 除了 xml 文件外、还需要修改项目配置中的任何其他文件? 我们 对此有更详细的说明吗? 
BRS
Shuqing
你好、疏庆。
若要将示例链接到多核工程中、用户首先需要编辑主工程文件夹中的 system.xml 文件。 此外、用户需要修改要合并的工程的预编译和编译后处理步骤、这也可能涉及对 makefile 的更改。 建议客户通过导入空多核工程并在此基础上进行编译来创建多核工程、而不是从头开始尝试合并现有工程、因为这种方法更复杂且容易出错。
目前、没有有关如何从头开始将工程合并为多核工程的适当文档。 我将向相关团队提出与文档相关的问题。

此致、
Lakshya Verma
尊敬的 Verma:
现在、客户在 MCU1 中运行 project1、在 MCU2 中运行 project2、他们希望使用 1 个 F29 来实现此目的。 他们希望在 CPU1 中运行 project1、在 CPU3 中运行 project2。
因为他们有自己的项目,他们不想在空的多核项目中开发多核项目,他们想将这两个项目直接合并到一个多核项目中。
因此、根据您之前的回复、如果客户想要将两个项目合并到一个多核项目、他们需要:
1. 编辑主项目文件夹中的 system.xml 文件。
2.修改编译后处理和预编译。
我在不同的工程 (empty_project_multi、empty_project_multi_c29x1 、empty_project_multi_c29x2 、empty_project_multi_c29x3 ) 中的 SDK 中导入空多核演示、 该页面具有不同的编译后处理和预编译内容、我是否需要修改不同工程中的不同编译后处理和预编译内容? 您能帮助澄清一下吗?
BRS
Shuqing
尊敬的 Shuqing:
我来解释一下整个流程。
将 empty_project_multi 导入工作区时、它还会自动导入以下工程:
•empty_project_multi_c29x1
•empty_project_multi_c29x2
•empty_project_multi_c29x3
empty_project_multi 工程包含一个 system.xml 文件。
该文件指定:
•哪些项目是多核系统的一部分、以及
•这些工程的构建顺序。
如随附映像中所示、编译顺序为 CPU3 project →CPU2 project→CPU1 project (此顺序很重要)。

在此设置中:
•CPU1(工程:empty_project_multi_c29x1)充当主内核
•CPU2 和 CPU3(工程:empty_project_multi_c29x2 和 empty_project_multi_c29x3)充当辅助内核
CPU1 负责启动并初始化 CPU2 和 CPU3。该行为可以在 empty_project_multi_c29x1.c 文件中看到。
如果为每个工程选中“Build"→“→“Steps":“:
•CPU2 和 CPU3 工程只有编译后处理步骤
•CPU1 工程具有预编译和编译后处理步骤
整体构建流程如下:
1.首先构建 CPU3。 编译后、其编译后步骤会生成 cpu3App.bin。
2.接下来构建 CPU2。 编译后、其编译后步骤会生成 cpu2App.bin。
3. CPU1 编译开始、编译前、CPU1 预编译步骤使用 cpu2App.bin 和 cpu3App.bin 来确定需要为 CPU2 和 CPU3 程序保留多少存储器空间(请参阅 cpuAppSec2.c、cpuAppSec3.c 和 CPU1 预编译命令)。 然后编译并链接 CPU1。
编译后、CPU1 编译后步骤将 CPU2 和 CPU3 二进制文件复制到 CPU1 的输出文件中。
因此、最终的 CPU1.out 包含:CPU1 程序+ CPU2 程序+ CPU3 程序
加载并执行 CPU1.out 时:
CPU1 首先启动、CPU1 初始化 CPU2 和 CPU3、然后 CPU2 和 CPU3 从复位状态释放。所有内核均使用 IPC 同步
要从头开始合并各个单核示例、需要执行以下操作:
•正在编辑 system.xml
•正确配置预编译和编译后处理步骤
•拥有一个主工程来初始化自己的 CPU、然后初始化其他 CPU 并加载其程序
该主工程必须遵循与 empty_project_multi_c29x1 相同的结构。
完全从头开始创建此设置非常复杂且容易出错。
因此我建议从 empty_project_multi 开始、并在上面构建应用。
此致、
Lakshya Verma