看到你 贴的代码了,准确地讲,你只是贴了一部分代码,既然有struct platform_driver的代码,那必然会有struct platform_device,怎么找呢?你需要去搜 { .compatible = "brcm,bcm2835-spi", } 这个名字对应的设备,具体应该是搜bcm2846-spi(因为内核版本问题,可能我的知识有些过时了),当你找到这个设备时,在代码中但凡调用到transfer_one()的函数,其实就是调用了这个驱动程序中的bcm2835_spi_transfer_one()函数,通过那边的程序,你可能就能看到write/read等标准调用函数了
1.操作系统的概念:应用态的程序不能直接调用内核态函数,否则也没必要搞什么内核态应用态了。最常见的是通过系统调用来间接调用内核态函数,最常见的就是open/read/write/close。 2.对于SPI,它是一种“总线”,而不是设备。在内核中,它往往是某个设备底层的某个通信方式,例如设备是Flash,而SPI只是支持其硬件访问的一种方式,或者底层函数。所以,对于你的需求,理想情况下,应该在 3.既然你已经有了spi驱动,那么你可以仔细看一下你的驱动中read/write是否已经实现了
1,319
社区成员
2,173
社区内容
加载中
试试用AI创作助手写篇文章吧