我有一个三星RF711核心i7笔记本电脑运行Debian与一个集成的,但这个问题可以适用于任何系统上的sd读卡器在usb端口。这是lsusb说的
总线004设备004: ID 058f:6366 Alcor Micro .
我想使用一个旧的sd卡,并焊接一些电线到它,让它通过SPI与PIC通信时,我把它插入sd卡端口。
我知道sd卡电压是3.3v,需要一个电压电平转换器来与5v SPI设备接口。
我编译了一个自定义内核来生成spidev内核模块,现在呢?我知道这和udev的规定有关,usb_modeswitch?但我看不见树林里的树木。
理想情况下,解决方案应该是一个程序,让我们称之为sdcard。当程序启动时,它会翻转驱动程序,并在/dev中创建一个spidev设备。当它退出时,它会恢复插槽功能,以便能够再次读取sdcards。它可以是一个守护进程-启动它转换插槽,停止它将插槽转换回sd读卡器。
这似乎是spidev的作者可以轻松完成的事情,因为sd卡最初是在SPI模式下探测的。
为了明确起见,我希望在SPI模式下打开sd读卡器,这样就不会检测到任何卡,并且我可以使用spidev设备节点(例如/dev/spidev.0 )进行SPI通信。
发布于 2014-08-26 13:42:11
您不能通过编写linux驱动程序来做到这一点。
你必须重写读卡器的固件。读卡器内部有一个同步串行接口,但读卡器与Linux计算机之间的接口不是通用串行接口,而是USB海量存储设备。
https://stackoverflow.com/questions/25507249
复制相似问题