zhumx 发表于 2023-3-22 13:13:49

STM32F429+RLFlashFS+SD卡挂载后进hardfault

本帖最后由 zhumx 于 2023-3-22 14:02 编辑

如题,参考硬汉给的例程,使用STM32F429IGT+RLFlashFS+SD卡,驱动适配好后,发现应用中可以finit,返回OK,但是fmount后进了hardfault中断,arm错误寄存器显示用法错误,INVSTATE位置1了,PC指针值为0。调用fmount后断点调试,发现进了4次MCI_STM32F4xx.c中的Control函数,前三次分别进case ARM_MCI_BUS_DATA_WIDTH、case ARM_MCI_BUS_SPEED_MODE:、case ARM_MCI_DATA_TIMEOUT:,最后一次是 case ARM_MCI_BUS_SPEED:,期间代码均正常,但最后一次退出后,就进了Hardfault。想咨询下硬汉大佬,可能会是哪方面原因?感觉像调了地址为0的函数。MCI_STM32F4xx.c与例程几乎一致,没使用CD脚。FS_Config_MC_0.h也一致。MCU主频120MHz。


zhumx 发表于 2023-3-22 16:02:26

现在发现,fmount在task任务中运行时,可以正常挂载,但是在rtos启动前挂载会进hardfault。怀疑是堆栈溢出,但是task任务栈才4KB,系统栈stack增加到8KB仍然会进hardfault

zhumx 发表于 2023-3-22 16:39:33

已找到原因,fs_os.h中调用了freertos api函数,但是rtos还没开始调度。

eric2013 发表于 2023-3-23 01:39:56

好的,解决了就好
页: [1]
查看完整版本: STM32F429+RLFlashFS+SD卡挂载后进hardfault