TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TMS320F28P650DK:CCS 12.7.1中的 FreeRTOS

Guru**** 2046970 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1401248/tms320f28p650dk-freertos-in-ccs-12-7-1

器件型号:TMS320F28P650DK
主题中讨论的其他器件:C2000WARESysConfig

工具与软件:

您好!
      我们面临2个问题:
在调试以及尝试放置断点时发出1.below 错误。
在0xfe8d 处设置带有操作"remain halted"的断点时出现问题:
(错误-1156 @ 0x800)
器件可能在低功耗模式下运行。 是否要使其退出此模式? 选择"是"以强制使用该器件
 以唤醒并重试操作。 选择"否"可在不唤醒器件的情况下重试此操作。
(仿真包12.7.0.00130)。
问题2. 在 MCU 上创建和调度了4个任务(1ms、10ms、125us、10us)工作频率为:200 MHz 和 SysTick 速率为100KHz。此处观察到的问题是每个任务的周期性不匹配、因为它是按计划进行的。所有4个任务的周期性都接近2ms。
请检查此问题并获得帮助。
此致、
Avinash
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    此专家不在办公室。 请预计在8/20之前会有一些响应延迟。

    此致、

    Allison

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

    尊敬的 Avinash:

    一些阐述问题、您使用的是哪个版本的 C2000Ware?

    器件是否会在应用的任意时刻进入低功耗模式? 您使用哪种优化级别? 我已经验证 CCS 能够在标准 FreeRTOS 应用程序中设置断点(您可以尝试 C2000Ware 中包含的演示之一)

    2.您在 FreeRTOSConfig.h 中配置的节拍率是多少? 不建议高于1000Hz、因为大部分时间将用于切换节拍中断处理程序本身中的任务。 对于需要更高执行频率的任务、您可以按照要求设置单独的计时器。 取消阻止此任务的频率。 请注意、任务优先级在这里也会起作用。  

    谢谢!

    Arnav

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

    您好 Arnav,

               我们使用的是 C2000Ware_5_02_00_00版本。

    是的、当我尝试在我新添加/派生的文件中放置断点时、器件会进入低功耗模式。 优化级别已关闭、如下面的快照所示。

    Tickrate、我将配置1000Hz、并让您知道任务行为。

    Arnav,您是否可以通过团队呼叫进行联系? 请告诉我。

    此致、

    Avinash  

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

    您好 Arnav,

              在调试以及尝试放置断点时发出1.below 错误。

                  在0xfe8d 处设置带有操作"remain halted"的断点时出现问题:
                  (错误-1156 @ 0x800)

    对于上述问题、我尝试了以下方法:

    因为我无法将断点放入新添加的包含 FreeRTOS 任务的文件中。 为了解决此问题、我删除了 SysConfig 中配置的许多其他模型(例如 EPWM、ADC、eQEP、CAN、SPI、CPU Timer1等模块)、并因此删除了 CCS Studio 中 SysConfig 的 SYSCTL 中配置的许多模块的时钟。 删除这些断点后、我会重新编译它、并且能够在 FreeRTOS 任务中将断点置于调试模式。

    通过执行上述步骤、问题得到了解决。

      

       此致、

        Avinash

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

    尊敬的 Avinash:  

    很好听到。 考虑到我们的离线讨论、我最后将关闭该主题。 如果出现进一步的问题、请随时提出新问题。

    谢谢!

    Arnav

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

    您好 Arnav,

              当我重新配置并仅将 ADC 模块集成到现有工程时、我发现了同样的问题。 此问题尚未在 resolved..please 上提供帮助。

    此致、

    Avinash  

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

    尊敬的 Avinash:

    您能否在暂停程序时附加调试调用堆栈的图像? 应用程序是否仍在像调用期间那样进行复位、或者您是否看到了低功耗模式问题? 如果是前一个、则需要进一步调试、以找到触发复位的位置。   

    谢谢!

    Arnav

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

    您好 Arnav,

               我已经在暂停程序后附加了调试调用堆栈的图像。 暂停程序后、我看到_system_post_cinit 消息、如随附的图像所示。此后、当我尝试从 FreeRTOS 中删除/添加断点时、任务收到错误消息"器件可能在低功耗模式下运行。

    请检查此问题并尽快帮助解决此问题。

    此致、

    Avinash

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

    您好 Arnav,

               我已经在暂停程序后附加了调试调用堆栈的图像。 暂停程序后、我看到_system_post_cinit 消息、如随附的图像所示。此后、当我尝试从 FreeRTOS 中删除/添加断点时、任务收到错误消息"器件可能在低功耗模式下运行。

    请检查此问题并尽快帮助解决此问题。

    此致、

    Avinash

    : 通过增加 RAM_lnk_cmd 文件中 FreeRTOS 的内存、解决了此_system_post_cinit 问题。  

    目前我已配置2个1ms 和10ms 任务(启用了抢占和时间分片)、但第一个创建的1ms 任务仅在运行中。

    优先级发生了变化、并且尝试使用相同的优先级、但是行为是一样的。 始终只有一个任务在运行。 未发生任务切换。

     请帮忙

    此致、

    Avinash

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

    尊敬的 Avinash:

    请检查是否  

    1.任务全部成功创建-检查任务创建功能返回的值

    2.周期中断按预期发生—将断点放置在  xTaskIncrementTick (task.c)和 portTickISR 内部以检查是否周期性发生中断

    谢谢!

    Arnav