主题中讨论的其他器件:DA8XX
工具/软件:Linux
你(们)好
我想从用户空间和内核 spcae 访问 SPI。
使用 /dev/spidev0.2.从用户空间运行良好
在某些情况下、我还希望从内核访问此 SPI 总线。
我知道我必须使用 spi.c 方法、例如 spidev.c 与 spi_asynync ()或 spi_sync ()一起使用。
但它需要提供:struct spi_device *spi ,即指向 board_omapl130-hawk.c 中打开并注册的 SPI 设备的指针
通过 da8xx_register_SPI ()调用 platform_device_register ()。
我了解 到 Linux 启动器在 spidev_init()和 spidev_prob()的初始化阶段打开的器件。
我看到 spidev 通过 struct 文件*filp 在以下 位置通过用户空间 ioctl 调用获得:spidev_ioctl (struct 文件*filp、unsigned int cmd、unsigned long arg):
spidev = filp->private_data;
spin_lock_IRQ (&spidev->spi_lock);
SPI = SPI_DEV_GET (spidev->SPI);
那么,我需要知道如何获得这个指针?
使用的 SDK 为:ti-sdk-omapl138-lcdk-01.00.00
Linux OMAP 版本为:3.1.10-gf6fe6d8-m脏。
BR
Yehuda