日期:2014-05-16  浏览次数:20773 次

Linux下的SPI总线驱动(二)

版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127  

四.SPI内核代码分析

我们已经讲过SPI驱动的移植,SPI控制设备和SPI接口设备的注册,SPI控制设备驱动和SPI接口设备驱动的注册。在移植时候,我们配置的选项告诉我们有些文件已经编入内核,那些就是SPI驱动的比较重要的文件。其中spi.cSPI 初始化和核心代码。spi_gpio.cIO模拟SPI接口代码。spi_s3c24xx.cs3c24xx系列芯片的SPI控制器驱动,它向更上层的SPI核心层(spi.c)提供接口用来控制芯片的SPI控制器,是一个被其他驱动使用的驱动。spi_s3c24xx_gpio.c允许用户指定3gpio口,分别充当spi_clkspi_mosispi_miso接口,模拟标准的spi总线。spidev.c是在核心层基础之上将SPI控制器模拟成一个字符型的驱动,向文件系统提供标准的文件系统接口,用来操作对应的SPI控制器。

通过这些代码的分析,我们可以获得三个知识:其一,更清楚的理解设备和驱动的注册。其二,掌握SPI数据的传输过程。三,更清晰的明白SPI各个文件的功能