OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 3877|回复: 9

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

[复制链接]

  离线 

12

主题

42

帖子

0

精华

限制会员

积分
-44
金钱
-44
注册时间
2011-9-6
在线时间
0 小时
发表于 2012-3-11 11:53:29 | 显示全部楼层 |阅读模式
执行到下面这句之后
 #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),注释掉之后,程序继续执行了,就是不知道对不对,看看,待会儿发结果。。。
回复

使用道具 举报

  离线 

12

主题

42

帖子

0

精华

限制会员

积分
-44
金钱
-44
注册时间
2011-9-6
在线时间
0 小时
 楼主| 发表于 2012-3-11 12:05:03 | 显示全部楼层
哦,失败鸟儿。。。
回复 支持 反对

使用道具 举报

  离线 

450

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
108179
金钱
108179
注册时间
2010-12-1
在线时间
722 小时
发表于 2012-3-11 12:26:25 | 显示全部楼层
参考下论坛其他朋友的吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子
回复 支持 反对

使用道具 举报

  离线 

12

主题

42

帖子

0

精华

限制会员

积分
-44
金钱
-44
注册时间
2011-9-6
在线时间
0 小时
 楼主| 发表于 2012-3-11 19:46:52 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
找到问题了。。
俺竟然定义了,FIL *file;
然后调用f_open(file,"Test.txt",FA_READ);
瞎指一通,然后就进硬fault中断了。。。
回复 支持 反对

使用道具 举报

  离线 

20

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2012-8-13
在线时间
0 小时
发表于 2013-4-26 20:22:26 | 显示全部楼层
楼主,这个问题你怎么解决的,我也遇到这个问题了
回复 支持 反对

使用道具 举报

  离线 

450

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
108179
金钱
108179
注册时间
2010-12-1
在线时间
722 小时
发表于 2013-4-26 21:18:38 | 显示全部楼层
回复【5楼】陈坚鸿:
---------------------------------
见3楼.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子
回复 支持 反对

使用道具 举报

  离线 

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-4-3
在线时间
2 小时
发表于 2014-5-16 14:28:52 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
老师,我也遇到这个问题了,怎么解决的啊,看3楼没看明白啊。。。
回复 支持 反对

使用道具 举报

  离线 

450

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
108179
金钱
108179
注册时间
2010-12-1
在线时间
722 小时
发表于 2014-5-16 20:15:50 | 显示全部楼层
回复【7楼】JXCine:
---------------------------------
就是file没有分配内存导致的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子
回复 支持 反对

使用道具 举报

  离线 

1

主题

4

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2014-7-7
在线时间
0 小时
发表于 2014-8-9 08:00:27 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
请问老师,file的内存一般是在编译的时候由编译器进行分配的么,如果我不声明为指针变量就行了是么?

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

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

想请问老师,这样一来fs[]数组实际运行时,临时存储在战舰开发板的板载SRAM中么?
李冠林
回复 支持 反对

使用道具 举报

  离线 

450

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
108179
金钱
108179
注册时间
2010-12-1
在线时间
722 小时
发表于 2014-8-9 23:26:27 | 显示全部楼层
回复【9楼】李冠林:
---------------------------------
1,
你知道指针怎么用吧?
不知道的话,学习下指针的使用先.
2,
malloc是从SRAMIN,申请的
自然fs[]就是用的内部SRAM的内存.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子
回复 支持 反对

使用道具 举报


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

本版积分规则



QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-6-26 21:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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