linux SPI驱动开发

本文介绍了Linux内核中的SPI驱动开发,包括字符设备、块设备和网络设备驱动的分类。重点讲解了SPI驱动体系结构,SPI控制器和设备驱动的实现,以及数据收发处理的步骤。SPI驱动代码涉及spidev.c、spi-cadence.c和spi.c,它们共同构成了SPI总线驱动模型。SPI驱动开发的核心在于将硬件和软件解耦,便于硬件更新时仅修改硬件部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,linux内核设备驱动分三类

  1,字符设备驱动:按字节来访问设备,字符驱动负责驱动字符设备,这样的驱动通常实现open,close,read,write系统调用。

   特点:操作的硬件,按照字节流形式访问

   例子:键盘(键值),LCD显示屏(显存),鼠标(相对坐标),UART接口(BT,GPS,GPRS),各种传感器,摄像头触摸屏(绝对坐标),EEPROM等

 2, 块设备驱动:在unix下,块设备只能按照512字节或者1024,1536,2048等(以此类推)来访问,但在linux系统下,可以随意字节访问,也就是说,字符驱动和块设备驱动在linux系统下的差别仅仅在于驱动和内核接口的不同。

   特点:操作的硬件,按照数据块访问,一次访问512B,4KB

   例子:硬盘,U盘,SD卡,TF卡,Nand,NorFlash

  3,网络设备驱动:任何网络事物都是通过一个网络接口来实行,这里有两个接口,大家平常见的也应该比较多,eth0,物理接口;lo(回环网络,就是自发自收的意思,这是一个软件接口)。

   特点:操作的硬件就是网卡(有线和无线)需要配合网络协议栈,一般都是由网卡芯片厂家写好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值