CN106851077A - 基于H3在Linux下驱动OV5640摄像头的方法 - Google Patents
基于H3在Linux下驱动OV5640摄像头的方法 Download PDFInfo
- Publication number
- CN106851077A CN106851077A CN201710217055.1A CN201710217055A CN106851077A CN 106851077 A CN106851077 A CN 106851077A CN 201710217055 A CN201710217055 A CN 201710217055A CN 106851077 A CN106851077 A CN 106851077A
- Authority
- CN
- China
- Prior art keywords
- cameras
- vfe
- fmt
- mbus
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种基于H3在Linux下驱动OV5640摄像头的方法,包括如下步骤:打开OV5640摄像头所对应的设备文件/dev/videoX;为OV5640摄像头驱动添加读写寄存器sys文件系统接口;初始化OV5640摄像头,添加自动对焦功能;读取OV5640摄像头的能力值;设置视频输入源:设置VFE驱动默认输入源的初始值为0;设置数据流类型和格式:设置VFE支持的视频格式为OV5640摄像头的格式;初始化内存映射分配缓冲区;查询缓冲区大小;映射设备缓冲区到应用空间mmap;添加缓冲区到输入队列;启动视频流,开始采集数据,直至采集数据停止,停止视频流,停止采集数据;释放内存映射;关闭设备文件/dev/videoX。本发明填补了H3芯片所运行的Linux操作系统中在支持OV5640这种摄像头的软件驱动模块方面的空白。
Description
技术领域
本发明涉及一种摄像头驱动方法,具体涉及一种基于全志H3 ARM处理器在Linux操作系统下驱动OV5640摄像头的方法。
背景技术
全志H3ARM芯片是一种被广泛应用于各种嵌入式平台(比如车载电子设备,现场监控设备,自动贩卖机,广告机,人机交互系统等等)的核心部件。这些平台要正常工作时必须运行操作系统(比如Linux,Android等)。操作系统就是H3芯片和系统各硬件设备(比如摄像头,显示器等)之间沟通的桥梁,而操作系统中起到沟通桥梁作用的就是硬件设备的软件驱动模块。没有合适硬件设备的软件驱动模块,硬件设备无法正常工作。目前H3芯片所运行的Linux操作系统中尚无支持OV5640这种摄像头的软件驱动模块。
发明内容
针对现有技术的不足,本发明旨在提供一种基于H3在Linux下驱动OV5640摄像头的方法,填补H3芯片所运行的Linux操作系统中在支持OV5640这种摄像头的软件驱动模块方面的空白。
为了实现上述目的,本发明采用如下技术方案:
基于H3在Linux下驱动OV5640摄像头的方法,包括如下步骤:
S1打开OV5640摄像头所对应的设备文件/dev/videoX;
S2为OV5640摄像头驱动添加读写寄存器sys文件系统接口;
S3初始化OV5640摄像头,添加自动对焦功能;
S4读取OV5640摄像头的能力值;
S5设置视频输入源:设置VFE驱动默认输入源的初始值为0;
S6设置数据流类型和格式:设置VFE支持的视频格式为OV5640摄像头的格式;
S7初始化内存映射分配缓冲区;
S8查询缓冲区大小;
S9映射设备缓冲区到应用空间mmap;
S10添加缓冲区到输入队列;
S11启动视频流,开始采集数据,直至采集数据停止,停止视频流,停止采集数据;
S12释放内存映射;
S13关闭设备文件/dev/videoX。
进一步地,步骤S6中,VFE支持的视频格式的视频格式包括:
V4L2_MBUS_FMT_YUYV8_2X8;
V4L2_MBUS_FMT_YVYU8_2X8;
V4L2_MBUS_FMT_UYVY8_2X8;
V4L2_MBUS_FMT_VYUY8_2X8。
本发明的有益效果在于:本发明填补了H3芯片所运行的Linux操作系统中在支持OV5640这种摄像头的软件驱动模块方面的空白。
附图说明
图1为本发明的实施流程图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
如图1所示,基于H3在Linux下驱动OV5640摄像头的方法,包括如下步骤:
S1打开OV5640摄像头所对应的设备文件/dev/videoX。
S2为OV5640摄像头驱动添加读写寄存器sys文件系统接口。步骤S2的设置为调试本驱动模块提供了一个便捷的接口。
S3初始化OV5640摄像头,添加自动对焦功能。通过步骤S3的设置增加了操作系统能控制摄像头的功能。
S4读取OV5640摄像头的能力值VIDIOC_QUERYCAP。
S5执行设置视频输入源VIDIOC_S_INPUT,并设置VFE驱动默认输入源的初始值为0。通过本步骤,可以避免由于逻辑错误导致系统内核崩溃,进而影响整个平台的正常工作。
S6执行设置数据流类型和格式VIDIOC_S_FMT,并设置VFE支持的视频格式为OV5640摄像头的格式;
S7初始化内存映射分配缓冲区VIDIOC_REQBUFS;
S8查询缓冲区大小VIDIOC_QUERYBUF;
S9映射设备缓冲区到应用空间mmap;
S10添加缓冲区到输入队列VIDIOC_QBUF;
S11启动视频流,开始采集数据VIDIOC_STREAMON;持续采集数据直至采集数据停止,停止视频流,停止采集数据VIDIOC_STREAMOFF;
S12释放内存映射munmap;
S13关闭设备文件/dev/videoX。
进一步地,步骤S6中,VFE支持的视频格式的视频格式包括:
V4L2_MBUS_FMT_YUYV8_2X8;
V4L2_MBUS_FMT_YVYU8_2X8;
V4L2_MBUS_FMT_UYVY8_2X8;
V4L2_MBUS_FMT_VYUY8_2X8。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,作出各种相应的改变和变形,而所有的这些改变和变形都应该包括在本发明权利要求的保护范围之内。
Claims (2)
1.基于H3在Linux下驱动OV5640摄像头的方法,其特征在于,包括如下步骤:
S1打开OV5640摄像头所对应的设备文件/dev/videoX;
S2为OV5640摄像头驱动添加读写寄存器sys文件系统接口;
S3初始化OV5640摄像头,添加自动对焦功能;
S4读取OV5640摄像头的能力值;
S5设置视频输入源:设置VFE驱动默认输入源的初始值为0;
S6设置数据流类型和格式:设置VFE支持的视频格式为OV5640摄像头的格式;
S7初始化内存映射分配缓冲区;
S8查询缓冲区大小;
S9映射设备缓冲区到应用空间mmap;
S10添加缓冲区到输入队列;
S11启动视频流,开始采集数据,直至采集数据停止,停止视频流,停止采集数据;
S12释放内存映射;
S13关闭设备文件/dev/videoX。
2.根据权利要求1所述的方法,其特征在于,步骤S6中,VFE支持的视频格式的视频格式包括:
V4L2_MBUS_FMT_YUYV8_2X8;
V4L2_MBUS_FMT_YVYU8_2X8;
V4L2_MBUS_FMT_UYVY8_2X8;
V4L2_MBUS_FMT_VYUY8_2X8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710217055.1A CN106851077A (zh) | 2017-04-01 | 2017-04-01 | 基于H3在Linux下驱动OV5640摄像头的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710217055.1A CN106851077A (zh) | 2017-04-01 | 2017-04-01 | 基于H3在Linux下驱动OV5640摄像头的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106851077A true CN106851077A (zh) | 2017-06-13 |
Family
ID=59142218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710217055.1A Pending CN106851077A (zh) | 2017-04-01 | 2017-04-01 | 基于H3在Linux下驱动OV5640摄像头的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106851077A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185711A (zh) * | 2022-09-06 | 2022-10-14 | 湖北芯擎科技有限公司 | 基于虚拟摄像头的数据交互方法、装置、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391985A (zh) * | 2015-12-07 | 2016-03-09 | 哈尔滨工业大学深圳研究生院 | 一种基于嵌入式Linux的视频监控系统与方法 |
CN106027884A (zh) * | 2016-05-17 | 2016-10-12 | 福建星网锐捷通讯股份有限公司 | 一种android设备使用USB摄像头的方法及系统 |
CN106412517A (zh) * | 2016-10-20 | 2017-02-15 | 浙江工业大学 | 一种远程高清视频监控及开锁系统 |
-
2017
- 2017-04-01 CN CN201710217055.1A patent/CN106851077A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391985A (zh) * | 2015-12-07 | 2016-03-09 | 哈尔滨工业大学深圳研究生院 | 一种基于嵌入式Linux的视频监控系统与方法 |
CN106027884A (zh) * | 2016-05-17 | 2016-10-12 | 福建星网锐捷通讯股份有限公司 | 一种android设备使用USB摄像头的方法及系统 |
CN106412517A (zh) * | 2016-10-20 | 2017-02-15 | 浙江工业大学 | 一种远程高清视频监控及开锁系统 |
Non-Patent Citations (2)
Title |
---|
匿名: "V4L2编程", 《HTTP://WWW.CNBLOGS.COM/CHERO/ARCHIVE/2012/12/05/2804148.HTML》 * |
守候心田: "Camera driver&V4L2驱动架构介绍", 《HTTP://BLOG.CHINAUNIX.NET/UID-27411029-ID-3498738.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185711A (zh) * | 2022-09-06 | 2022-10-14 | 湖北芯擎科技有限公司 | 基于虚拟摄像头的数据交互方法、装置、电子设备及介质 |
CN115185711B (zh) * | 2022-09-06 | 2023-10-10 | 湖北芯擎科技有限公司 | 基于虚拟摄像头的数据交互方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102219545B1 (ko) | 소프트웨어 지원 콘텍스트 스위치를 갖는 미드-쓰레드 선점 | |
US20120026342A1 (en) | Electronic system communicating with image sensor | |
KR20080007166A (ko) | 데이터 처리 장치 | |
US9336563B2 (en) | Buffer underrun handling | |
WO2011085029A1 (en) | Parameter fifo | |
US20200084372A1 (en) | Method, and apparatus for clock synchronization, device, storage medium and vehicle | |
TWI631531B (zh) | 利用包括動態演示的頁面層的合併提供內容的系統及方法 | |
AU2011203640B2 (en) | User interface unit for fetching only active regions of a frame | |
CN108062234B (zh) | 一种通过mailbox协议实现服务器主机访问BMC FLASH的系统及方法 | |
WO2018103022A1 (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN106851077A (zh) | 基于H3在Linux下驱动OV5640摄像头的方法 | |
TWI594177B (zh) | 利用自動生成空白提供內容的系統及方法 | |
EP2709020A1 (en) | System and method to arbitrate access to memory | |
CN102104508A (zh) | 基于m模块的lxi设备中的m模块ll驱动层实现方法 | |
CN113246858B (zh) | 车辆行驶状态图像生成方法、设备和系统 | |
CN107807840A (zh) | 一种应用于虚拟机网络的设备直通方法以及装置 | |
US8473968B2 (en) | Driving method and application thereof | |
US20140146067A1 (en) | Accessing Configuration and Status Registers for a Configuration Space | |
CN111930628B (zh) | 一种安全级显示模块图形组态仿真系统及其仿真方法 | |
WO2021124729A1 (ja) | 表示制御システム、移動体、表示制御方法、表示装置、表示方法及びプログラム | |
CN109783407B (zh) | 一种基于fpga实现pc与显卡桥接的装置及方法 | |
Benke et al. | Software solution stack for data transfer on a frame grabber platform | |
US11816777B2 (en) | Data processing systems | |
EP2682870B1 (en) | Data control system, data control method, and data control program | |
CN110515868A (zh) | 显示图像的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170613 |
|
RJ01 | Rejection of invention patent application after publication |