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.

[参考译文] TMS570LS3137:如何在 HALCOGEN 中更改 FreeRTOS 版本

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/575247/tms570ls3137-how-can-i-change-the-version-of-freertos-version-in-halcogen

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

大家好、

我使用 HALCOGEN 通过选择 TMS570LS3137ZWT_FreeRTOS 配置来生成代码。 我成功地使 LED 闪烁、但 FreeRTOS 版本为 V8.2.0、现在我想使用较新版本的 FreeRTOS v9.0.0
生成 HALCOGEN 文件后如何更改 FreeRTOS 的版本?

如何升级已与 HALCOGEN 安装设置成一个版本的 FreeRTOS?

我对 TMS570 HDK 套件和 FreeRTOS 有点陌生。

此致、
SAI

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

    您好 Sai,

    我已将您的问题转交给我们的 HalCogen 开发人员。 他将很快回答您的问题。 谢谢

    此致、

    问  

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

    你有一些信息吗???

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

    您好、Sai、

    Free RTOS 端口面临的主要挑战是编写包装程序函数、因为 API 的更改/被添加到 FreeRTOS 的主要版本更新中。

    Include Folder (包含文件夹)-- File "MPU_wrapper.h"(文件"MPU_wrapper.h")下已更新 映射 但在 portable\ccs\Cortex-R4下-- file "mpu_wrapper.c"(MPU_wrapper.c)。必须进行更新以在 FreeRTOS 9中为 API 添加包装函数,主要来自原型 queue.h、task.h、task.h、event_group.h 和 timer.

    随附的是用于 HALCoGen 的 FreeRTOS v9.0端口的初始版本、只需将 HALCoGen\下的 FreeRTOS 文件夹解压缩并替换(复制以确保安全)即可 驱动程序。

    请更新  MPU_wrapper.c"来实现包装函数 以支持最新的 API。

    如果需要、我可以在下周结束时发送。 我相信你可以明白这一点、它是直接的。 您可以告诉我。

    /cfs-file/__key/communityserver-discussions-components-files/312/3124.FreeRTOS_5F00_under_5F00_drivers.zip 

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

    您好、Prathap、

    非常感谢您的回复。
    我对 FreeRTOS 非常陌生,我尝试更新 MPU_wrapers.c 文件,但没有成功:(,并把它弄乱了。
    您能更详细地解释一下如何更新包装程序.c 吗? 或者、您能否在完成后向我发送更新的 MPU_wrapers.c!!

    此致、
    SAI

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

    您好、Sai、

    请使用 HALCoGen 支持的 FreeRTOS 8.2.0的当前版本、并用于 FreeRTOS 和 Hercules 器件。 请不要使用端口保持、一旦最新版本可用、您使用8.2.0开发的应用程序将在9.0上无缝运行。  

    移植最新的 FreeRTOS 需要一些时间来完成一项相当好的工作。 我会查看并尽快更新您的信息。  

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

    很抱歉耽误你的回答。
    我开始使用 HALCoGen 中支持的当前版本 FreeRTOS 8.2.0。 硬件驱动器现在似乎运行良好。
    我想在项目中使用 FreeRTOS+CLI 中的 CLI 应用程序。 遗憾的是、FreeRTOS 网站上的 CLI 实施版本主要是针对 FreeRTOS 9.0版本编写的。

    无论如何,请在端口可用时更新我:)谢谢。

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

    您好、Sai、
    使用 CLI 时不需要 FreeRTOS 9.0。 实际上、您需要为 FreeRTOS + IO 软件包编写一个串行端口驱动程序。
    此致:Szilárd  

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

    非常感谢您的建议。
    我在昨天介绍了一些 CLI 文档后了解了这一点。
    但我还有一个问题(静态内存分配)、主要是为了让平台在项目的后续阶段轻松升级到 SafeRTOS。


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

    您好、Sai、
    我没有 SAFERTOS 方面的经验、但我知道它与 FreeRTOS API 兼容。

    此致:Szilárd

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

    是的、CLI API 是兼容的、并且在当前版本的 FreeRTOS (8.2)中工作正常。
    SafeRTOS 与 FreeRTOS 类似、但具有更多安全术语。 要从 FreeRTOS 升级到 SafeRTOS、建议使用静态分配的 RAM 创建任务和其他 RTOS 对象。 这是 FreeRTOS v9.0中提供的新版本。

    如果我的假设有误、请更正我的错误。 我对该 RTOS 内容有点陌生。
    非常感谢您对 CLI API 的上述回复。 非常有用:)

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

    您好、Prathap、

    HALCoGen 的 MPU_wrappers .c 仍然存在问题(没有返回指针):

    #if ((configUSE_互 斥量==1)&&(include_xSemaphoreGetMutexHolder ==1)
       void* MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore )
       {
          basetype_t xRunningPrivileged = prvRaisePrivilege ();

          xQueueGetMutexHolder( xSemaphore );
          portRESET_privile( xRunningPrivileged );
       }
    #endif

    固定版本:

    #if ((configUSE_互 斥量==1)&&(include_xSemaphoreGetMutexHolder ==1)
       void* MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore )
       {
          void *pvReturn;
          basetype_t xRunningPrivileged = prvRaisePrivilege ();

          pvReturn=xQueueGetMutexHolder( xSemaphore );
          portRESET_privile( xRunningPrivileged );
          返回 pvReturn;
       }
    #endif

    此致:Szilárd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sai、
    不幸的是,我对 SAFERTOS 没有任何经验,正如我所提到的,但是对于日常使用来说,FreeRTOS 本身似乎非常可靠、稳定和可靠,您可以在其上进行继电器。 我会开始使用它、以后无论版本如何、切换到 SafeRTOS 都不会像现在那样痛苦。
    此致、Szilárd