tf 卡 mkfs 出错

发布于 2020-01-22 15:47:47
各位好!使用 mkfs 格式化 TF 卡出错,错误信息如下(卡已经格式化为FAT32):
1、msh />mkfs -t elm sd0
[E/SDIO] error -2 requesting status
[E/SDIO] mmcsd request blocks error
[E/SDIO] -2,0,0, 0x00000001,0x00002000
format error
mkfs failed, result=-5


2、能正确找到卡的信息:
device type ref count
-------- -------------------- ----------
sd0 Block Device 1
uart2 Character Device 2
pin Miscellaneous Device 0


3、加载后的卡的信息如下:

[I/SDIO] SD card capacity 15711232 KB.
[D/SDIO] probe mmcsd block device!
found part[0], begin: 4194304, size: 14.1003GB

[I/app.card] sd card mount to '/'


使用stm32f411re 平台,rt-thread 版本为 4.0.2 。谢谢各位!

查看更多

关注者
0
被浏览
557
12 个回答
bernard
bernard 2020-01-22
像是驱动的问题
skylin008
skylin008 2020-01-23
在 block_dev.c 有这些错误提示。该如何查呢,谢谢!
921742079
921742079 2020-01-25
我这边测试elm,然后mkfs也提示-5的错误,代码写demo,提示The sector size of device is greater than the sector size of FAT,单步进去看
blk_dev->geometry.bytes_per_sector = fal_flash->blk_size;
blk_size是65535,由于某些原因,我bsp重新做了一遍,之前的一遍blk_size是2048, 版本都是同一个,感觉是menuconfig里面的配置选项的问题,具体位置在哪里,不知道,很烦恼

另外,我用littlefs也是,也是类似的一个65535,导致很多计算全部错误,加载失败
921742079
921742079 2020-01-26
921742079 发表于 2020-1-25 17:01
我这边测试elm,然后mkfs也提示-5的错误,代码写demo,提示The sector size of device is greater than the ...


flash驱动里面的blk大小改成2048或者4096就好了,不过elm格式化还是会错误
skylin008
skylin008 2020-01-28
921742079 发表于 2020-1-26 13:47
flash驱动里面的blk大小改成2048或者4096就好了,不过elm格式化还是会错误


您那边有新的进展吗?
921742079
921742079 2020-01-28
    本帖最后由 921742079 于 2020-1-28 23:23 编辑


skylin008 发表于 2020-1-28 18:55
您那边有新的进展吗?

没有,不知道怎么解决,没有头绪另外,我是片上flash,不知道和你那边有没有区别

前几天我用fal+littlefs做测试的时候,发现我设置了几个分区,对A分区某些内容做修改,就改了2字节;然后对B分区做格式化,会导致A分区数据被清空。不知道是不是大小还是哪里设置错了还是哪里不对

不知道elm格式化提示-5是不是和这个也有类似的地方
skylin008
skylin008 2020-01-29
921742079 发表于 2020-1-28 23:08
没有,不知道怎么解决,没有头绪另外,我是片上flash,不知道和你那边有没有区别

前几天我用fal+littlefs ...


1、msh />mkfs -t elm sd0
[E/SDIO] error -2 requesting status
[E/SDIO] mmcsd request blocks error
[E/SDIO] -2,0,0, 0x00000001,0x00002000
format error
mkfs failed, result=-5

这些错误信息,是在 block_dev.c 的这个文件内部有提示。
921742079
921742079 2020-01-29
skylin008 发表于 2020-1-29 13:28
1、msh />mkfs -t elm sd0
[E/SDIO] error -2 requesting status
[E/SDIO] mmcsd request blocks error


我的只有
msh />mkfs -t elm elmfs
format error
mkfs failed, result=-5
skylin008
skylin008 2020-01-29
921742079 发表于 2020-1-29 13:33
我的只有
msh />mkfs -t elm elmfs
format error


能否共享一下您的这部分代码,我在我的平台试试看,我的主芯片是 STM32F411RET6,谢谢您!
921742079
921742079 2020-01-29
    本帖最后由 921742079 于 2020-1-29 19:46 编辑


skylin008 发表于 2020-1-29 18:42
能否共享一下您的这部分代码,我在我的平台试试看,我的主芯片是 STM32F411RET6,谢谢您! ...

太客气了,我的是F411CEU6,代码如下下载附件[on_chip_flash_demo.zip]

需要根据你需要的大小修改rtt自带驱动里面的const struct fal_flash_dev stm32_onchip_flash_xxk,驱动的相对路径为 libraries/HAL_Drivers/drv_flash/drv_flash_f4.c,这个结构体里面的blk为扇区大小,建议改成 2048 或者 4096
我在另外一个帖子里面发的这个fal+fs有个诡异的问题,某些板子上,启用fal+文件系统的话,fal的demo都会挂,不启用文件系统就没事,不知道你这边有没有这个问题,我的F411CEU6没有这个问题,F401CCU6就会挂,只能放弃文件系统,直接片上flash读写
skylin008
skylin008 2020-01-29
921742079 发表于 2020-1-29 19:39
太客气了,我的是F411CEU6,代码如下

需要根据你需要的大小修改rtt自带驱动里面的const struct fal_flash ...


谢谢您!我挂载的是 tf 卡,不是 flash, 可能有些不一样。
921742079
921742079 2020-01-29
skylin008 发表于 2020-1-29 21:38
谢谢您!我挂载的是 tf 卡,不是 flash, 可能有些不一样。


恩,tf卡的话,帮不上太大的忙了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友