社区
其他硬件开发
帖子详情
有 SD 控制器编程的高人吗?请不吝赐教。
of123
2008-10-13 04:59:02
想了解一个通过 SD 读卡器(被系统识别为可移动存储器)工作的 SD 卡设备的工作流程。
SD 卡设备是否需要自己维护文件系统,例如 FAT 表?还是读卡器传来的读写、擦除命令已经就是对 FLASH 物理或逻辑地址的访问指令?
...全文
275
9
打赏
收藏
有 SD 控制器编程的高人吗?请不吝赐教。
想了解一个通过 SD 读卡器(被系统识别为可移动存储器)工作的 SD 卡设备的工作流程。 SD 卡设备是否需要自己维护文件系统,例如 FAT 表?还是读卡器传来的读写、擦除命令已经就是对 FLASH 物理或逻辑地址的访问指令?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
of123
2008-10-15
打赏
举报
回复
谢谢,明白了。
SD 协议中的单块读、多块读、单块写、多块写以及擦除扇起始区设置和擦除终止扇区设置中的 Data Addess 都是以 Byte 为单位的地址。
在 SD 设备中,这个地址作为逻辑地址来处理。例如,SD 中有一块 Flash,那么这个地址要加上用户数据区首地址作为偏移量。
在作为移动存储设备类的应用中,底层不必关心文件系统维护,那是 PC 操作系统的责任。
PC 给读卡器的地址是扇区号,读卡器转发给卡的地址是 Byte 地址。
结贴。
guetcw
2008-10-14
打赏
举报
回复
你在操作系统下对SD卡格式化后操作系统会写入文件系统的信息,你也可以自己写个程序对它格式化,但要符合文件系统的规范才能被操作系统识别。如果只是读卡器,不需要自己实现文件系统,只要按照操作系统的命令执行,它叫你读哪个扇区就读哪个扇区就行了。你要实现和操作系统通信的协议如USB。
guetcw
2008-10-14
打赏
举报
回复
你在操作系统下对SD卡格式化后操作系统会写入文件系统的信息,你也可以自己写个程序对它格式化,但要符合文件系统的规范才能被操作系统识别。如果只是读卡器,不需要自己实现文件系统,只要按照操作系统的命令执行,它叫你读哪个扇区就读哪个扇区就行了。你要实现和操作系统通信的协议如USB。
rzsheng
2008-10-14
打赏
举报
回复
SD卡本身需要有文件系统的分区表信息,操作系统根据其分区表信息对其进行读写
guetcw
2008-10-14
打赏
举报
回复
你的读卡器控制器要实现USB协议和对SD卡的读写擦除操作。文件系统由操作系统实现。
那个data address 是物理地址是从0x00000000开始的,通常会将它转换成扇区和块的逻辑结构。
因为操作系统的文件系统都是以扇区为单位读写的。
guetcw
2008-10-14
打赏
举报
回复
你的读卡器实现USB协议和SD卡的读、写、擦除。
那个是物理地址,只有你的读卡器才用到它,通常都将这些地址转换成扇区和块的逻辑结构。
操作系统给你的操作都是以扇区为单位的
of123
2008-10-14
打赏
举报
回复
不好意思,还有一个问题,SD 卡规范中所描述的读、写、攃命令中的 data address 究竟是什么?物理地址?逻辑地址?块号?扇区号?
of123
2008-10-14
打赏
举报
回复
谢谢楼上大侠。我是要写作为 SD 卡设备的微处理器代码。
我的读卡器是 USB 接口的。读卡器与我的微处理器之间是 SD 协议接口。
是否我在微处理器中写好卡识别阶段的命令处理之后,直接写对于擦除、读、写命令的处理代码就可以了?
zhujinqiang
2008-10-13
打赏
举报
回复
路过,帮顶。
adv7842自定义方式
本文详细介绍了ADV7842显示
控制器
的参数计算过程,包括水平和垂直同步信号的设置,以及帧率计算。针对ADV7842第一路存在的噪点问题,提出了修改DLL为最大值的解决方案。
Linux内核Socket CAN中文文档
本文介绍了SocketCAN在Linux中的实现,它是CAN协议的一种网络接口,通过伯克利socket接口和Linux网络协议栈提供用户空间
编程
便利。文章详细讲解了接收队列、发送帧的本地回环、网络安全和故障监测等内容,以及如何使用SocketCAN套接字和相关选项,包括原始套接字、广播管理协议和传输协议的区别。
内核中的死锁问题--当UHCI遇上OHCI .
本文详细分析了一个Linux内核死锁问题,该问题导致系统在使用一段时间后突然挂起。通过查看oops信息,发现是USB和OHCI主机
控制器
中断服务函数之间的竞争导致的死锁。文章解释了死锁原理,并提出了使用spin_lock_irqsave()解决方法。一个月后,作者Alan Stern提交了一个patch修复此问题。
linux soket can 转载
本文深入解析了SocketCAN在Linux下的实现原理及使用方法,涵盖了SocketCAN的设计理念、核心模块功能、网络驱动开发、以及如何利用SocketCAN进行CAN网络
编程
。特别强调了SocketCAN相比传统字符设备接口的优势,如更优雅的代码复用、更好的抽象性和更高效的接收队列管理。
关于LCM的消隐问题
本文解释了TFT屏中消隐的概念及其作用,并讨论了消隐设置不当可能导致的问题,如图像偏移和屏幕不同步等现象。
其他硬件开发
2,432
社区成员
4,281
社区内容
发帖
与我相关
我的任务
其他硬件开发
硬件/嵌入开发 其他硬件开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章