在SPI-FLASH上建立文件系统
SPI-FLASH有16M,我的想法是前面的8M使用文件系统来访问,后面的8M当作字库。字库是给EMWIN使用的。各位前辈,不知道这样做可不可以 可以这样做,没问题的。 那用文件系统的时候如何保证后面8M的内容不被覆盖掉呢回 小小鱼 的帖子
小小鱼:那用文件系统的时候如何保证后面8M的内容不被覆盖掉呢
images/back.gif
设置这里:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=14894
谢谢,回去看看。 if (_MULTI_PARTITION && part) {
/* Get partition information from partition table in the MBR */
if (disk_read(pdrv, fs->win, 0, 1) != RES_OK) return FR_DISK_ERR;
if (ld_word(fs->win + BS_55AA) != 0xAA55) return FR_MKFS_ABORTED;
tbl = &fs->win;
if (!tbl) return FR_MKFS_ABORTED; /* No partition? */
b_vol = ld_dword(tbl + 8); /* Volume start sector */
n_vol = ld_dword(tbl + 12); /* Volume size */
} else {
/* Create a single-partition in this function */
if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &n_vol) != RES_OK || n_vol < 128) { //--wj128个扇区
return FR_DISK_ERR;
}
b_vol = (sfd) ? 0 : 63; /* Volume start sector */
n_vol -= b_vol; /* Volume size */
}
st_word(tbl + BS_55AA, 0xAA55); /* Signature (Offset is fixed here regardless of sector size) */我想要在铁电上使用文件系统,一直挂载不上去。铁电的大小为8K
FAFTS文件系统对存储介质的容量是否有要求,从上面的代码可以看出建立文件系统至少要在存储介质上建立128个扇区,而每个扇区至少512字节(因为挂载文件系统会一次性读取512个字节的数据,然后判断511,512个字节是否为0X55,0XAA)..因此设置扇区大小小于512字节时,就会导致文件系统挂载失败。所以我觉得存储介质的大小至少未128*512 = 64K 字节。
我的想法对不对啊,还有我不太明白disk_ioctl()函数中GET_BLOCK_SIZE的作用,他是用来干什么的 小小鱼 发表于 2016-12-23 08:54
我想要在铁电上使用文件系统,一直挂载不上去。铁电的大小为8K
FAFTS文件系统对存储介质的容量是否有要求, ...
你还,我碰到了和你一样的问题:
fatfs对存储器容量是否有限制?我用512k的片上flash移植fatfs成功,但是用128k的片上flash移植失败,看了下源码,发现f_mkfs()里面有个判断可用扇区的数目,如果小于128个,就报错。 推荐ARM的littleFS,SPI,MCU内部FLASH,NOR和NAND都可以用,https://github.com/ARMmbed/littlefs
页:
[1]