调用f_open函数之后,竟然进了硬中断。。。

2019-08-11 17:56发布

执行到下面这句之后
 #if !_FS_READONLY
 mode &= FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW;
跳到了
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}

是不是我ffconf.h配置的不对?我就改了个#define _CODE_PAGE 936 这个,别的都没动?
我把中断里的while(1),注释掉之后,程序继续执行了,就是不知道对不对,看看,待会儿发结果。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
李冠林
2019-08-12 23:25
回复【8楼】正点原子:
---------------------------------
请问老师,file的内存一般是在编译的时候由编译器进行分配的么,如果我不声明为指针变量就行了是么?

我看到您的在战舰开发板配套库函数程序中用到板载的SRAM对两个文件对象进行内存分配(在exfuns_init(void)函数中由下面两行代码)

fs[0]=(FATFS*)mymalloc(SRAMIN,sizeof(FATFS)); //为磁盘0工作区申请内存
fs[1]=(FATFS*)mymalloc(SRAMIN,sizeof(FATFS)); //为磁盘1工作区申请内存

想请问老师,这样一来fs[]数组实际运行时,临时存储在战舰开发板的板载SRAM中么?

一周热门 更多>