找回密码
 立即注册
楼主: tzz***

文件系统 | znFAT | STC32位8051运行

[复制链接]
  • TA的每日心情
    开心
    昨天 18:24
  • 签到天数: 154 天

    [LV.7]常住居民III

    17

    主题

    370

    回帖

    1289

    积分

    荣誉版主

    积分
    1289
    发表于 2023-12-10 09:11:52 | 显示全部楼层
    看来能用上zn_FAT 文件系统了。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-10 14:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    19

    回帖

    52

    积分

    注册会员

    积分
    52
    发表于 2023-12-10 15:13:27 | 显示全部楼层
    太厉害了
    回复 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
     楼主| 发表于 2023-12-11 11:26:31 | 显示全部楼层
    yanhui 发表于 2023-12-9 15:45
    我做了个试验,修改MSC配置,电脑能识别U盘,但是不能格式化为512扇区,所有无论哪个配置在电脑上都不能格 ...

    微信图片_20231211111350.png

    我电脑上有512的选项
    不过PC上的格式化zn_FAT确实不能识别, 可能和这个原因有关:
    捕获.JPG


    不过没有关系, zn_FAT的格式化, PC是可以识别的, 所以只要用zn_FAT格式化, 就所有问题都解决了.
    你那边还有一些其它的问题 , 应该都是你自己的问题, 我刚才在测试, zn_FAT 和 PC 互通没有问题的

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
     楼主| 发表于 2023-12-11 12:57:15 | 显示全部楼层
    zn_FAT 与 电脑 交换文件演示
    本文采用STC32G实验箱测试, 将实验箱上的W25X40 替换为 W25Q128
    1.把用zn_FAT固件烧入MCU, 用zn_FAT格式化FLASH,运行结果如下:

    捕获1.JPG

    2.把MSC固件烧入MUC, 此时可以看到一个16M的U盘, 在U盘内创建一个文件名为"abc.txt"的文件, 输入内容为:"PC端输入文件内容"
    捕获2.JPG
    捕获3.JPG
    捕获4.JPG

    3.再次把用zn_FAT固件烧入MCU, 运行结果如下:
    捕获5.JPG


    注意事项, zn_FAT为了节省RAM使用, 扇区固定为512, 影响到以下几个方面:
    1. W25QXX的扇区是4096, 所以, 如果你的W25QXX驱动代码是不支持512访问的, 得调整底层驱动代码
    2.因为W25QXX的扇区是4096, 有时候为了节省RAM,不会全部使用完4096个字节, 而是只使用一部分, 比如只使用前256字节, 这种代码用于文件系统是不行的.
    3.MCS和zn_FAT都是由底层代码直接给出扇区大小, 盘总大小, 这些参数.  两个例程参数设置要一至. 即扇区大小都设置为512.  16M的FLASH, MSC做如下设置:
            dwMemorySize = 1024ul*1024ul*16;  
            wSectorSize = 512u;
            dwSectorNumber = dwMemorySize / wSectorSize;
    扇区调整过以后, 底层读写也需要做相应的调整
    4. zn_FAT最小支持的盘SIZE为8M, 也就是说, 小于8M的FLASH格式化不会成功.
    5. 用PC格式化的盘,  zn_FAT不一定能识别, 原因是 zn_FAT 支持有限的格式, 所以在使用时, 得用 zn_FAT格式化,  zn_FAT格式化的盘, PC能够识别

    以下是两个例程代码:
    MSC.rar (338.61 KB, 下载次数: 34) znFAT.rar (517.89 KB, 下载次数: 34)


    其它杂谈: 如果把 MSC 和 zn_FAT 做到一个固件上, 就可以实现 MUC和PC无驱动通信,  在电脑上改变文件的内容, MCU读到到文件内容变化, 做相应的处理, 实际上就是通过文件来传递数据.
    举两个简单的应用:
    1.温度传感器每小时把采样到的温度值写入文件, PC端直接就可以看到, 因为此时MCU固件内同时有MSC和zn_FAT,  电脑省去做桌面驱动.
    2.另一个简单的应用是, 我们在电脑端往U盘内写入一个BIN文件, MUC就可以跟据这个文件更新自己的固件或EEPROM.   
    实现电脑和MCU之间共享数据, PC端不需要做桌面驱动, 有无限可能

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 140 天

    [LV.7]常住居民III

    13

    主题

    103

    回帖

    863

    积分

    高级会员

    积分
    863
    发表于 2023-12-11 15:52:10 | 显示全部楼层
    tzz1983 发表于 2023-12-11 12:57
    zn_FAT 与 电脑 交换文件演示

    其它的疑问已调试通过,25Q64的驱动还有点问题,我这里用znfat格式化后,电脑显示的盘符不对,同时文件也没有写进去,我再检查下25Q64的驱动,谢谢老师
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 148 天

    [LV.7]常住居民III

    10

    主题

    101

    回帖

    298

    积分

    中级会员

    积分
    298
    发表于 2023-12-26 14:26:53 | 显示全部楼层
    这个不错,感谢楼主的分享,这个用来做文件读写很有用。以前用STC12C5A60S2读写过TF卡。再来试试这个。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    昨天 09:26
  • 签到天数: 117 天

    [LV.6]常住居民II

    3

    主题

    204

    回帖

    558

    积分

    高级会员

    积分
    558
    发表于 2024-1-3 10:13:33 | 显示全部楼层
    这个和FatFs有啥区别。

    点评

    zn_FAT用内存少一点  发表于 2024-1-3 13:13
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9235

    回帖

    1万

    积分

    管理员

    积分
    13948
    发表于 2024-2-9 10:13:39 | 显示全部楼层
    截图202402091013363999.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-4 18:10
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    6

    主题

    32

    回帖

    146

    积分

    注册会员

    积分
    146
    发表于 2024-3-1 18:21:33 来自手机 | 显示全部楼层
    对对,我也发现了就是电脑格式化完znfat不能识别
    就先说flash吧,我的是8M跑MSC,用电脑格式化完拿十六进制查看器打开,对照znfat书里的方法找到MBR区的64字节分区表发现确实存在问题。就是本来应该是znfat ok的地方电脑给弄了个error,,,
    这个确实不影响MSC优盘的使用,但是对于读取了话确实是一个问题,znfat的MBR解析应该就寄了
    IMG_20240223_172721.jpg

    点评

    实际使用时用znFAT格式化, 电脑和MCU都可正常读写文件. 我没有研究FAT的底层实现机制, 所以不知道是你理解出错,还是电脑出错,还是znFAT出错  发表于 2024-3-1 22:31
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:13
  • 签到天数: 51 天

    [LV.5]常住居民I

    2

    主题

    148

    回帖

    191

    积分

    注册会员

    积分
    191
    发表于 2024-3-27 15:12:29 | 显示全部楼层
    留着后面用
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-30 09:55 , Processed in 0.093407 second(s), 71 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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