怎么写linux的spi设备驱动
发布网友
发布时间:2022-04-21 05:51
我来回答
共2个回答
热心网友
时间:2022-05-16 10:00
回复
1#
我也是新手,不过调通了SPI,
在SPI
驱动里面是分为
设备
总线
驱动的。。这个你要搞清楚。你所说的几个文件就是在这个层次关系里面的代码,如果你只是简单的使用SPI,内核自带的spidev.c就已经能够满足要求了。。我就这么用的。。。你可以参照内核里面的例程来分析分析。
另外,你也可以试着写一个裸驱试试。。。
热心网友
时间:2022-05-16 10:01
内核版本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匹配驱动设备。