V4L2摄像头获取单幅图片测试程序 2016年10月16日 9 阅读 #根据网上常见的一个测试程序修改而来 by rockie cheng#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <getopt.h> #include <fcntl.h> #include <unistd.h>#include <errno.h&...
基于Linux的v4l2视频架构驱动编写 2016年10月16日 9 阅读 其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做出来也没关系,所以直接退出博士的团队,投靠了院长的门下,呵呵,说到这里其实并不是我太见风使驼了,而是····老是让我做单片机的东东,我嫌没意思,他也知道我一开始就要学嵌入式,所以,最后,我想了一下,既然不能帮他做项目,那留着也没啥意思,自己滚蛋吧(呵呵,不过现...
Matlab模拟Linux命令grep 2016年10月16日 9 阅读 本文给出Matlab模拟Linux命令grep的demo,下面是源码function grep(filename, pattern)%-模拟unix的grep指令%-filename:给出完整路径%-pattern:匹配表达式fid = fopen(filename, "r");line_number = 0;%-fgets 和 fgetl : 可从文件读取信息while feof(fid) == 0,line = fgetl(fid);matched =...
Java模拟Linux命令grep 2016年10月16日 9 阅读 在网上看到Matlab模拟Linux的grep命令,就想到用java也来模拟下Linux命令grep,算法非常简单,,这里直接上代码: /** * 模拟Unix命令grep操作,输出行号和行内容 * @param path 待查询的文件路径 * @param query 待查询的字符串 * @throws IOException * */ public static void grep(String path,String query) throws ...
Android Makefile 分析之 (build/envsetup.sh) 2016年10月16日 10 阅读 build/envsetup.sh 脚本分析(lunch函数)lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环境变量。直接运行lunch(必须先运行 build/envsetup.sh,让lunch函数驻留到环境变量中)www.linuxidc.com@www.linuxidc.com-desktop:~/donut-compare/mydr...
S3C2440嵌入式Linux下网卡DM9000E移植 2016年10月16日 9 阅读 在mini2440上移植DM9000E网卡的参考步骤如下:一、看电路图在mini2440开发板上移植好Linux-2.6.29.1内核和根文件系统的基础上,进行网卡DM9000E的移植,因为手里面有韦东山写的《嵌入式Linux应用开发完全手册》一书,在书中找到了DM9000网卡移植部分,对照该书与友善光盘里面的原理图,移植之前先从看原理图开始。看了DM9000E与S3C2440的电路图发现:1、DM9000E挂接到S3C2440总线S3C2440通过总线来...
基于Linux的I2C驱动组成结构 2016年10月16日 9 阅读 1. Linux的I2C驱动架构Linux中I2C总线的驱动分为两个部分,总线驱动(BUS)和设备驱动(DEVICE)。其中总线驱动的职责,是为系统中每个I2C总线增加相应的读写方法。但是总线驱动本身并不会进行任何的通讯,它只是存在在那里,等待设备驱动调用其函数。 设备驱动则是与挂在I2C总线上的具体的设备通讯的驱动。通过I2C总线驱动提供的函数,设备驱动可以忽略不同总线控制器的差异,不考虑其实现细节地与硬件设备通讯。 1.1 总线驱动在系统开机时,首先装...
Linux下SPI驱动分析 2016年10月16日 9 阅读 Linux下SPI总线驱动有通用接口,一般的SPI设备驱动使用这个驱动接口实现设备驱动。分析驱动最好是先了解核心代码,然后从具体设备分析入手,然后从下至上,了解整个框架,再从上到下分析,理解透彻。以下分析内核根目录均以"src"代替。内核代码http://lxr.linux.no/,版本2.6.37.2。SPI的核心代码即"src/drivers/spi/spi.c"——SPI 初始化和核心代码"src/drivers/spi/spi_gpio.c"——I...
Linux Boot Process 分析与研究 2016年10月16日 9 阅读 对于linux的研究正在紧锣密鼓的进行着,源于对系统启动的兴趣,开始对其启动过程全面的分析,建立在以前玩过Linux的基础上,知道Linux启动时有GRUB可以选择想要启动的系统,开始进行启动深入剖析。大家不要担心,即使您对计算机的启动过程一无所知也可以看下面的文章。当我们按下开机电源按钮的时候,系统就在启动的过程中了,相信使用过Windows的人或多或少的都对其启动速度有些意见,但是对它的启动过程却一无所知,这就让人很郁闷,呵呵,不急,下面进入正文。所有...
Android平台6410背光修改 2016年10月16日 9 阅读 装机的MID亮度不够,特别是看些视频文件时很不清晰。实际测得输出PWM的GPF15电压不够,仅0.4伏,要求上应该要达到跟WINCE一样的2.8V,才适合供给U7位的MP1528。在内核CODE中查找PWM相关文件,找到s3c6410_timer_setup函数是设置PWM通道和分频比等相关函数的调用。恰好该函数在s3cfb_set_brightness中被调用,设置tcnt的值由1000到500,即可达效果。补充一点:关于如何让系统不会进入待机睡眠状态的...
Linux init/main.c 初始化中硬件中断向量初始化 trap_init() 2016年10月16日 9 阅读 /init/main.c部分代码voidmain(void)/*ThisreallyISvoid,noerrorhere.*/ {/*Thestartuproutineassumes(well,...)this*/ /* *Interruptsarestilldisabled.Donecessarysetups,then *enablethem */ ROOT_DEV=ORIG_ROOT_DEV; drive_info=DRIVE_INFO; m...
Linux下Python网络编程框架安装日志 2016年10月16日 9 阅读 wisted是python下的用来进行网络服务和应用程序编程的框架,安装Twisted前需要系统预先安装有python。 一、安装Twisted1、下载Twisted从这里下载Twisted,有win32,source,mac版本,win32下有支持python2.4和2.5的两个版本,可以根据你的python版本下载,今天是在linux下,所以直接下载source版本就可以了。目前的版本号是Twisted-10.1.02、安装Twisted下载好Twis...
设置Linux进程优先级和CPU亲和性 2016年10月16日 9 阅读 进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。一、先看系统进程:PR 就是 Priority 的简写,而 NI 是 nice 的简写。这两个值决定了PR的值,PR越小,进程优先权就越高,就越“优先执行”。换算公式为:PR(new) = PR(old) ...
Linux2.6.30.4系统移植到TQ2440 2016年10月16日 9 阅读 终于编译成功了,很多时候还是自己的不小心和疏忽造成的,如果能够仔细点,应该可以很快解决的。不过也好,这样可以让自己对于移植系统更加熟悉。(主要是根据手册来做就行了,本次是针对TQ2440,内核2.6.30.4,交叉编译器4.3.3)第一步:建立自己的交叉编译器。 我在虚拟机中用的是Fedora10的系统,安装的是4.3.3的交叉编译器,在建立好后,要通过arm-linux-gcc -v来检测是否安装成功,如果不行,就很可能是环境变量问题了。在Fedora中...
对Linux内核宏container_of的理解 2016年10月16日 9 阅读 学习Linux驱动的过程中经常会遇到一个这样的宏:container_of,原定义如下Linux/include/Linux/kernel.h中486/**487 * container_of - cast a member of a structure out to the containing structure488 * @ptr: the pointer to the member.489 * @type: the type of the cont...
关于6410开发板Linux内存地址0Xc0008000的由来 2016年10月16日 9 阅读 查看6410数据手册可以看到,内存开始地址应该是0x50000000,而实际在real6410开发板使用过程中U-boot加载Linux内核都是加载到0xC0008000处开始运行,我猜测(还没有看代码来验证猜测)这个是因为Linux启动内核的地址为0xC0008000,而U-boot为了和Linux保持一致,故对内存也做了映射,方便用户使用。下面先以内核2.6.28为例来先来看一下Linux中这个内存地址的由来。首先看启动代码代码arch/arm/ker...
Linux和Unix中 awk 的print浅谈 2016年10月16日 9 阅读 awk "{print;}" 文件名-------打印指定文件所有行,输出在控制台awk "{print $1,$2,$NF;}" 文件名-------打印指定文件中的 第一列,第二列和最后一列(因为awk默认按空格分割 即:打印每行的第一个,第二个和最后一个单词)例如:新建一个文件名为awk.txt姓名 性别 年龄 出生年月 籍贯 政治面貌 阿恺 男 26 1986年 吉林 党员发哥 男 26 1986年 黄冈 党员阿莲 男 26 1986年 松原 党员...
Java 实现读一个txt文件写入到另一个txt文件 2016年10月16日 9 阅读 import java.io.*;public class ck{public static void main(String[] args){ try{ File read = new File("d:\jjjj.txt"); File write = new File("d:\ck.txt"); BufferedReader br = new BufferedReader( new FileReader(read)); BufferedWriter...
Linux make命令主要参数详解 2016年10月16日 9 阅读 -C dir或者 --directory=DIR 在读取makefile文件前,先切换到“dir”目录下,即把dir作为当前目录。如果存在多个-C选项,make的最终当前目录是第一个目录的相对路径,如“make –C /home/leowang –C document”,等价于“make –C /home/leowang/document”-d make在执行时打印所有调试的信息。-e或者--environment-overrides 不允许在makefi...
Makefile 中切换工作目录的问题 2016年10月16日 9 阅读 我的makefile 需要进行一些特殊处理,有的时候需要切换工作目录,我在 make中写到cd /tmp然后再执行操作,发现工作目录仍然是原来的目录。实际并没有进行切换/请问这是怎么一回事? 谢谢! 你可以这么写:cd /tmp && you-operation-cmds记住,一行命令启动一个sub shell,所以前一行命令导致环境的变化在下一行会被reset...