gpt4 book ai didi

linux - 如何使用 spidev 控制 sd 读卡器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:31 25 4
gpt4 key购买 nike

我有一台运行 Debian Wheezy 的三星 RF711 Core i7 笔记本电脑,带有集成的 USB Multi Flash 读卡器,但这个问题可能适用于任何在 USB 端口上带有 SD 卡读卡器的系统。这是 lsusb 所说的

Bus 004 Device 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 设备。当它退出时,它会恢复插槽功能,以便能够再次读取 SD 卡。它可能是一个守护进程 - 启动它会转换插槽,停止它会将插槽转换回 SD 卡读卡器。

这似乎是 spidev 的作者可以轻松做到的事情,因为 sd 卡最初是在 SPI 模式下探测的。

明确一点,我想在 SPI 模式下打开 sd 读卡器,这样就不会检测到卡,我可以使用 spidev 设备节点进行 SPI 通信,比如/dev/spidev.0。

最佳答案

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

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

关于linux - 如何使用 spidev 控制 sd 读卡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com