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.

[参考译文] RTOS/MSP432-RTOS:MSP-EXP432P401R

Guru**** 2609895 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583853/rtos-msp432-rtos-msp-exp432p401r

器件型号:MSP432-RTOS
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

我有一个 MSP-EXP432P401R、我 正在使用 CCS。 我能否在 main() fcnion 中使用 fopen、fwrite 等 fatsd 函数,并完全避免使用任务 fcnion (Taskns)?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否正在编写一个将使用 TI-RTOS (SYS/BIOS)的应用?

    如果是、则应考虑在任务线程中执行所有"工作"(如文件操作)。 这种方式将会容易得多。

    但是,也许您正在尝试避免使用 RTOS……?

    要回答您的问题、只需调用 fopen 等。main 中的函数将不起作用。 这是因为 BIOS 在 BIOS 启动期间对 FatFS 模块进行一些初始化。 这在调用 main()中的 BIOS_start()后发生。 此外、FatFS 代码依赖于 BIOS 信号量模块、并调用 semaphore_pend()、超时大于0 (请参阅 fatfs 文件夹中的 syncsyncsysbios.c)。 除非超时设置为零、否则不能从 main()内调用 Semaphore_pend()。

    我想您可以尝试"黑客"这种方法,方法是在 main()中执行此初始化操作[请参阅 ti_sysbios_fatfs_startup ()函数,它在*。c 文件中的项目构建的"Debug"或"Release"文件夹中生成,或者查看用于生成它的 Fatfs.xdt 文件]。

    这里做的主要是调用 codegen 驱动程序 init 函数"add_device()"。 有关完整详细信息、请参阅函数。

    但是、似乎只需使用一个任务线程并让 SYS/BIOS 为您完成所有初始化和设置就会容易得多。

    此外、如果您确实尝试在操作系统周围"黑客攻击"、则此处的支持将受到限制。

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

    您好 Steve。

    感谢您的回答。 这对您有很大帮助。 只需回答您的问题;我只想使用具有文件管理功能的 SD 卡来存储数据。 我不确定除了使用 RTOS 之外是否还有其他方法可以实现它。 如果我可以避免使用 RTOS、我更喜欢它。  

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

    我快速浏览 了 FatFS 网站。  我本来希望它可以特别说明、它可以在没有操作系统的情况下使用、但我没有看到任何提到的内容。  我确实看到它说它支持 RTOS。

    您可以让他们的网站浏览并得出自己的结论、或将问题发布到 FatFS 用户论坛

    Steve