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.

[参考译文] F29H85X-SYSCONFIG:SOM 在三核中的使用

Guru**** 2894990 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1610873/f29h85x-som-evm-the-usage-of-sysconfig-in-triple-cores

器件型号: F29H85X-EVM-EVM SOM
主题: SysConfig 中讨论的其他器件

大家好!

在使用 F29x 系列的多核开发过程中、我们遇到了一些与 SYSCFG 相关的问题。  

背景:
我们需要使用 F29 器件上的所有三个 tri、因此我们已经设置了一个 CPU 内核工程。 CPU1 是基于 MCAL 开发的、不需要 SYSCFG、因此我们已经将其排除在本工程的构建之外(启用它会导致生成的代码和 MCAL 代码之间发生冲突,从而导致编译失败)。
CPU2 和 CPU3 是基于 SDK 开发的、需要使用 SYSCFG 来配置 GPIO、ADC 等

问题:

  1. 在多核工程中、如果 CPU1/CPU2 需要使用 GPIO、则必须通过 CPU1 工程中的 SYSCFG 执行配置。 这与我们的开发场景相冲突、并导致 CPU1 编译错误。
  2. 同样、如果 CPU2/CPU3 需要 ADC 功能、则通过 SYSCFG 为 CPU2 配置 ADC 需要在 CPU1 的 SYSCFG 中额外配置 ASYSCTL 和模拟 PinMux。 这不适合我们的用例、因为我们不需要用于 CPU1 的 SYSCFG。
  3. 如果我们在 CPU1 的工程中从编译中排除 SYSCFG、则也不会为 CPU2/CPU3 生成 SYSCFG 代码、这表示三个内核共享一个链接的 SYSCFG 配置。

鉴于上述情况、我们如何实现适用于 CPU2/CPU3(基于 SDK)的独立 SYSCFG 配置、同时完全从 CPU1 中排除 SYSCFG(基于 MCAL)、以满足我们的应用要求?

‘:我们使用 SDK “led_ex2_blanky_cpu1_cpu2_cpu3_multi"的“的示例。

C:\ti\f29h85x-sdk_1_01_00_00\examples\driverlib\multi_core\led\led_ex2_blinky_cpu1_cpu2_cpu3_multi

此致、

Jenney

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

    尊敬的 Jenney:

    我正在研究这一点,并将尽快回复你。  

    此致、

    Aishwarya

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

    Jenney,

    请注意、 GPIO、ASYSCTL、Analog 和 Pinmux 代码必须从 CPU1 运行、 这 就是我们在 CPU1 SysConfig 上下文中提供它们的原因。

    我建议使用针对此确切用例设计的 Resource Allocator 模块。 各种 SDK 文件夹中包含示例、此处提供了更多信息: Resource Allocator Module - F29H85x 文档

    此致、

    Aishwarya

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

    我不太了解当前问题的资源分配器模块的角色。 我知道 MCAL 仍会像以前那样生成相应的代码、所以这不会与 SDK 代码冲突吗?

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

    Jenney,

    让一些团队成员参与进来、帮助解决此问题。

    此致、

    Aishwarya

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

    尊敬的 Jenny:  

    GPIO 只能由 CPU 1 配置、因此可以在 CPU 1 中为所有三个 CPU 配置引脚。  要配置 GPIO、您可以使用 MCAL 中的 PORT 模块。 无需将 SysConfig 用于 CPU、它必须是 MCAL 的纯基于 EB Tresos 的配置。  
    CPU 1 MCAL 的 EB Tresos 中的模拟引脚退出等配置:  

    这同样适用于 SYSTAL。 在 EB Tresos 的 Cdd_Adc 中、您可以找到与 SysConfig 相同的选项:  

    所有 GPIO 配置均可通过 CPU 1 在 EB Tresos 中完成、稍后在 CPU2/3 中使用。

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

    你好 Pranav、

    您的意思是:冲突零件都在 EB tresos 中有相应的配置选项。 您只需在 CPU1 上的 EB 中完成这些配置、则 CPU2/CPU3 可以直接使用这些配置。

    但是、排除 CPU1 中的 syscfg 构建后、CPU2/CPU3 将不再生成相关代码。 在这种情况下、是否仍会生成通过 CPU2 上的 SysConfig 配置的 ADC 相关代码?

    如果无法生成该代码、是否需要通过手动调用初始化 API 来初始化 CPU2 上的相关配置?

    如果可以生成、这是否意味着我的工程/代码生成设置出现了问题?  我们是否有我可以参考的任何类似多核示例?

    此致、

    Jenney

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

    尊敬的 Jenny:  

    您的意思是:冲突部分都在 EB tresos 中有相应的配置选项。 您只需在 CPU1 上的 EB 中完成这些配置、则 CPU2/CPU3 可以直接使用这些配置。

    是的、您可以通过 EB Tresos 在 CPU 1 中配置它们并在 CPU2/3 中使用它们。  

    如果可以生成、这是否意味着我的项目/代码生成设置有问题?  我们是否有类似的多核示例、我可以参考这些示例?

    您可以参考我们 F29x MCAL 中的多核 SPI 示例 (Spi_Example_External_Loopback)。 它在 CPU 1 上有 MCAL、在 CPU 3 上有 SDK。

    此致、  
    Pranav Siddappa.

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

    您好  Pranav、

    CPU3 的代码由 SysConfig 生成?  

    如果是、如何通过 SysConfig 在没有 CPU1 的情况下配置 CPU3?

    此致、

    Jenney

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

    尊敬的 Jenny:

    有关此信息、请参阅 SPI 外部环回示例。 我还在 syscfg 中附加了一个窗口的屏幕截图、您可以在其中选择 CPU3。



    此致、
    Pranav Siddappa.