Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

OK210-uvc摄像头采集并显示在屏幕上(V4L2编程)

OK210-uvc摄像头采集并显示在屏幕上(V4L2编程)

手头有一个UVC(usb video class)摄像头(也称为免驱摄像头),就顺便学习了一下V4L2编程 ,写代码的过程中参考了前辈的博客,觉得写的非常的好,特将链接贴在这里http://www.linuxidc.com/Linux/2016-11/137067.htm关于V4L2讲解的可以学习前辈的博客,这里只是写了一个实例代码供看了知识点还无从下手写代码的新手作为参考。平台描述:OK210开发板。屏幕是开发板自带的800*480的RGB32格式屏幕。...
嵌入式Linux中摄像头使用简要整理

嵌入式Linux中摄像头使用简要整理

本文涉及软硬件平台:开发板:飞凌OK6410系统:Ubuntu 12.04+飞凌官方3.0.1嵌入式Linux还处在入门阶段,主要方向是嵌入式下的图像处理,最近一直在学习OpenCV和Qt相关知识,打算以此入手。本文记录在嵌入式平台摄像头的选择和测试过程中的一点经历,没有太多的技术内容,对于同样入门还在盲目摸索的同学可能有一点帮助。之前没有任何图像方面开发的经验,对于Windows平台来说,摄像头也就是插上去装个驱动,剩下的用起来就差不多了,具体的差异很难...
从一个实例来认识GDB与高效调试

从一个实例来认识GDB与高效调试

GDB的全称是GNU project debugger,是类Unix系统上一个十分强大的调试器。这里通过一个简单的例子(插入算法)来介绍如何使用gdb进行调试,特别是如何通过中断来高效地找出死循环;我们还可以看到,在修正了程序错误并重新编译后,我们仍然可以通过原先的GDB session进行调试(而不需要重开一个GDB),这避免了一些重复的设置工作;同时,在某些受限环境中(比如某些实时或嵌入式系统),往往只有一个Linux字符界面可供调试。这种情况下,可以...
C语言调用C++类成员函数的方法

C语言调用C++类成员函数的方法

最近做了一个wav格式的音频播放器,界面部分用Qt实现,中间层代码使用C语言实现,这就涉及到C和C++相互调用的问题。C++调用C语言的方法在另一篇文章中已经说明(见 http://www.linuxidc.com/Linux/2016-11/137072.htm),C调用C++的方法现做如下介绍。音频播放的时候中间层代码需要将音频的播放进度和状态等信息反馈给界面程序进行显示,但是主程序是用c++写的,通过接口函数调用c中间层代码进行相应操作并完成相应的功...
对Linux 多路复用Epoll模型的水平出发模式和边缘触发模式的理解

对Linux 多路复用Epoll模型的水平出发模式和边缘触发模式的理解

水平触发通知又叫“低速模式”,是linux epoll模型的默认方式。对于此方式《Linux/Unix系统编程手册(下册)》中的解释是:如果文件描述符上可以非阻塞地执行I/O系统调用,此时认为它已经就绪。对此,我的理解是:某个I/O实践就绪,例如,文件缓冲区收到了5个字节的数据,此时此文件描述符可读,触发epoll可读事件。但是如果就绪的文件描述符是非阻塞的(也就是说中途可以被打断),当读取三个字节的时候被别的事件打断了,下次仍然触...
S5PV210编译安装内核初体验

S5PV210编译安装内核初体验

所用平台:飞凌嵌入式OK210内核版本:Linux-2.6.39交叉编译链版本:4.3.3u-boot:板子自带的1.3.4版,通过SD卡烧录虚拟机环境:RedHat5准备工作:1、配置虚拟机环境在虚拟机中点击工具栏中”编辑->虚拟机网络编辑器”选择桥接模式,将虚拟机网卡桥接到本机的”以太网“接口修改虚拟机的IP 为192.168.2.24在虚拟机中通过servicenetwork restart 重新...
内核模块指定参数方式

内核模块指定参数方式

内核模块的参数传递方式很多,第一次尝试仅仅介绍了 指定普通类型和数组类型内核模块指定参数方式定义内核参数变量普通变量 : module_param(变量名,变量类型,访问许可掩码) 数组变量 : module_param_array(name, type,&num,perm) 关于数组长度变量num需要说一下,num保存数组的长度变量的地址,方便别的地方调用,而数组的长度由数组初始化的时候指定。内核支持的模块参数类型 bool 布尔型 invboo...
Log4j容器初始化探究

Log4j容器初始化探究

Log4j容器初始化探究Log4j第一步就是初始化Logger容器Repository,这一章我们来探究Logger容器,从别从独立应用以及servlet容器下启动初始化两方面探究。1 独立应用静态初始化,java语言保证静态初始化只被执行一次,静态初始化源码在LogManager中。时序图:初始化流程:第一步: LogManager获取配置文件的URL第二步: OptionConverter获取Configurator实现类(配置类)第三步: Confi...
Android活动的生命周期

Android活动的生命周期

掌握活动的生命周期对任何Android开发者来说都非常重要,Android中的活动是可以层叠的,我们每启动一个洗的活动,就会覆盖在原活动之上,然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Task),栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,他会在返回栈中入栈,并处于栈顶位置,而每...
Linux 服务器模型小结

Linux 服务器模型小结

当我们用socket进行编程的时候,细节上都是选择一个AF_LOCAL,AF_INET再根据相应的类型填充地址,其实根据通信需求,有几种简单的服务模型可供选用,掌握了这些框架再结合socket高度的抽象,可以为我们编写简单的服务器程序提供指导循环服务用户请求服务需要排队,服务器一次只能服务一个客户,服务完才能对下一个客户进行服务。ATM机就是这个1vs1模型。udp服务器也经常使用这个模型//模型伪代码main{//获得侦听文件描述符listenfd=so...
Java并发编程之CAS

Java并发编程之CAS

CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让我们跟深入的了解一下这项技术。CAS的使用场景在程序和算法中一个经常出现的模式就是“check and act”模式。先检查后操作模式发生在代码中首先检查一...
<< 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 >>