找回密码
 立即注册
楼主: tsxdz

大神们搞一个W25Q128或256当成U盘的STC单片机程序

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-08 17:00:03
已绑定手机

1

主题

2

回帖

65

积分

注册会员

积分
65
发表于 2025-3-18 11:09:54 | 显示全部楼层
折腾了几天,发现W25Q128确实能做成一个U盘,可以正常进行文件操作,可是它不适宜做U盘
1、容量偏小
2、写数据太慢,因为存储单元只能1改成0,为了保证写入成功,需要使用缓冲进行数据处理后写入,
    关键写入前必须擦除扇区,一个扇区4K大小需要擦除50ms,极限每秒写入80K的数据,
    实际测试每秒写入50K,读出150K左右,太慢了。
3、扇区大小是4K和正常512的磁盘扇区不和,难以制作成启动盘

点评

为你的折腾精神点赞~  发表于 2025-3-18 11:42
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-4-4 22:11:37 来自手机 | 显示全部楼层
tsxdz 发表于 2023-3-15 15:03
我的意思是一块电路板上有STC单片机和W25Q, 先插到电脑上当成U盘复制数据到W25Q上,  然后取下来, 再单片 ...

写数据用USBMSC,读数据得用FAT文件系统(如果是大于8MB了话FAT32,小于8MB了话FAT12)。
关键看你想干什么了。我记得坛子里有大佬搞过USBMSC和ZNFAT共存协同工作范例,在操作系统板块里好像。但问题就来了:有点太大了。
你这两套东西放一块几十K的ROM就出去了,那你的实际应用部分估计还没这两套东西大。毕竟片内FLASH就这么多
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-4-4 22:19:23 来自手机 | 显示全部楼层
当然你要是单纯单纯只想拷数据了话,MSC和FAT可以分开弄。
把你的MSC程序烧进去,把你要考拷的文件拖进优盘根目录,数据就进你的SPIFLASH里了
拷完数据,想用它了话把你的程序里移植个文件系统(ZNFAT,FATFS之类的,网上教程一堆,都是现成的很好弄),通过文件系统来读取你拷进去的数据
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-4-4 22:23:45 来自手机 | 显示全部楼层
如果实在太懒,连文件系统也不想整的话,也有好招。
在电脑上装一个能物理写盘的软件(Hxd HEXeditor,或者WINHEX之类的)
把MSC模拟优盘插入之后,别格式化,直接把数据复制到你想要的扇区地址就好了。读取时候直接从偏移量往后读就OK,这个跟STCISP里的FLASH编辑器效果一样的,只不过走的是USBMSC而不是串口或者CDC罢了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2025-4-4 22:30:57 来自手机 | 显示全部楼层
tsxdz 发表于 2023-3-14 09:26
问题来了.  光能能做成U盘还不行呢. 单片机还要读取数据, 要知道数据是如何保存在W25Q中的, 做成U盘目的是 ...

拖文件进去这种是走了文件系统,比如FAT32,就理解成是按一定规范存储的就好了,这些个规范网上介绍的很详细,也有很多库按着这些个规范帮你读取文件。比如FATFS

当然,下个软件直接十六进制物理写磁盘,把你想写入的数据直接写到指定扇区,怎么写也就怎么读,就能绕过这个文件系统。跟STCISP里的FLASH编辑器一样直接。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:27 , Processed in 0.141186 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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