硬汉嵌入式论坛

 找回密码
 立即注册
查看: 549|回复: 3
收起左侧

STM32F429+RLFlashFS+SD卡挂载后进hardfault

[复制链接]

21

主题

61

回帖

124

积分

初级会员

积分
124
发表于 2023-3-22 13:13:49 | 显示全部楼层 |阅读模式
本帖最后由 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。


回复

使用道具 举报

21

主题

61

回帖

124

积分

初级会员

积分
124
 楼主| 发表于 2023-3-22 16:02:26 | 显示全部楼层
现在发现,fmount在task任务中运行时,可以正常挂载,但是在rtos启动前挂载会进hardfault。怀疑是堆栈溢出,但是task任务栈才4KB,系统栈stack增加到8KB仍然会进hardfault
回复

使用道具 举报

21

主题

61

回帖

124

积分

初级会员

积分
124
 楼主| 发表于 2023-3-22 16:39:33 | 显示全部楼层
已找到原因,fs_os.h中调用了freertos api函数,但是rtos还没开始调度。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2023-3-23 01:39:56 | 显示全部楼层
好的,解决了就好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 03:47 , Processed in 0.150590 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表