当前位置: 首页 > news >正文

全志D1-H (MQ-Pro)驱动 OV5640 摄像头

在这里插入图片描述

内核配置

运行 m kernel_menuconfig 勾选下列驱动

Device Drivers  ---><*> Multimedia support  --->[*]   V4L platform devices  ---><*>   Video Multiplexer[*]   SUNXI platform devices  ---><*>   sunxi video input (camera csi/mipi isp vipp)driver<M>     v4l2 new driver for SUNXI<*>     use cci functionselect cci or cci to twi (chenge cci to twi)  --->[*]     use IOMMU for memery alloc[*]     ISP WDR module[*]     sensor same i2c addrsensor driver select  ---><M> use ov5640 driver[*]   Memory-to-memory multimedia devices  ---><*>   Deinterlace support<*>   SuperH VEU mem2mem video processing driver

设备树配置

路径:lichee/linux-5.4/arch/riscv/boot/dts/sunxi/sun20iw1p1.dtsi

		vind0: vind@5800800 {compatible = "allwinner,sunxi-vin-media", "simple-bus";#address-cells = <2>;#size-cells = <2>;ranges;device_id = <0>;csi_top = <336000000>;csi_isp = <327000000>;reg = <0x0 0x05800800 0x0 0x200>,<0x0 0x05800000 0x0 0x800>;clocks = <&ccu CLK_CSI_TOP>, <&ccu CLK_PLL_VIDEO1_2X>,<&ccu CLK_CSI0_MCLK>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO1>,<&ccu CLK_BUS_CSI>, <&ccu CLK_MBUS_CSI>;clock-names = "csi_top", "csi_top_src","csi_mclk0", "csi_mclk0_24m", "csi_mclk0_pll","csi_bus", "csi_mbus";resets = <&ccu RST_BUS_CSI>;reset-names = "csi_ret";pinctrl-names = "mclk0-default", "mclk0-sleep";pinctrl-0 = <&csi_mclk0_pins_a>;pinctrl-1 = <&csi_mclk0_pins_b>;status = "okay";csi0: csi@5801000{compatible = "allwinner,sunxi-csi";reg = <0x0 0x05801000 0x0 0x1000>;interrupts-extended = <&plic0 116 IRQ_TYPE_LEVEL_HIGH>;pinctrl-names = "default","sleep";pinctrl-0 = <&csi0_pins_a>;pinctrl-1 = <&csi0_pins_b>;device_id = <0>;iommus = <&mmu_aw 1 1>;status = "okay";};isp0: isp@5809410 {compatible = "allwinner,sunxi-isp";reg = <0x0 0x05809410 0x0 0x10>;device_id = <0xfe>;status = "okay";};isp1: isp@5809420 {compatible = "allwinner,sunxi-isp";reg = <0x0 0x05809420 0x0 0x10>;device_id = <0xff>;status = "okay";};scaler0: scaler@5809430 {compatible = "allwinner,sunxi-scaler";reg = <0x0 0x05809430 0x0 0x10>;device_id = <0xfe>;status = "okay";};scaler1: scaler@5809440 {compatible = "allwinner,sunxi-scaler";reg = <0x0 0x05809440 0x0 0x10>;device_id = <0xff>;status = "okay";};actuator0: actuator@5809450 {compatible = "allwinner,sunxi-actuator";device_type = "actuator0";reg = <0x0 0x05809450 0x0 0x10>;actuator0_name = "ad5820_act";actuator0_slave = <0x18>;actuator0_af_pwdn = <>;actuator0_afvdd = "afvcc-csi";actuator0_afvdd_vol = <2800000>;status = "okay";};flash0: flash@5809460 {device_type = "flash0";compatible = "allwinner,sunxi-flash";reg = <0x0 0x05809460 0x0 0x10>;flash0_type = <2>;flash0_en = <>;flash0_mode = <>;flash0_flvdd = "";flash0_flvdd_vol = <>;device_id = <0>;status = "okay";};sensor0: sensor@5809470 {reg = <0x0 0x05809470 0x0 0x10>;device_type = "sensor0";compatible = "allwinner,sunxi-sensor";sensor0_mname = "ov5640";sensor0_twi_cci_id = <2>;sensor0_twi_addr = <0x78>;sensor0_mclk_id = <0>;sensor0_pos = "rear";sensor0_isp_used = <0>;sensor0_fmt = <0>;sensor0_stby_mode = <0>;sensor0_vflip = <0>;sensor0_hflip = <0>;sensor0_iovdd-supply = <>;sensor0_iovdd_vol = <>;sensor0_avdd-supply = <>;sensor0_avdd_vol = <>;sensor0_dvdd-supply = <>;sensor0_dvdd_vol = <>;sensor0_power_en = <>;sensor0_reset = <&pio PE 14 GPIO_ACTIVE_LOW>;sensor0_pwdn = <&pio PE 15 GPIO_ACTIVE_LOW>;sensor0_sm_vs = <>;flash_handle = <&flash0>;act_handle = <&actuator0>;device_id = <0>;status	= "okay";};sensor1: sensor@5809480 {reg = <0x0 0x05809480 0x0 0x10>;device_type = "sensor1";compatible = "allwinner,sunxi-sensor";sensor1_mname = "ov5647";sensor1_twi_cci_id = <3>;sensor1_twi_addr = <0x6c>;sensor1_mclk_id = <1>;sensor1_pos = "front";sensor1_isp_used = <0>;sensor1_fmt = <0>;sensor1_stby_mode = <0>;sensor1_vflip = <0>;sensor1_hflip = <0>;sensor1_iovdd-supply = <>;sensor1_iovdd_vol = <>;sensor1_avdd-supply = <>;sensor1_avdd_vol = <>;sensor1_dvdd-supply = <>;sensor1_dvdd_vol = <>;sensor1_power_en = <>;sensor1_reset = <&pio PE 7 GPIO_ACTIVE_LOW>;sensor1_pwdn = <&pio PE 6 GPIO_ACTIVE_LOW>;sensor1_sm_vs = <>;flash_handle = <>;act_handle = <>;device_id = <1>;status	= "disabled";};vinc0: vinc@5809000 {compatible = "allwinner,sunxi-vin-core";device_type = "vinc0";reg = <0x0 0x05809000 0x0 0x200>;interrupts-extended = <&plic0 111 IRQ_TYPE_LEVEL_HIGH>;vinc0_csi_sel = <0>;vinc0_mipi_sel = <0xff>;vinc0_isp_sel = <0>;vinc0_tdm_rx_sel = <0xff>;vinc0_rear_sensor_sel = <0>;vinc0_front_sensor_sel = <0>;vinc0_sensor_list = <0>;device_id = <0>;iommus = <&mmu_aw 1 1>;status = "okay";};vinc1: vinc@5809200 {device_type = "vinc1";compatible = "allwinner,sunxi-vin-core";reg = <0x0 0x05809200 0x0 0x200>;interrupts-extended = <&plic0 112 IRQ_TYPE_LEVEL_HIGH>;vinc1_csi_sel = <0>;vinc1_mipi_sel = <0xff>;vinc1_isp_sel = <1>;vinc1_tdm_rx_sel = <0xff>;vinc1_rear_sensor_sel = <0>;vinc1_front_sensor_sel = <0>;vinc1_sensor_list = <0>;device_id = <1>;iommus = <&mmu_aw 1 1>;status = "disabled";};};

在这里插入图片描述

ROOTFS 配置

运行 m menuconfig,勾选 <*> kmod-sunxi-vin......................................... sunxi-vin support

在这里插入图片描述

常见错误

[VIN_ERR]media_entity_find_link null

驱动版本不匹配所致,目前SDK分支过多驱动版本过多,用下列驱动替换即可:
sunxi-vin.tar.gz

解压,覆盖到 tina-d1-h/lichee/linux-5.4/drivers/media/platform/sunxi-vin 文件夹

测试固件

tina_d1-h-mq_pro_uart0.zip

在这里插入图片描述

原贴链接:https://bbs.aw-ol.com/topic/4017/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全志及开发者最新动态可以关注全志在线微信公众号

相关文章:

全志D1-H (MQ-Pro)驱动 OV5640 摄像头

内核配置 运行 m kernel_menuconfig 勾选下列驱动 Device Drivers ---><*> Multimedia support --->[*] V4L platform devices ---><*> Video Multiplexer[*] SUNXI platform devices ---><*> sunxi video input (camera csi/mipi…...

2023下半年软考初级网络管理员报名入口-报名流程-备考方法

软考初级网络管理员2023下半年考试时间&#xff1a; 2023年下半年软考初级网络管理员的考试时间为11月4日、5日。考试时间在全国各地一致&#xff0c;建议考生提前备考。共分两科&#xff0c;第一科基础知识考试具体时间为9:00到11:30&#xff1b;第二科应用技术考试具体时间为…...

QEMU源码全解析29 —— QOM介绍(18)

接前一篇文章&#xff1a;QEMU源码全解析28 —— QOM介绍&#xff08;17&#xff09; 本文内容参考&#xff1a; 《趣谈Linux操作系统》 —— 刘超&#xff0c;极客时间 《QEMU/KVM》源码解析与应用 —— 李强&#xff0c;机械工业出版社 特此致谢&#xff01; 前文讲解了类…...

从入门到精通——【初识网络】

文章目录 前言1.网络发展背景2.计算机网络分类3.通信协议4.协议分层5. TCP/IP协议6.网络协议支持7. 封装&分用8. 客户端&服务端 前言 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统…...

MySQL alter命令修改表详解

目录 ALTER TABLE 语法 ALTER TABLE 实例 添加一列 添加多列 重命名列 修改列定义 修改列名和定义 添加主键 删除列 重命名表 修改表的存储引擎 结论 在使用表的过程中&#xff0c;如果您需要对表进行修改&#xff0c;您可以使用 ALTER TABLE 语句。通过 ALTER TAB…...

Vulnhub: ColddWorld: Immersion靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.183 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.183 查看login的源码发现提示&#xff1a;page和文件/var/carls.txt 漏洞利用 wfuzz探测account.php页面发现文件包含&am…...

Redis 总结【6.0版本的】

还差什么&#xff1f;【按照这个为基础&#xff0c;对照他的Redis路线图&#xff0c;冲冲冲】 Redis的常见操作和命令&#xff1a;Redis基本操作命令&#xff08;图文详解&#xff09;_redis 命令_进击小高的博客-CSDN博客 Redis的持久化&#xff0c;一致性&#xff1a;AOF&…...

状态模式(C++)

定义 允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。 应用场景 在软件构建过程中&#xff0c;某些对象的状态如果改变&#xff0c;其行为也会随之&#xff0c;而发生变化&#xff0c;比如文档处于只读状态&#xff0c;其支持的行为和读写…...

承泰科技Q3再获30多个智驾项目,新增订单0.86亿!累计近11亿!

中国毫米波雷达市场正处于高速发展期&#xff0c;以承泰科技为代表的本土供应商在前装量产赛道上展示出加速度。 高工智能汽车研究院预测&#xff0c;随着L2及L2持续处于市场增长的高速期&#xff0c;对应毫米波雷达上车量将在2023年实现30-50%的同比增速。 根据高工智能汽车…...

以太网Ethernet通信协议

一、以太网简介 计算机网络可分为局域网(LAN)、 城域网(MAN)、广域网(WAN)、互联网(Initernet)。局域网按传输介质所使用的访问控制方法可分为&#xff1a;以太网(Ethernet)、光纤分布式数据接口(FDDI)、异步传输模式(ATM)、令牌环网(Token Ring)、交换网(Switching) 等&#x…...

内网横向移动—资源约束委派

内网横向移动—资源约束委派 1. 资源约束委派1.1. 基于资源的约束委派的优势1.2. 约束性委派和基于资源的约束性委派配置的差别1.3. 利用条件1.3.1. 什么用户能够修改msDS-AllowedToActOnBehalfOfOtherIdentity属性1.3.2. 将机器加入域的域用户 2. 案例操作2.1. 获取目标信息2.…...

Spring Boot Logback日志格式改为JSON

在阿里云、或者日志分析时使用JSON格式输出日志更加方便。 依赖 增加Logbak JSON解析依赖。 另外需要注意的是JSON格式输出依赖Jackson&#xff0c;根据工程情况按需添加Jackson依赖。 <!--日志--><dependency><groupId>ch.qos.logback.contrib</grou…...

Linux 块设备操作函数

和字符设备的fil_operations一样&#xff0c;块设备也有操作集&#xff0c;为结构体block_device_operations&#xff0c;此结构体定义在include/linux/blkdev.h中&#xff0c;结构体内容如下&#xff1a; struct block_device_operations {int (*open) (struct block_device …...

linux c++网络编程基础:服务端与客户端的实现

在Linux环境下,我们可以使用socket编程来实现网络通信。下面是一个简单的C++版本的客户端和服务端的示例代码。 服务端代码: #include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> #include <string.h> #...

坐标转换-使用geotools读取和转换地理空间表的坐标系(sqlserver、postgresql)

前言&#xff1a; 业务上通过GIS软件将空间数据导入到数据库时&#xff0c;因为不同的数据来源和软件设置&#xff0c;可能导入到数据库的空间表坐标系是各种各样的。 如果要把数据库空间表发布到geoserver并且统一坐标系&#xff0c;只是在geoserver单纯的设置坐标系只是改了…...

JavaScript的主要应用场景有哪些?请描述一下JavaScript的基本数据类型和引用数据类型分别是哪些?

1、JavaScript的主要应用场景有哪些&#xff1f; JavaScript是一种广泛使用的编程语言&#xff0c;它主要用于Web开发、移动应用开发、游戏开发、物联网设备开发等场景。以下是JavaScript的主要应用场景&#xff1a; Web开发&#xff1a;JavaScript是Web开发中最常用的编程语…...

webpack性能优化

文章目录 1. 性能优化-分包2. 动态导入3. 自定义分包4. Prefetch和Preload5. CDN加载配置6. CSS的提取7. terser压缩7.1 Terser在webpack中配置7.2 css压缩 8. Tree Shaking 消除未使用的代码8.1 usedExports 配置8.2 sideEffects配置8.3 CSS实现Tree Shaking 9. Scope Hoistin…...

保存和读取带有透明通道的视频

保存带有透明通道的视频&#xff1a; import osimport imageio from rembg import remove as removBg,new_session from PIL import Image import numpy as np import cv2 from tqdm import tqdmclass cls_rembg():def __init__(self,model_pth):self.session new_session(mo…...

bilibili的评论ip属地显示未知

现象 出于某些原因&#xff0c;我们在日常使用中的大部分平台都开启了IP地址显示&#xff0c;一般会显示当事人所在的地址&#xff0c;这其中就有一些奇怪的地址&#xff0c;&#xff08;在此不谈魔法&#xff09;就比如我最近在刷B站的时候&#xff0c;就在评论区发现了一些显…...

[BabysqliV3.0]phar反序列化

文章目录 [BabysqliV3.0]phar反序列化 [BabysqliV3.0]phar反序列化 开始以为是sql注入 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST1jvadM-1691302941344)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032140269.png)…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...