linux下的SPI使用方法是怎样的

linux下的SPI使用方法是怎样的,第1张

如果linux中已经提供了驱动,并且在/dev/目录下已经提供了相应的设备文件节点。那么可以和串口一样直接打开设置读写。如果内核中有驱动,但是没有生成设备文件节点,那么只要知道设备的主次设备号,可以使用mknode建立设备文件节点,然后直接来使用。如果没有驱动就需要自己添加设备驱动了。这个也分两种情况,看你外设怎么和你的板子连接的。如果接到板子上的spi控制器上,可以直接编写通过控制器来控制外设的驱动,这种情况一般生产主控芯片的厂家都已经提供了驱动。如果没有接到spi控制器上,而是通过gpio连接的外设,你编写的驱动就需要自己来模拟spi协议来控制外设。

内核版本2.6.30。编进内核的SPI驱动,通过看代码我明白了,大致过程是这样:

1、先创建一个spi_board_info结构描述spi设备信息,调用spi_register_board_info将这个结构添加到board_list中。

2、然后调用spi_register_master注册SPI控制器驱动,此时会调用scan_boardinfo扫描board_list,根据spi_board_info调用spi_new_device生成spi_device结构,用spi_add_device添加设备。

3、调用spi_register_driver注册spi_driver,通过与device匹配驱动设备。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7475160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存