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.

[参考译文] MCU-PLUS-SDK-AM243X:FreeRTOS FAT 文件系统(FS/FreeRTOS/FAT)不支持 FreeRTOS

Guru**** 2524550 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1123916/mcu-plus-sdk-am243x-freertos-fat-file-system-fs-freertos-fat-doesn-t-support-freertos

器件型号:MCU-PLUS-SDK-AM243X

您好!

我想在 FreeRTOS 上启动 FreeRTOS FAT 文件系统(FS/FreeRTOS/FAT)--而不是 nortos。 但当前的 SDK 源代码仅支持 nortos。  

您是否计划支持 FreeRTOS?

我修改 了 makefile.am243x.r5f.ti-arm-clang 以支持 FreeRTOS。

我删除 了 SOURCE /FS/FreeRTOS_FAT/portable/nortos/portable.c、并删除 了 SOURCE /FS/FreeRTOS_FAT/portable/nortos include 路径。

我在 files_common 中添加了 ff_locking.c 和 ff_time.c 文件。 我添加了 FreeRTOS 包含路径。

当我尝试构建库时、我遇到如下编译错误:

编译:freertos_fat.am243x.r5f.ti-arm-clang.debug.lib: C:/ti/mcu_plus_sdk_am243x_08_03_00_18/source/fs/freertos_fat/freertos-fat/ff_stdio.c
在包含在 C:/ti/mcu_plus_sdk_am243x_08_03_00_18/source/fs/freertos_fat/freertos-fat/ff_stdio.c:34中的文件中:
C:/ti/mcu_plus_sdk_am243x_08_03_00_18/source/fs/freertos_fat/freertos-fat/include\ff_stdio.h:155:10:错误:请为3个条目定义空间
错误请为3个条目定义空间
^μ A
1错误已生成。

以下是 ff_stdio.h 中的编译错误代码:

#if ((configNUM_THREAD_LOCAL STORAGE_POINTERS - ffconfigCWD_THREAD_LOCAL)< 3)
错误请为3个条目定义空间
#endif

这两个值如下定义:

#define CONFIGNUM_THREAD_LOCAL STORAGE_POINTS(4)  <- FreeRTOSConfig.h
#define ffconfigCWD_THREAD_LOCAL 索引(4U)        FreeRTOSFATConfig.h

您对此问题有什么建议吗?

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

    您好!

    我忘记了在  source\kernel\freertos\portable\TI_arm_clang\arm_cr5F\portmacro.h 文件中缺少 portINLINE 定义的另一个问题。

    我添加 了 portINLINE 宏定义以避免 FreeRTOS_FAT 编译错误。

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

    您好、Chaehee、

     对于 一般用例、将 CONFIGNUM_THREAD_LOCAL STORAGE_POINTERS 设置为4。 我们尚未添加对 FreeRTOS 的 FreeRTOS_FAT 的支持。 您使用的步骤对于移植是正确的。 您需要执行的更正 将 CONFIGNUM_THREAD_LOCAL STORAGE_POINTERS 增加到、因为 FreeRTOS_FAT 本身使用 2个线程。 此外、您可能还需要增加链接器文件中的堆、以将  CONFIGNUM_THREAD_LOCAL STORAGE_POINTERS 支持为6

    我看到  PORTINLINE 的定义 适用于 M4/A53内核、但不适用于 R5F 内核。 我将为同样的情况开一个 TT。 感谢您指出这一点。

    谢谢、此致、
    Aakash