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.

[参考译文] CCS/RM44L520:使用 FreeRTOS 9.0生成项目 RM44L520时、最新的 HALCoGen 4.07会出现一些问题

Guru**** 2448780 points
Other Parts Discussed in Thread: RM44L520, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/621289/ccs-rm44l520-latest-halcogen-4-07-have-some-problem-when-generate-the-project-rm44l520-with-freertos-9-0

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

工具/软件:Code Composer Studio

首先、由于最新的 HALCoGen 4.07版本、我可以生产具有 FreeRTOS 的 RM44L520项目。 但我想您的一方没有对其进行熟练的测试。 在我选中 Tab OS 上的"Use Timers"选项并生成工程、然后在我的 CCS 7.1中编译后、会出现以下问题:

未定义的首次引用
符号
------ --------
MPU_xTimerCreate ./source/sys_main.obj
xQueueCreateMutexStatic ./source/os_mpu_wrappers.obj
xTimerPendFunctionCall /source/os_mpu_wrappers.obj

 

我想根本原因是、在 os_mpu_wrappers.h 中将其定义为下一行、并且始终生效

#define xTimerCreate MPU_xTimerCreate

但是 MPU_xTimerCreate()上的实现不包含在生成的任何文件中。

#define xTimerCreate MPU_xTimerCreate

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

    我想解决方案应该如下所示:(红色的语句是在 HALCoGEN 生成后新增的)。 我想问题的原因是您的测试仪和开发人员没有对此版本进行足够的测试。 请尝试重新测试它^_^

    /* Gong H 在语句下面添加*/

    #if ((configSUPPORT_DYNAMIC 分配=1)&&(configUSE_TIMERS =1)

      TimerHandle_t MPU_xTimerCreate (const char * const pcTimerName、const TickType_t xTimerPeriodInTicks、const UBaseType_t uxAutoReload、void * const pvTimerID、TimerCallbackFunction_t pxCallbackFunction)

      {

      TimerHandle_t xReturn;

      basetype_t xRunningPrivileged = prvRaisePrivilege ();

        xReturn=xTimerCreate( pcTimerName, xTimerPeriodInTicks, uxAutoReload,pvTimerID,pxCallbackFunction );

        portRESET_privile( xRunningPrivileged );

        返回 xReturn;

      }

    #endif

    /*------------------ *

    #if (include_xTimerPendFunctionCall = 1)/* Gong H 添加编译开关,仅在使用 include_xTimerPendFunctionCall 时在此处编译*/

    basetype_t MPU_xTimerPendFunctionCall (PendedFunction_t xFunctionToPend、void * pvParameter1、uint32_t ulParameter2、TickType_t xTicksToWait)

    basetype_t xReturn;

    basetype_t xRunningPrivileged = prvRaisePrivilege ();

    xReturn=xTimerPendFunctionCall( xFunctionToPend、pvetParam1、ulParameter2、xTicksToWait );

    portRESET_privile( xRunningPrivileged );

    返回 xReturn;

    #endif

    /*------------------ *

    #if (configSUPPORT_static_allocation = 1)/* Gong H 添加编译开关*/

    QueueHandle_t MPU_xQueueCreateMutexStatic (const uint8_t ucQueueType、StaticQueue_t * pxStaticQueue)

    队列 Handle_t xReturn;

    basetype_t xRunningPrivileged = prvRaisePrivilege ();

    xReturn=xQueueCreateMutexStatic( ucQueueType,pxStaticQueue );

    portRESET_privile( xRunningPrivileged );

    返回 xReturn;

    #endif

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

    除此之外、在使用 HALCoGEN 4.07之后、在 RM44L520 FreeRTOS 版本9.0中发现其他错误。 我切换回 HALCoGEN 4.06.1。 在您推送稳定版本之前、我不会使用最新版本。

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

    很抱歉、您在使用最新版本时遇到一些困难。 我已将你的帖子转发给我们的 Halcogen 领导,以便他们对你提出的问题作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没想到 RM57L 也出现了同样的问题、我也注意到关于屏幕仍然显示04.06.00 (我已仔细检查我没有运行旧版本)。

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

    尊敬的 David:

    很抱歉、您在使用最新版本的 HALCoGen 时遇到问题。 感谢您指出这一点。 我们将在下一个版本中解决这些问题。

    您能告诉我们您在使用此版本时遇到了哪些其他错误吗?

    谢谢、此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有其他可报告的内容。 但是、我将继续使用04.06.01、直到您的下一个版本。