微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 移植神舟IV的SD卡FATFS例程,运行f_mount(0, &fs)函数时,进入硬故障处理

移植神舟IV的SD卡FATFS例程,运行f_mount(0, &fs)函数时,进入硬故障处理

时间:10-02 整理:3721RD 点击:
把神舟IV的SD卡FATFS例程移到我自己的板子上(把跟硬件相关的管脚重新定义了一下),上电后打印的串口如下:file system starting!
这是SDHC: HIGH_CAPACITY_SD_CARD!
成功激活SDHC卡!

CSD_Tab[0] 0x40
CSD_Tab[1] 0xE
CSD_Tab[2] 0x0
CSD_Tab[3] 0x32
CSD_Tab[4] 0x5B
CSD_Tab[5] 0x59
CSD_Tab[6] 0x0
CSD_Tab[7] 0x0
CSD_Tab[8] 0x3B
CSD_Tab[9] 0x57
CSD_Tab[10] 0x7F
CSD_Tab[11] 0x80
CSD_Tab[12] 0xA
CSD_Tab[13] 0x40
CSD_Tab[14] 0x0
CSD_Tab[15] 0xE3
SDHC CSD Version 2.0 Acess AS SD High Capacity.
SD CardBlockSize 512 CardCapacity 3500 M.
SD Product name:
到此之后不在输出任何数据,仿真发现运行到f_mount(0, &fs)后发现程序进入到下面的硬故障函数处理里面去了,
/**
  * @brief  This function handles Hard Fault exception.
  * @param  None
  * @retval None
  */
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
刚接触FATFS,不知道怎么解决这个问题,大家给些建议。

在线等啦,给个思路

8G的卡,读出的容量为3500M?谁知道可能是哪出问题了?

经过这两天的折腾,卡容量读错的问题是变量赋值溢出了,修改定义成64位字节变量。执行f_mount(0, &fs)函数时,进入硬故障处理的问题临时解决的办法是把代码优化等级改为0就可以了。
求更深入的解决办法

上一篇:向TI申请样片!
下一篇:有关TFT的问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top