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.

[参考译文] SysConfig:具有共享内存区域的多核工程无法同时作为工程和独立构建

Guru**** 2535150 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1564007/sysconfig-multicore-project-with-shared-memory-regions-cannot-be-built-as-both-a-project-and-standalone

器件型号:SysConfig


工具/软件:

在为 AM263Px 器件使用多核工程时、内核 0 syscfg 中定义共享存储器区域。 这样可以构建系统工程、并使内核 1、2 和 3 继承共享区域。  但是、如果内核 1 的工程是独立打开并编译的、则链接器将因为缺少存储器区域而失败。 我尝试通过 在 SysConfig 中复制 Core 1 上的共享内存区域来解决此问题。 当内核 1 独立打开时、该解决方案可以工作、但由于存储器区域冲突、系统工程将无法编译。

那么、在 SysConfig 中使用共享存储器区域的解决方案是什么?该区域既可以作为系统工程(所有内核)编译、也可以独立编译单个内核的工程?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您解释为什么需要以这种方式工作、我认为这可能会有所帮助。 即为什么您需要使用 SysConfig 独立工具而不是在 CCS 中打开.syscfg 文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在本例中、我们将为 Core 1_0 上的软件使用无头构建。 这最终将是我们的终端客户唯一能够编写和重新编程的软件、因此必须能够独立构建。 出于开发目的、我们还需要在单个更高级别的工程中使整个工程的 syscfg 文件正常工作、以帮助加快开发和调试速度、并仅为方便使用而设置。  

    我们目前已采取变通办法、使这两种方案都能正常工作、但它为我们增加了额外的步骤。 每个 syscfg 文件了解共享存储器区域似乎更容易、因此无论我们是独立构建内核的工程还是从多核工程中构建、syscfg 都生成相同的文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这看起来像是 TI 的一个。 同时…

    由于缺少存储器区域、链接器将失败

    也许您可以通过将错误代码降级为警告来抑制错误。 请参阅示例 CODECOMPOSER:对象文件不存在时链接器致命错误 — Code Composer Studio 论坛 — Code Composer StudioTm︎ — TI E2E 支持论坛

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很遗憾、在这种情况下、错误是有效的。 由于 链接器文件缺少内核之间的共享存储器区域、并且我们专门将内容放置在该内核的存储器区域中、因此我完全预计链接器会出现故障。

    当前权变措施是通过构建系统工程来构建有效的链接器。 然后将生成的链接器复制到静态位置、从 syscfg 构建中排除 linker.cmd、然后从构建中排除 EXCLUDE 文件夹。 它不是最坏的工作,但在我们开发的这一阶段,它很难在内存映射中进行更改。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想这应该是 SysConfig 团队按照“可识别多核的独立 SysConfig “行的行文提出的特性请求。

    也许 马丁斯 可以评论吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kier、Nathan:  

    独立的命令行 SysConfig 构建工具可接受多个.syscfg 脚本。 获取命令行所需内容的最简单方法可能是在 CCS 中构建多核工程并在构建输出窗口中指定命令。 我相信这可能允许您从 Core0 生成共享存储器文件。  

    我们正在开发一项功能、允许您创建一个资源“约束“文件、系统架构师将定义特定核心可以使用的资源分配。 此约束文件用于限制可通过 SysConfig 在特定内核上配置的内容。 仍然有一些项目需要解决、需要 SDK 才能使用/启用此功能。 但是、在高层次上、这听起来就像您正在尝试做的事情。  

    Martin