上次跟大家说道,这个添加spi驱动的思路是啥,那么接下来我们就要具体去看代码了。
我们首先要搞清楚,要修改和添加哪几个文件,再去做具体的修改。这个怎么看呢,做过linux下内核驱动修改的人应该知道,我们添加一个官方自带的驱动都是通过make menuconfig这个指令,打开系统驱动的图形化界面,在里面添加我们需要的驱动,保存,退出,重新编译,新的内核就可以支持我们需要的驱动了。那么make menuconfig里面的选项是哪里来的呢,这个是从每个驱动文件下的Kconfig文件里去添加的,而添加完了又是通过Makefile去统一编译的,所以,我们就进入16A的SDK里面的/driver/spi文件夹下,打开里面的Kconfig和Makefile两个文件,查一下。
果不其然,在Kconfig里面找到了,如下图:
大家可以看到,这个都是针对16A和18E的,再去看看Makefile
这就很明确了,从spi-hi3616a.c以及spidev_info_hi3516a.c里面编译出hi_spidev_info.o,在向上编译出spidev.o和spi.o,所以我们徐涛添加和修改的文件就很明显了,除了Kconfig和Makefile里面添加和16A类似的选项外,还需要添加如下文件,
如图:
我们去到20Dv200的SDK,找到对应的文件,没有的添加起来,有的再做对应的修改,我们在20D添加标准SPI驱动详解 ——(三)中告诉大家具体怎么修改和添加
原帖:https://www.ebaina.com/articles/140000003973
易百纳技术社区内容涵盖机器视觉、音频处理、机器连接、机器感知以及智能终端,是一个多方向的专业性社区,致力于为更多工程师答疑解惑,创造机遇!
|