繁体   English   中英

如何使用Spidev控制SD卡读卡器

[英]How do I control an sd card reader using spidev

我有一台运行Debian Wheezy并带有集成USB多闪存读卡器的Samsung RF711 Core i7笔记本电脑,但是此问题可能适用于USB端口上装有SD卡读卡器的任何系统。 这就是lsusb所说的

总线004设备004:ID 058f:6366 Alcor Micro Corp. Multi Flash Reader

我想使用旧的sd卡并在其上焊接一些导线,以便在将其插入sd卡端口时可以通过SPI与PIC进行通信。

我知道sd卡的电压为3.3v,并且需要一个电压转换器与5v SPI设备接口。

我编译了一个自定义内核以生成spidev内核模块,现在呢? 我知道这与udev规则有关,usb_modeswitch吗? 但我看不到树木的木头。

理想情况下,解决方案是一个程序,我们将其称为sdcard-spi。 程序启动时,它将翻转驱动程序并在/ dev中创建一个spidev设备。 退出时,它将恢复插槽功能以能够再次读取sdcard。 这可能是一个守护进程-启动它会转换插槽,停止它会把插槽转换回为SD卡读卡器。

spidev的编写者似乎可以轻松完成某些操作,因为sd卡最初是在SPI模式下进行探测的。

为了清楚起见,我想以SPI模式打开sd读卡器,因此没有检测到卡,我可以使用spidev设备节点(例如/dev/spidev.0)进行SPI通信。

您不能通过编写linux驱动程序来做到这一点。

您将不得不重写读卡器的固件。 读卡器内部有一个同步串行接口,但是读卡器和Linux计算机之间的接口不是通用串行接口,而是USB大容量存储设备。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM