搜索
bottom↓
回复: 4

s3c2440裸机移植fatfs问题

[复制链接]

出0入0汤圆

发表于 2013-3-18 17:16:00 | 显示全部楼层 |阅读模式
我的编译环境不是ads,是在linux里用的arm-linux-gcc 4.4.3 。在编译过程中遇到过一个错误在f_mount()中,我把rfs=FatFs[vol]改成rfs=&FatFs[vol],编译就通过了在使用读取read()是很好用的,但在创建文件和目录是会出现,文件创建但是无法打开的问题,我想肯定是在目录项写上文件,但在fat1,fat2中没有分配空间。写要想好使就必须,是有数据的文件,然后就可以写进去。
真不知道什么问题啊,要是是编译器的问题,我想问问哪个版本的交叉编译工具好用?

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2013-3-18 17:27:30 | 显示全部楼层
arm-linux-gcc 4.4.3 还是蛮好用的,以你这么说应该不是编译器的问题。
个人觉得你直接把结构体改成指针传递应该是有问题的,你应该先分析rfs需要一个什么东西,可能要求的是一个结构体中的某个指针,你这样改肯定就错了。

出0入0汤圆

 楼主| 发表于 2013-3-19 08:31:50 | 显示全部楼层
我也不想改啊,但不该,程序在执行rfs赋值时直截访问0xffffffff地址,然后我的mmu就启动了,abort异常

出0入0汤圆

 楼主| 发表于 2013-3-19 10:08:44 | 显示全部楼层
发现问题所在了static FATFS *FatFs[_VOLUMES]数组未初始化,rfs=FatFs[vol]然后if(rfs) rfs->fs_type=0; 就这句死了,数组未初始化,所以rfs=FatFs[vol]不一定得0所以执行了rfs->fs_type=0;也就死了。没看到里面有初始化FatFs[]的啊,就自己写了一个,就好用了。不过函数里应该有初始化这个数组的啊,谁知道是哪个啊?

出0入0汤圆

发表于 2013-8-14 12:01:39 来自手机 | 显示全部楼层
mark……
顶一个…
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 02:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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