找回密码
 立即注册
楼主: 游龙在线

单片机是否有办法运行U盘或SD卡上的程序,或将单片机产生的数据以文档形式保存在sd卡

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:248
  • 最近打卡:2025-07-01 07:40:26

1

主题

18

回帖

1039

积分

金牌会员

积分
1039
发表于 2024-3-27 09:01:35 | 显示全部楼层
21cns*** 发表于 2024-3-26 15:15
SD卡支持两种总线方式:SD方式与SPI方式。其中SD方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信。而S ...

那是难实现,才使用场景少吧?如果能像设置一个USB接口、设置一个pwm输出一样简单,使用场景会少吗?单片机虽然有内部存储,但对长时间采集数据,还是太小。只是用单片机的人,都知道这一点,所以都想办法规避这个问题。最简单的方法,就是告诉客户,这个功能不能实现。要实现,需要接台PC,通过上位机实现。
回复 支持 反对

使用道具 举报 送花

7

主题

22

回帖

267

积分

中级会员

积分
267
发表于 2024-3-27 13:43:29 | 显示全部楼层
游龙*** 发表于 2024-3-27 09:01
那是难实现,才使用场景少吧?如果能像设置一个USB接口、设置一个pwm输出一样简单,使用场景会少吗?单片 ...

你说的这些十几年前我上学那会就做过了, 用STC的芯片。 外置了一个SRAM, 通过 SPI 读取SD卡,汇编解析fat32文件系统, 加载SD卡上的程序文件到 SRAM,然后跳转执行SD卡上的程序。  要实现这个,对于51单片机,只有一个关键点,就是SRAM的电路需要处理一下,把代码和数据的访问都映射到SRAM。时间太久了,具体细节忘得一干二净了。 当时还神奇的发现,对于这种硬件电路设计,KEIL支持在线调试51单片机,设断点,单步执行之类的。

当时还搞了个 液晶屏,搞了一个PS键盘,输入命令,整的和dos有点类似。

毕业很多年后,有次无聊,给当年的板子换了一个STC新型号,发现反倒运行不了。 虽然新型号性能更强,但是也阉割了部分功能。

言归正传,本质是还使用场景少,才导致的越来越难以实现。 用的少的功能,慢慢阉割,用的少的芯片慢慢淘汰。  你说的这种运行SD卡上的程序 , 不会上51的, STM32 都不会, 我会选个能跑linux的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:248
  • 最近打卡:2025-07-01 07:40:26

1

主题

18

回帖

1039

积分

金牌会员

积分
1039
发表于 2024-3-27 15:26:53 | 显示全部楼层
zdg*** 发表于 2024-3-27 13:43
你说的这些十几年前我上学那会就做过了, 用STC的芯片。 外置了一个SRAM, 通过 SPI 读取SD卡,汇编解析f ...

因为实现起来麻烦,所以用得少或刻意避开这个用法。因为用得少,所以连相关功能也可能被阉割。不过貌似stc并没阉割这个功能,只是后面出的芯片,使用外部Ram的ALE/PROG脚成为了复用脚,需要在程序中指定功能,才能使用。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:515
  • 最近打卡:2025-06-30 10:06:06

15

主题

59

回帖

2491

积分

金牌会员

积分
2491
发表于 2024-3-28 10:16:19 | 显示全部楼层
51单片机读写 常量,数组,字库,图片数据到SD(TF)卡容易些,运行卡上的程序可能比较难。曾经用12C5A60S2软模拟SPI读写 1G的TF卡,还是很顺利的。 读写U盘用过沁恒的375也只是(文本、字节)数据。现在STC带USB的操作U盘还得努力学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2025-03-09 18:14:54

3

主题

88

回帖

649

积分

荣誉版主

积分
649
发表于 2024-3-29 17:06:04 | 显示全部楼层
只要能把程序二进制机器码塞进ram里面,并且程序指针能指向Ram,并执行那里的代码就可以实现,你的程序负责把sd卡里面的程序读出写进ram执行,但是很遗憾stc的8051内核,数据和程序是两个彼此独立的空间,不能实现,你能实现的功能就是,写一段bootloader, 运行的时候在sd卡寻找程序,用ISP方式写到flash,再跳转Flash里面执行
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-08-27 15:25:33

1

主题

14

回帖

99

积分

注册会员

积分
99
发表于 2024-7-26 16:42:35 | 显示全部楼层
51单片机的内存太小,挂载文件系统不大现实,不过可以先在sd卡里创建议好文件,对文件进读写还是没有问题的。用spi方式就行。如果只读sd还可以用模拟SDIO的方法,我写有个贴子。模拟sdio读取文件速度还可以,而且可以用DMA来转移数据,相当转移数据不用占用cpu时间,只要读完数据就完事了。也可以用spi方式读取数据,用SPIdma读取,速度也还行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:482
  • 最近打卡:2025-07-01 00:52:47
已绑定手机

19

主题

3233

回帖

5355

积分

论坛元老

积分
5355
发表于 2024-7-26 17:53:50 来自手机 | 显示全部楼层
类似插卡游戏机的机制吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:474
  • 最近打卡:2025-07-01 00:17:28
已绑定手机

38

主题

2249

回帖

2797

积分

荣誉版主

积分
2797
发表于 2024-7-26 23:09:40 | 显示全部楼层
21cns*** 发表于 2024-3-26 15:15
SD卡支持两种总线方式:SD方式与SPI方式。其中SD方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信。而S ...

需要长时间记录数据的场合还是蛮多的,比如心电图Holter
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:225
  • 最近打卡:2025-06-30 09:15:16

2

主题

65

回帖

252

积分

中级会员

积分
252
发表于 2024-7-27 08:23:01 | 显示全部楼层
用老姚的话讲,你这是外行
回复 支持 反对

使用道具 举报 送花

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

42

主题

307

回帖

984

积分

高级会员

积分
984
发表于 2024-7-28 20:34:27 来自手机 | 显示全部楼层
zdg102 发表于 2024-3-27 13:43
你说的这些十几年前我上学那会就做过了, 用STC的芯片。 外置了一个SRAM, 通过 SPI 读取SD卡,汇编解析f ...

其实STC51确实可以,而且不用拓SRAM🤭
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-1 09:47 , Processed in 0.118767 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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