OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4313|回复: 4

关于stm32cubeMX挂载FATFS到外部flash 调用函数指针进入HardFault_Handler的问题

[复制链接]

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2020-3-15
在线时间
29 小时
发表于 2020-7-11 00:48:50 | 显示全部楼层 |阅读模式
1金钱

这是函数关联 底层已经关联无误了 调用ff.c中函数时最终在下面函数指针这个地方 将要进USER_write()函数时进入HardFault_Handler()




感觉是函数指针的问题 指针学的不好 大佬给看看吧


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2020-3-15
在线时间
29 小时
 楼主| 发表于 2020-7-11 15:51:52 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-7-12 01:40:23 | 显示全部楼层
帮顶
回复

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-4-16
在线时间
55 小时
发表于 2021-2-9 23:31:21 | 显示全部楼层
你需要在MX_FATFS_Init函数里面加入你需要挂载的设备,例如下面的例子:
/* USER CODE BEGIN PV */
char SDPath[4];
char FLASHPath[4];
FS_FileOperationsTypeDef Appli_state = APPLICATION_IDLE;
/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/**
  * @brief  FatFs initialization
  * @param  None
  * @retval Initialization result
  */
int32_t MX_FATFS_Init(void)
{
  /*## FatFS: Link the disk I/O driver(s)  ###########################*/
  if ((FATFS_LinkDriver(&USER_Driver, SDPath) != 0)||(FATFS_LinkDriver(&USER_Driver, FLASHPath) != 0))
  /* USER CODE BEGIN FATFS_Init */
  {
          return APP_ERROR;
  }
  else
  {
    Appli_state = APPLICATION_INIT;
    return APP_OK;
  }
  /* USER CODE END FATFS_Init */
}
回复

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-4-16
在线时间
55 小时
发表于 2021-2-9 23:36:56 | 显示全部楼层
MX_FATFS_Init函数只链接一个dev的话,挂载设备1的话是会直接到HardFault_Handler()
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-14 03:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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