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.

[参考译文] LP-AM243:FreeRTOS AM243x 上的多核调度

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1482483/lp-am243-multi-core-scheduling-on-freertos-am243x

器件型号:LP-AM243

工具与软件:

我的一个应用具有两个我希望由 RTOS 调度的任务、理想情况下是动态利用 LP-AM243x 上的所有四个内核。   主题已有两年历史、我想知道在支持 SMP 方面是否有任何变化?

对于后台任务、一项任务负责从 DEV 板引脚收集数据并将其缓冲到 FIFO 队列中、第二项任务负责从 FIFO 队列中提取数据并对其进行处理、以及:1)通过以太网将其发送出去、或2)缓冲它以由单独的任务发送(COA 仍待定)。

如果仍然不支持通过 FreeRTOS 在 LP-AM243x 上运行 SMP、那么在具有共享 FIFO 队列的单独内核上运行两个任务的最佳方法是什么?

  欢迎任何支持答复的例子。  

提前感谢、  

Brian

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

    Brian、您好

    我正在查看您的问题,您可能希望在一两天内得到回复。

    此致、

    Anil。

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

    遇到此问题... 有什么指针吗?

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

    你好、Brain、

    很抱歉, 因为 我是在其他最高优先级问题修复的延迟回复.

     明天可能会得到回复。

    此致、

    Anil。

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

    你好、Brain、

    我们没有  计划在 R5F 内核上支持 SMP。

    目前、在 MCU+SDK 中、我们支持通过 IPC 通信在两个内核之间进行数据通信。

    这里我不确定  能够满足您要求的数据大小和延迟程度。

    请查看下面的 IPC 延迟数字和示例。

    除了该方法、我们无法找到任何其他方法在两个内核之间进行数据通信。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_01_00_32/exports/docs/api_guide_am243x/DATASHEET_AM243X_EVM.html#autotoc_md538

    C:\ti\mcu_plus_sdk_am243x_10_01_00_32\examples\drivers\ipc\ipc_rpmsg_echo

    此致、

    Anil。

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

    感谢您的响应、并复制到 SMP 上。

    我将会在处理器之间进行25K 的消息传递、因此我认为更好的方法是将指针传递到共享存储器、即 IPC。 想法? 另外、关于最佳方法、您是否有任何示例?

    我一直在 斗争总线中试图编译一个 IPC 示例。 我查看了您引用的示例、并得到了下面的错误。 不知道是怎么回事。 有什么建议吗?  

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

    更新了:我继续尝试让其中一个 IPC 示例正常工作。 为此、我得以获取 ipc_rpmsg_echo_am243x-lp_system_freertos_nortos  示例来编译以下代码 请勿二次平衡 学习指令。 很遗憾、我没有得到任何输出(我希望得到下面的示例输出)。  

    调试它似乎遇到的代码:  

    IpcNotify_syncall (SystemP_WAIT_FOREVER);

    内容 减少 Thread 内核的启动顺序似乎很重要、但我不确定用于设置内核启动顺序的方法。  

    总结我的问题... 要在 AM243x LP 上运行 IPC 示例、我需要执行哪些步骤?  


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

    你好、Brain、

    要编译 IPC 示例、您需要编译系统工程。 否则、可能会出现编译错误。

     根据以上要求、 您需要对两个内核(而不是对所有内核)进行 IPC。

    因此、我假设在运行两个 IPC 示例时、您肯定会使问题在 IpcNotify_syncall API 中挂起。

    在这种情况下,您需要根据下面的常见问题解答为 两个 内核更新 IPC sys 项目。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1394609/faq-processor-sdk-am64x-how-to-do-ipc-communication-with-only-two-cores-say-r5fss0-0-and-r5fss1-1?tisearch=e2e-sitesearch&keymatch=faq%3Atrue

    此致、

    Anil。