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.

[参考译文] RTOS/TMDSEVM6678:从内核1-5调用 platform_led()崩溃

Guru**** 2562190 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613398/rtos-tmdsevm6678-calling-platform_led-from-core-1-5-crashes

器件型号:TMDSEVM6678

工具/软件:TI-RTOS

我在 C6678评估板上运行多核应用、我从 LED_Play 示例中获取了代码、使调试 LED 闪烁。  我可以从 Core 0闪烁一整天,但当我从任何其他内核调用 platform_led()时,它会崩溃。   我当前正在从 Core 0执行 platform_init(),然后启动 Core 1,它在启动后调用 platform_led()。   如果我注释掉这个调用、我的代码运行良好(我正在使用 Semaphore2播放乒乓)。   我意识到基础 SPI 必须在内核之间进行"管理"、但在这种情况下、我认为没有其他内核使用它。   我是否应该能够从内核1调用 platform_led()?

谢谢、

David

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

    我已通知 RTOS 团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    一种可能的方法是运行 LED 代码的位置。 代码是否从内核0 DSP 内部存储器运行? 如果是,您是否可以在内存映射文件中使用全局寻址,以便外部内核可以从其他内核内部内存运行代码或将代码放入 MSMC 内存中? n`t 内核都可以访问外设、因此我不认为这会导致崩溃。

    单步执行时、从内核是否会进入 platform_led 函数? n`t 是、则上述问题不适用。 在这种情况下、您可以检查导致崩溃的代码行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的程序已被删除、并且它正在成功地使内核1-4中的 LED 闪烁。  因此问题必须是我在完全启动的应用中所做的事情。  我将关闭它、因为我知道它应该起作用。  感谢大家!