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

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-05-16 15:38:27
已绑定手机

1

主题

3

回帖

93

积分

注册会员

积分
93
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-25 14:57:18
已绑定手机

42

主题

307

回帖

984

积分

高级会员

积分
984
发表于 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就这么多
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-25 14:57:18
已绑定手机

42

主题

307

回帖

984

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-25 14:57:18
已绑定手机

42

主题

307

回帖

984

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-25 14:57:18
已绑定手机

42

主题

307

回帖

984

积分

高级会员

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

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

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:88
  • 最近打卡:2025-06-29 18:14:05
已绑定手机

13

主题

35

回帖

283

积分

中级会员

积分
283
发表于 2025-5-15 16:22:44 | 显示全部楼层
我用的AI8051U,运行这个USB Demo,应该使用STC32G的例子吧?

点评

有专用例程 https://www.stcaimcu.com/data/download/DemoCode/AI8051U-DEMO-CODE-V1.2.zip  详情 回复 发表于 2025-5-15 16:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:221
  • 最近打卡:2025-06-29 14:47:56
已绑定手机

72

主题

2016

回帖

4544

积分

荣誉版主

无情的代码机器

积分
4544
发表于 2025-5-15 16:48:17 | 显示全部楼层
孙*** 发表于 2025-5-15 16:22
我用的AI8051U,运行这个USB Demo,应该使用STC32G的例子吧?

有专用例程
https://www.stcaimcu.com/data/do ... -DEMO-CODE-V1.2.zip
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-29 21:51 , Processed in 0.130068 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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