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

news2024/11/28 18:46:58

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

  • 驱动配置
    • 驱动文件放置
    • 配置相应的编译选项
    • 与设备树结合
  • 设备树配置

以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文件。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外观专利申请定要注意哪些因素呢?

问题一:申请外观专利需要提交哪些申请材料呢? 1、外观专利请求书; 2、外观设计七视图的照片或者设计图; 3、申请人的身份证明材料; 4、外观设计的简要说明材料。 问题二:外观专利申请定要注意哪些因素…

Automatic Online Calibration of Cameras and Lasers 论文翻译

目录题目AbstractI. INTRODUCTIONII. SENSOR PROCESSINGA. Image processingB. Laser processingIII. MISCALIBRATION DETECTIONIV. AUTOMATIC CALIBRATION TRACKINGV. EXPERIMENTAL RESULTSVI. CONCLUSION题目 Automatic Online Calibration of Cameras and Lasers 下载地址&…

C++ Reference: Standard C++ Library reference: Containers: list: list: size

C官网参考链接&#xff1a;https://cplusplus.com/reference/list/list/size/ 公有成员函数 <list> std::list::size C98 size_type size() const; C11 size_type size() const noexcept; 返回大小 返回列表&#xff08;list&#xff09;容器中的元素个数。 形参 没有…

Python tkinter -- 第18章 画布控件之图像(image)

18.2.16 create_image(position, **options) 在画布的指定位置创建一个图片对象。这里的图片对象是gif&#xff0c;png&#xff0c;pgm和ppm。 &#xff08;1&#xff09;position&#xff1a;图片的坐标(x,y)。 &#xff08;2&#xff09;**options&#xff1a;图片选项 选项…

IO流~字节流

字节流 IO流分类 按照数据的流向&#xff1a;输入流&#xff1a;读数据\输出流&#xff1a;写数据按照数据类型来分 字节流&#xff1a;字节输入流&#xff1b;字节输出流字符流&#xff1a;字符输入流&#xff1b;字符输出流 一般来说&#xff0c;IO流的分类是按照数据类型…

触发器,寄存器,三态输出电路

目录 一&#xff1a;触发器 二&#xff1a;寄存器&#xff08;register&#xff09; 缓冲寄存器 三态输出电路&#xff08;只看标红的即可&#xff09;数据总线上很常用 考试会问你触发器&#xff0c;寄存器&#xff0c;存储器是什么关系你知道就行。这个简答题在存储器笔…

基于Java+SpringMvc+Vue求职招聘系统详细设计实现

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取联系&#x1f345;精彩专栏推荐订阅&#x1f447;&#x1f…

Java项目:ssm药品管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 该项目是前后台的医药管理系统&#xff08;写在了一个web项目里&#xff09;&#xff0c; 简单明了&#xff0c;界面高端大气&#xff0c;共6张…

图的基本表示方法

一、图的基本表示方法 由G(V,E)G (V,E)G(V,E)由下列要素构成&#xff1a; 一组节点:V1,⋯nV 1,\cdots nV1,⋯n一组边E⊆VVE \subseteq V \times VE⊆VV 边(i,j)∈E(i,j) \in E(i,j)∈E 连接了节点i和ji和ji和j i和ji和ji和j被称为相邻节点节点的度&#xff1a;相邻节点的数…

Neo4J入门笔记

1.安装以及启动 Neo4J作为图数据库标准的一个实现&#xff0c;其功能还是非常强大的功能&#xff0c;并支持Cypher查询。目前其提供了3种版本&#xff1a; 桌面版社区版企业版 Neo4J其实现是基于Java实现的&#xff0c;所以JDK的安装是必须的&#xff0c;启动的方式官方文档…

细胞穿膜肽MPG,Mpa-GALFLGFLGAAGSTMGA-OH

嵌合肽家族&#xff0c;来源HIV gp41和猴病毒40T抗原NLS融合序列的一个疏水区 编号: 205074中文名称: 细胞穿膜肽MPG单字母: Mpa-GALFLGFLGAAGSTMGA-OH三字母: Mpa-Gly-Ala-Leu-Phe-Leu-Gly-Phe-Leu-Gly-Ala-Ala-Gly-Ser-Thr-Met-Gly-Ala-COOH氨基酸个数: 17分子式: C73H113O21…

C++入门基础06:简单语句与顺序结构、选择结构if与switch、循环语句、跳转语句、异常处理

C入门基础06&#xff1a;简单语句与顺序结构、选择结构if与switch、循环语句、跳转语句、异常处理 1、简单语句与顺序结构&#xff1a; #include <iostream> //系统定义头文件一般是尖括号 #include<fstream> #include<string> using namespace std;int ma…

资本-劳动力错配指数计算、金融错配指标两大维度指标(内附代码)

一、资本错配和劳动力错配指数计算 1、数据来源&#xff1a;各省级统计年鉴/中国统计年鉴、 2、时间跨度&#xff1a;2000-2019年 3、区域范围&#xff1a;31省市自治区 4、指标说明&#xff1a; 资源的稀缺性决定了经济学研究的一个基本问题就是资源配置&#xff0c;如…

找出你的高价值潜在用户 - 通过归因分析实现用户画像和精准营销

在之前的博客文章 为什么你的用户转化率不高&#xff1f;--新媒体运营转化效果渠道归因分析中&#xff0c;我们讲到 新媒体运营用户转化相关的指标以及目标追踪&#xff0c;以及相关的渠道归因分析。在本篇文章中&#xff0c;我们一起来看看&#xff0c;如何通过 Kyligence Zen…

数据结构:二叉树

目录 树 二叉树 堆 以大堆为例代码实现 功能预览 初始化 销毁 打印 插入数据 删除数据 建堆 获取栈顶元素 获取数组中的元素个数 判空 堆排序 TopK问题 二叉树链式结构的实现 功能预览 二叉树遍历 求节点的总个数 求叶子节点的个数 求树的深度 求第k层的…

零入门容器云网络-5:同一宿主机上的两个网络命名空间通信方案

已发表的技术专栏&#xff08;订阅即可观看所有专栏&#xff09; 0  grpc-go、protobuf、multus-cni 技术专栏 总入口 1  grpc-go 源码剖析与实战  文章目录 2  Protobuf介绍与实战 图文专栏  文章目录 3  multus-cni   文章目录(k8s多网络实现方案) 4  gr…

Android 虚拟分区详解(一) 参考资料推荐

文章目录0. 导读1. Android 官方 VAB 文档1.1 公开文档1.2 半公开文档2. Device Mapper 文档2.1 device mapper 文档2.2 dmsetup 工具2.3 COW 介绍3. Android 源码4. 参考资料汇总5. 后续计划6. 其它Android Virtual A/B 系统简称 VAB&#xff0c;我在这一系列里面又将其称为虚…

【LeetCode每日一题:813. 最大平均值和的分组~~~前缀和+递归+记忆化搜索】

题目描述 给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组 。 分数 由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组&#xff0c;并且分数不一定需要是整数。 返回我们所能得到的最大 分数 是多少…

前端面试整理

Js 1. Localstorage、sessionStorage、cookie、session的区别 &#xff08;1&#xff09;web storage和cookie的区别&#xff1a; Cookie(不设置过期时间) sessionStorage WebStorage的目的是克服由cookie所带来的一些限制&#xff0c;当数据需要被严格控制在客户端时&…

C/C++ 深入浅出C++模板(上)

不知道你是否思考过一个问题&#xff0c;那就是为什么C有丰富的库&#xff0c;而C语言却没有&#xff1f;比如说C有STL库&#xff0c;线程库等。其实一个很重要的因素就是因为C引入了泛型编程这个概念&#xff0c;也就是我们熟悉的模板。今天我们就一起来深入理解什么是泛型编程…