Linux下SPI总线驱动(二)

Linux 下的 SPI 总线驱动蛮有意思的,SPI 作为一种高速同步通信协议,在内核里支持得还不错。你得先搞懂设备和驱动怎么注册到 SPI 总线,核心是让系统知道哪个驱动管哪个设备,响应也快,代码也简单。数据传输那块主要靠spi_transfer结构体,说白了就是帮你安排好数据的收发,调用spi_syncspi_async完成工作。SPI 内核代码层次分明,像spi.c负责核心逻辑,spi_gpio.c用 GPIO 模拟 SPI,针对硬件还有专门控制器驱动,比如spi_s3c24xx.cspidev.c挺实用,给用户空间开了个简单通道操作 SPI 设备。写驱动时,内存管理别忘了,kmalloc()动态申缓冲区挺常用。,学会了 SPI 内核框架,写驱动更顺手。如果你想深入内核 SPI,先摸清设备注册、传输流程,再看看内存分配和同步机制,慢慢上手没啥难的。

pdf 文件大小:423.59KB