当前位置:首页 » 操作系统 » linuxspi驱动

linuxspi驱动

发布时间: 2023-03-05 20:01:12

A. 请问linux驱动怎么调用底层的驱动啊 比如说已有SPI总线驱动,现要为一个SPI设备写驱动,怎么调用底层驱动

spi总线驱动在linux中是采用了分层设计和分隔设计的思想,spi控制器的驱动和核心层的通用api内核已经写完了,你只要写外设驱动就好,具体你可以去看一下你的spi_s3c24xx.c这个驱动是基于platfoem写的,里面含有如何调用核心api。

B. 如何在linux下实现一个I2C与SPI的从机驱动

最简情况下:
I2C:SDA数据线、SCL时钟线。
SPI:DI输入线、DO输出线、CS片选先、CLK时钟线。
可能不能写到一个驱动中。

但是好在一般很少用到这么简单的情况,厂家会对其扩展和改进。

比如 W25Q128FB/W25R128FV 系列闪存,支持 SPI、Dual SPI、Quad SPI 和 QPI。就拿 Quad SPI 来说,有 6 个引脚:

Quad SPI:D0-D3 输入输出线、CS片选先、CLK时钟线。

其中 输入为一位串行输入 D0,输出为四位串行输出 D0-D3。(四位仍少于一个字节,可姑且称为串行)

Winbond华邦 这么做是为了加快闪存读取速度(四位串行相比一位串行提高了四倍)。

因此关键在于 要进行怎样的 IO。至于是否将二者写到一个驱动看来并不重要。

C. linux spi设备驱动中probe函数何时被调用

最近看到linux的设备驱动模型,关于Kobject、Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞s3c2410驱动时只要在mach-smdk2410.c中的struct platform_device *smdk2410_devices {}中加入设备也会调用。但从来就没有想过具体的驱动注册并调用probe的过程。
于是打开SourceInsight追踪了一下:

从driver_register看起:
复制代码
int driver_register(struct device_driver * drv)
{
klist_init(&drv->klist_devices, klist_devices_get, klist_devices_put);
init_completion(&drv->unloaded);
return bus_add_driver(drv);
}
复制代码

klist_init与init_completion没去管它,可能是2.6的这个设备模型要做的一些工作。直觉告诉我要去bus_add_driver。

bus_add_driver中:
都是些Kobject 与 klist 、attr等。还是与设备模型有关的。但是其中有一句:
driver_attach(drv);
单听名字就很像:
void driver_attach(struct device_driver * drv)
{
bus_for_each_dev(drv->bus, NULL, drv, __driver_attach);
}
这个熟悉,遍历总线上的设备并设用__driver_attach。
在__driver_attach中又主要是这样:
driver_probe_device(drv, dev);
跑到driver_probe_device中去看看:
有一段很重要:
if (drv->bus->match && !drv->bus->match(dev, drv))

D. Linux自带的SPI驱动,默认情况下是以什么方式读取数据的

一位一位来传输数据的。如果只是要在linux上开发应用,可以不去理会具体的SPI驱动细节。
可以在linux中写个简单的程序,只完成读spi并在屏幕输出的功能,不要涉及编写驱动的部分。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:595
制作脚本网站 发布:2025-10-20 08:17:34 浏览:889
python中的init方法 发布:2025-10-20 08:17:33 浏览:583
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:766
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:687
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1015
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:258
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:117
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:808
python股票数据获取 发布:2025-10-20 07:39:44 浏览:715