0
点赞
收藏
分享

微信扫一扫

紧急避坑 stm32cube+freertos+fatfs挂载正常


这个问题一不留心就出错,排查了好多天。

网上方法试了都不行,甚至无奈去看底层函数,都发现没有用,后来想到可能优先级问题。

紧急避坑!!!如果没有用freertos,那中断优先级设置没啥关系。但如果用了freertos,那SDIO的优先级必须要注意跟freertos区分开来,不能高过他!不然就是mout正常,read等其他操作都返回错误3 not ready。

紧急避坑 stm32cube+freertos+fatfs挂载正常_c

其实当你开启freertos,然后点击NVIC时候,cube会提醒你,要注意函数的中断优先级和freertos优先级的关系。

(如果中断处理程序调用RTOS函数,请确保其抢占优先级低于最高的SysCall中断优先级。如FreeRTOS中的“LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY”)

紧急避坑 stm32cube+freertos+fatfs挂载正常_c_02

当初没怎么注意,现在才发现这是多么重要!!

还有一个要注意的小地方

cube需要设置sd卡检测引脚

紧急避坑 stm32cube+freertos+fatfs挂载正常_嵌入式_03


举报

相关推荐

0 条评论