FTAFS移植f_mount 挂载成功f_open失败问题(1)
时间:11-27
来源:互联网
点击:
最近在调试fatfs文件系统,源代码是0.10a代码顺带参考原子0.09的程序,我的代码中没有使用中文也就是_USE_LFN 设置为零,其次没有使用内存分配,sd_mmc.c是从fat32文件爱系统移植过来,可以正常播放MP3,我的主控是STM32F103RB芯片,移植完后,
FR_OK = 0,/* (0) Succeeded */
FR_DISK_ERR,/* (1) A hard error occurred in the low level disk I/O layer */
FR_INT_ERR,/* (2) Assertion failed */
FR_NOT_READY,/* (3) The physical drive cannot work */
FR_NO_FILE,/* (4) Could not find the file */
FR_NO_PATH,/* (5) Could not find the path */
FR_INVALID_NAME,/* (6) The path name format is invalid */
FR_DENIED,/* (7) Access denied due to prohibited access or directory full */
FR_EXIST,/* (8) Access denied due to prohibited access */
FR_INVALID_OBJECT,/* (9) The file/directory object is invalid */
FR_WRITE_PROTECTED,/* (10) The physical drive is write protected */
FR_INVALID_DRIVE,/* (11) The logical drive number is invalid */
FR_NOT_ENABLED,/* (12) The volume has no work area */
FR_NO_FILESYSTEM,/* (13) There is no valid FAT volume */
FR_MKFS_ABORTED,/* (14) The f_mkfs() aborted due to any parameter error */
FR_TIMEOUT,/* (15) Could not get a grant to access the volume within defined period */
FR_LOCKED,/* (16) The operation is rejected according to the file sharing policy */
FR_NOT_ENOUGH_CORE,/* (17) LFN working buffer could not be allocated */
FR_TOO_MANY_OPEN_FILES,/* (18) Number of open files > _FS_SHARE */
FR_INVALID_PARAMETER/* (19) Given parameter is invalid */
} FRESULT;
在main里边如下
FATFS *fatfs;
FIL *file;
u32 *total;
u32 *free;
int main()
{
RESULT res;
bsp_init();//初始化程序都在里边完成
res=sd_inti();
if(res)
{
printf("init falier");
}
else{//}
res=f_mount(fs,"0:",1);
res=exfuns_getfree("0",total,free);
while(1);
}
在调试中发现sd卡初始化成功,也就是返回值为零,
挂载也返回零,然后读取sd卡大小时
res返回12;
对应的值得意思是工作区没有。后来改成f_open(file,"0:123.txt",FA_CREATE_ALWAYS|FA_CREATE_NEW)结果返回9,又说路径无效。
今晚回去好好看硬件spi有没有接反。
typedef enum {FR_OK = 0,/* (0) Succeeded */
FR_DISK_ERR,/* (1) A hard error occurred in the low level disk I/O layer */
FR_INT_ERR,/* (2) Assertion failed */
FR_NOT_READY,/* (3) The physical drive cannot work */
FR_NO_FILE,/* (4) Could not find the file */
FR_NO_PATH,/* (5) Could not find the path */
FR_INVALID_NAME,/* (6) The path name format is invalid */
FR_DENIED,/* (7) Access denied due to prohibited access or directory full */
FR_EXIST,/* (8) Access denied due to prohibited access */
FR_INVALID_OBJECT,/* (9) The file/directory object is invalid */
FR_WRITE_PROTECTED,/* (10) The physical drive is write protected */
FR_INVALID_DRIVE,/* (11) The logical drive number is invalid */
FR_NOT_ENABLED,/* (12) The volume has no work area */
FR_NO_FILESYSTEM,/* (13) There is no valid FAT volume */
FR_MKFS_ABORTED,/* (14) The f_mkfs() aborted due to any parameter error */
FR_TIMEOUT,/* (15) Could not get a grant to access the volume within defined period */
FR_LOCKED,/* (16) The operation is rejected according to the file sharing policy */
FR_NOT_ENOUGH_CORE,/* (17) LFN working buffer could not be allocated */
FR_TOO_MANY_OPEN_FILES,/* (18) Number of open files > _FS_SHARE */
FR_INVALID_PARAMETER/* (19) Given parameter is invalid */
} FRESULT;
再次查看过硬件线没有接反!
FTAFS移植挂载成功失败问 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)