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.

[参考译文] TMS320F28379D:配置计时器后、FreeRTOS SysConfig 演示报告错误

Guru**** 2524550 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1201832/tms320f28379d-freertos-sysconfig-demo-report-error-after-configuring-timer

器件型号:TMS320F28379D
Thread 中讨论的其他器件:SysConfigC2000WARE

大家好、

我是为我们的客户提出这个问题的。 现在客户正在检查 F28388 FreeRTOS 演示、并计划在 F28379D 上使用该演示。  现在它们有一些问题。  

它们使用 freertos_ex2_c28x_led blinky_syscfg 演示并按如下方式添加配置。

然后构建该工程、CCS 将 报告错误 错误#10056:符号"myTimer0Handle" obj:首先在"./freertos_ex2_c28x_led blinky_syscfg.obj"中定义;在"./syscfg/c2000_freertos.obj 中重新定义

我可以在我身边重现此问题。 我确认没有定义 "myTimer0Handle" 指定 freertos_ex2_c28x_led blinky_syscfg.c 。 您能帮助检查此配置吗?

这里还有一些关于 FreeRTOS 的其他问题。

为什么任务无法在 FreeRTOS 中退出或返回。

2、如何设置固定频率、以便 在不使用软件计时器的情况下执行任务(在3.25ms 内执行一个低优先级任务、在12.25ms 内执行一个高优先级任务)

提前感谢!

 

此致、

朱莉娅·李

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

    朱莉娅  

    会将您的问题转发给免费 RTOS 专家。

    此致

    Siddharth

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

    尊敬的 Julia:

    错误#10056:符号"myTimer0Handle"重新定义:首先在"./freertos_ex2_c28x_led_blinky_syscfg.obj"中定义;在".data"
    中重新定义/syscfg/c2000_freertos.obj

    这是 FreeRTOS SysConfig 生成的代码中的错误。 我们已经在内部修复了它。 请使用随附的文件作为权变措施。 此功能将在下一个 C2000ware 版本中推出。

     e2e.ti.com/.../c2000_5F00_freertos.h.xdt

    该文件 位于  c2000ware\\kernel\.meta\freertos_tool\templates 中

    为什么任务无法在 FreeRTOS 中退出或返回。

    [/报价]

    通常、FreeRTOS 任务以无限循环的方式执行、因为它们旨在以重复方式运行同一例程。 您可以调用 TaskDelete 或 TaskSuspend 函数来停止执行任务。

    Unknown 说:
    2. 如何设置固定频率以 在不使用软件计时器的情况下执行任务(在3.25ms 内执行低优先级任务、在12.25ms 内执行高优先级任务)

    您可以在任务中使用 TaskDelay 或 TaskDelay 在任务中插入固定的时间延迟。 在该延迟期间、调度程序将切换到其他任务。

    从 C2000ware 示例-

    void LED_TaskBlue(void * pvParameters)
    {
        for(;;)
        {
            ledToggle((uint32_t)pvParameters);
            vTaskDelay(250 / portTICK_PERIOD_MS); -> Inserts a 250ms delay
        }
    }
    

    此致、

    Veena

    [/quote]