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.

[参考译文] F29H850TU:创建周期性任务

Guru**** 2815985 points

Other Parts Discussed in Thread: SYSCONFIG, F29-SDK

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1599768/f29h850tu-creating-periodic-tasks

器件型号: F29H850TU
Thread 中讨论的其他器件: SysConfigF29-SDK

IAM 目前正在使用 DPL 而不是 FreeRTOS 来创建周期性任务。

  1. 我可以毫无延迟地运行任务、例如使 LED 闪烁而不会出现任何问题。
  2. 当我添加 vTaskDelayUntil API 时、由于任务栈溢出、任务会触发 vApplicationStackOverFlowHook。
  3. 当我从 MCU 卡在持续故障状态中增加堆栈大小时。 image.png
  4. 在调试问题时、代码到达了这一点、当我尝试进入时、自由运行卡住了
  5. 我在酷睿 3 上尝试了相同的代码、运行正常!

问题可能是什么?

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

    尊敬的 Mahmoud:

    我 可以进一步调查此事、并 在下周初回复您。 同时、您能否共享您的任务设置以及您可能正在使用的任何中断?

    “持续故障状态“问题的主要原因是 CPU 在尝试重新加载程序时处于 ISR 中。 您可以在再次刷写之前尝试复位电路板。

    此致、

    Arnav

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

    尊敬的 Menon:

    任务设置

    使用的中断:(IPC- RTDMA - ADC — 看门狗)。

    我再次进行调试、 禁用了栈溢出检查、代码到达了这个点并卡住了。


    “那你想怎么样?“

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

    尊敬的 Arnav Menon R :

    有新内容?

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

    尊敬的 Mahmoud:

    我已经对此进行了研究、在任务中使用任务延迟(带/不带 DPL)没有问题。 这看起来像是某种堆栈溢出。 除了 FreeRTOS 堆栈外、您还可以检查系统堆栈(符号: ___栈 ) 溢出、并在需要时增大。 您还可以在调度器已初始化和启动之前检查应用程序代码是否在使用任何 RTOS 元素。

    重置后是否能够正确重新加载程序? 在中断上下文中使用 CPU 加载程序(而不是特定于 FreeRTOS)时、这是一个问题。 如果您发现程序到达 NMI ISR、您也可以检查错误聚合器状态 ( Scripts > Error Handling > Error Aggregator > Check Status )

    此致、

    Arnav

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

    尊敬的 Arnav Menon R :

    通过 SysConfig 调整堆栈大小后、MCU 可正常运行。 您能否分享与 TI DPL 和 FreeRTOS 相关的任何文档以供参考?

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

    很高兴听到这个消息。 目前还没有专门针对 F29-SDK 的 DPL 文档。 此处提供了 DPL 和 FreeRTOS SDK 演示的示例文档、可 在此处参阅官方 FreeRTOS 文档

    此致、
    Arnav

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

    谢谢你的澄清、我有最后一个问题、DPL 的用途是什么? 因为 SysConfig 已经支持 FreeRTOS。 DPL 仅支持 FreeRTOS 和 RTOS(裸机)? 有什么好处?

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

    使用 DPL API 时、您的应用代码与底层架构和操作系统无关、因此您可以使用非 RTOS 或 FreeRTOS 等操作系统快速切换、而无需对代码库进行任何广泛更改。 这 简化了 代码可移植性和重用。 您可以自由选择适合 您的应用程序的底层操作系统

    此致、

    Arnav