硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1192|回复: 3
收起左侧

[FileX] filex往SD卡写入失败

[复制链接]

5

主题

16

回帖

31

积分

新手上路

积分
31
发表于 2024-8-3 18:58:13 | 显示全部楼层 |阅读模式
threadx 和 filex 移植到STM32F429,存储介质为 MicroSD卡,读出文件,读出目录正常,创建文件也正常,写入文件的时候,如果数据长度小于512字节,返回结果也是正常,但是关闭文件的时候返回FX_IO_ERROR (0x90)。如果写入的数据为512字节(或更多),也会返回FX_IO_ERROR (0x90)。哪位老师有这方面的经验请指教,谢谢。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-8-4 01:46:38 | 显示全部楼层
这个是底层错误,是不是DMA的4字节对齐没有处理好

案例参考。


ThreadX FileX和RL-FlashFS文件系统教程更新记录贴,前4章已经发布(2021-03-01)
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=100749


回复

使用道具 举报

5

主题

16

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 2024-8-4 21:30:34 | 显示全部楼层
按照您的模板,移植了Filex,现在读写都可以了。但是仍然有问题:
1,fx_media_open(&sdio_disk, "STM32_SDIO_DISK", fx_stm32_sd_driver, 0, media_memory, sizeof(media_memory));中的media_memory到底应该多大,我看您的模板是32kB,可官方的例程说是和一个扇区大小一致(512字节);
2,每次写入的字节数只能不超过510字节,再大接写入失败(FX_IO_ERROR (0x90),512字节也会出错,似乎和media_memory大小无关。但是连续写若干次,每次500字节都是正常的。
谢谢指教。
回复

使用道具 举报

5

主题

16

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 2024-8-4 21:43:35 | 显示全部楼层
按照模板移植后,能读写文件了,但是仍然有问题:
1,fx_media_open 中的 media_memory到底应该多大?手册和官方例程中都是和扇区一样大小,armfly的模板确实32kB;
2,试了很多次写入,每次写入最多510字节,再多(即使是512字节)就出错,FX_IO_ERROR;这似乎和media_memory大小无关;
3,要写入长的字符数组,每次写500字节,连续多次写入都不会出错。
谢谢指教
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 03:40 , Processed in 0.038600 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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