如何向瑞芯微平台添加驱动


以avafpga视频驱动为例:

驱动配置

驱动文件放置

为了保证驱动文件能够被系统正确识别编译,需要将驱动文件的源文件avafpga.c放在./kernel/drivers/media/i2c/下
将驱动文件的头文件avafpga.h放在kernel/include/config/video/下,即使头文件是空文件也要创建。
在这里插入图片描述
在这里插入图片描述

配置相应的编译选项

以avafpga驱动为例,在配置文件kernel/drivers/media/i2c/Kconfig中加入“config VIDEO_AVAFPGA”,其中VIDEO代表属于与视频相关的驱动,AVAFPGA对应驱动的名称。
在这里插入图片描述
在kernel/drivers/media/i2c/Makefile文件中需要加入obj-$(CONFIG_VIDEO_AVAFPGA) += avafpga.o,表示VIDEO_AVAFPGA的驱动文件为avafpga.o文件,此文件后续系统会根据avafpga.c文件编译生成。
在这里插入图片描述

与设备树结合

此时会完成avafpga的驱动编译,然后还要将驱动文件和设备树结合,使得设备能够找到对应的驱动。
观察执行 ./build.sh kernel的输出,观察参与编译kernel配置文件
在这里插入图片描述
框中对应的文件都在kernel/arch/arm/configs/文件夹下,向对应的文件中加入 CONFIG_VIDEO_AVAFPGA=y
需要在kernel/arch/arm/configs/rv1126_defconfig文件中加入CONFIG_VIDEO_AVAFPGA=y,在kernel/arch/arm/configs/rv1126-facial-gate.config文件中也加入CONFIG_VIDEO_AVAFPGA=y,代表将驱动加入到设备树中。
在这里插入图片描述

设备树配置

按照设备树代码习惯,可以将avafpga驱动写成一个avafpga.dtsi文件,在需要用到的时候,在顶层的dts文件中include进来,方便管理和代码共用。
在这里插入图片描述
此时在设备树文件最外层执行./build.sh kernel,即可对内核进行编译,正确编译后会发现在. /kernel/drivers/media/i2c/下会产生avafpga.o文件。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值