摘要:作者:翔飞 (桂电)E-Mail:ymg2002abc@163.com一:前言最近几天在移植minigui,一直没有使用过minigui界面,想看看什么效果,顺便学习一下,毕竟是国产的。花了我三天的时间,终于在我的LCD上显示minigui界面了,可以运行MDE演示程序。期间遇到很多问题,还好我都把我的问题以及解决方法都记录下来,下面开始我的移植。二:使用环境的搭建1.主机:RedHat Enterprise Linux AS4 2.交叉编译工具路径:/usr/local/arm/2.95.3/ (用于编译vivi,minigui1.3.3) /usr/local/arm/3.3.2/ (用于
阅读全文
05 2010 档案
摘要:硬件平台 S3C2410X是三星公司的基于ARM920T的S3C2410X芯片。S3C2410X集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM、触摸屏、USB、SPI、SD和MMC等控制器,4个具有PWM功能的计时器和1个内部时钟,8通道的10位ADC,117位通用I/O口和24位外部中断源,8通道10位AD控制器,处理器工作频率最高达到203MHz。 S3C2410中的LCD控制器可支持单色/彩色LCD显示器。支持彩色TFT时,可提供4/8/12/16位颜色模式,其中16位颜色模式下可以显示65536种颜色。配置LCD控制器重要的一步是指定显示缓冲区,显...
阅读全文
摘要:作者:小野狼--发布时间:2009-8-31 16:31:10--嵌入式Linux环境下MiniGUI的研究与移植 前言 近年来随着嵌入式设备与市场需求的广泛结合,手机、PDA、DVD播放机等产品的应用对可视化操作界面的简洁和方便提出了更高的要求,这都需要一个稳定可靠的高性能GUI系统来提供支持。图形用户界面(Graphic User Interface,简称GUI)的广泛流行是当今计算机技术的重要成就之一,它极大地方便了非专业用户的使用,人们可以通过窗口、菜单方便地进行操作。由于嵌入式系统实时性要求高,同时嵌入式系统硬件配置又有限,所以对轻型GUI的需求更加突出。另外,嵌入式系统往往是一种订
阅读全文
摘要:摘要:视频图像采集及处理技术在远程视频监控和可视电话中有着广泛的应用前景,驱动视频采集设备和获取视频数据并进行相应的处理,是实现这些应用的基础。针对这些应用,构建了一个基于嵌入式 Linux和 PXA270微处理器的视频采集与传输系统,利用 Video4Linux实现 USB摄像头视频数据采集,采集的视频数据经 JPEG压缩后,在 PXA270为核心的系统控制下通过以太网进行传输,并通过重新编译移植 Webcam_server应用程序实现了实时视频采集。实验结果表明,该系统动态刷新良好,具有一定的实用性。关键词: PXA270;嵌入式 Linux;USB摄像头;图像采集与传输Abstract:
阅读全文
摘要:文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/6_system/linux/Linuxjs/2008923/144929_2.html
阅读全文
摘要:JPEG 简易文档 V2.15------------------------------ 初稿写于 2000.1.23 最后修订 2003.12.5 2007.7.16 作者: 云风写在前面-------1. 为什么写这个文档? 云风想对 JPEG/MPEG 有一个系统的研究, 但是苦于找到好的资料. 而英文水平又 不怎样, 所以在学习的过程, 将已经了解了的东西记录下来. 方便自己在编写 代码的时候查阅. 而且正式的 JPEG 文档非常复杂, 打印出来也有厚厚一本, 就 是英文底子比较好的朋友, 看起来也会头痛. 英文文档可以在网上 google 到一篇 CRYX's note a
阅读全文
摘要:最近在用Qt做一个程序,其中就涉及到了“野指针”的,果然出了问题(为什么要用果然呢? 因为以前看过林锐博士的一篇文章提到过这个问题),多次调试检查后才解决。现记录如下:问题描述:程序的目的大概是一个读文件数据并在QGraphicsScene上画出图形再删掉这些图形。程序每运行一次,虽然调用QGraphicsScene的clear()清除items,但是内存占用增加大概300K左右。问题分析:程序中有一个循环(大概4000次左右,根据文件大小不同而不同),在循环中我new了一个对象,在循环结束时delete了这个对象。 但是并没有把对象指针赋为NULL,导致每循环一遍产生了一个野指针,从而内存不
阅读全文
摘要:本文选自http://www.blogjava.net/wilsonny/archive/2005/07/01/7000.aspx摘要:这篇文章大体上介绍了JPEG文件的结构信息以及它的压缩算法和编码方式。使读者能够对JPEG文件格式有大体上的了解。为读者进一步进行学***EG文件压缩做好准备关键字:十六进制,段格式,编码一、 JPEG文件格式概述:图像和动画的存储方式是一个很重要的问题。幸好我们有了数据压缩,有了JPEG等多种压缩存储图像的文件格式,我们今天才能够拿着小小的一个存储器,却存上许多张色彩鲜艳的图片。如果没有图像压缩算法,也许我们的多媒体时代就会晚到来许多年。JPEG图像存储格式
阅读全文
摘要:关于linux内核中的"__attribute__ ((packed))"来源:http://jimmy-lee.blog.hexun.com/8001013_d.html__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。#define __u8 unsigned char#define __u16 unsigned short/* __attribute__ ((packed)) 的位置约束是放于声明的尾部“;”之前 */struct str_struct{ __u8 a; __u8 b; __
阅读全文
摘要:Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它
阅读全文
摘要:学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。 下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。下面是我们的代码:/*thread_example.c : c multiple thread programming in linux *author : falcon *E-mail : tunzhj03@st.lzu.edu.cn */#include <pthread.h>#include <stdio.h>#include <sys/t
阅读全文
摘要:1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进
阅读全文
摘要:首先server.c中如下几行代码:signal(SIGPIPE, SIG_IGN); /* Ignore sigpipe */sa.sa_handler = sigchld_handler;sigemptyset(&sa.sa_mask);sa.sa_flags = SA_RESTART;/***********************************************************/ 当服务器close一个连接时,若client端接着发数据。 根据TCP协议的规定,会收到一个RST响应,client再向这个服务器发送数据时系统会发出一个SIGPIPE信号给进
阅读全文
摘要:搞了一段时间的嵌入式网络视频采集与传输,基本上在服务器端采集视频用的是servfox程序包,它可以用arm-linux-gcc编译后移植到开发板上,我现在一直在做这方面的工作,用的是S3C2410的板子,这个开源程序十分不错,觉得有必要深入理解和学习一下它的源程序,网上一般没有对它的详细说明,只是简单介绍了它怎么用的,就如我当初刚开始学习嵌入式时一样看不懂这个程序,现在对其各个代码作个详细的解释,以备后忘,也希望对新手有所帮助。 servfox主要有server.c,spcav4l.c ,spcav4l.h,utils.c ,utils.h,tcputils.c ,tcputils.h,s..
阅读全文
摘要:Video4linux 中文解析 收藏 •Video4linux(简称V4L),是linux中关于视频设备的内核驱动。•现在已有Video4linux2,还未加入linux内核,使用需自己下载补丁•在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写•摄像头在/dev/video0下1.打开视频设备:2. 读取设备信息3.更改设备当前设置(如果有必要)4.进行视频采集,两种方法: (都没成功)L 1.内存映射 2.直接从设备读取5.对采集的视频进行处理(没做)6.关闭视频设备。为程序定义的数据结构typedef struct v4l_struct { int fd; stru
阅读全文
摘要:用一系列的ioctl发命令控制设备。v4l支持的ioctl命令大概有二十几个,为了尽快的编出一个简单的图象捕捉程序,让我们先来看看几个主要的命令:1. ioctl(fd,VIDIOCGCAP,&cap); 该命令主要是为了获取电视卡的功能信息。例如电视卡的名称,类型,channel等。参数cap是一个结构,当ioctl命令返回时,结构的各成员就被赋值了,结构体的定义为:struct video_capability{ char name[32]; int type; int channels; /* Num channels */ int audios; /* Num audio de
阅读全文
摘要:作者:d_south<d_south@163.com>Blog:http://hi.baidu.com/d_south写作日期:2009前言.写这篇文章的想法和思路由于毕业设计的关系,本人要做一下在linux系统中视频的相关工作比如采集和传输。由于本人是菜鸟一个,所以是需要上网搜一搜看大家都是如何做的,当然开始都是理不出一个头绪,但是很多文章都提到了video4linux(v4l),所以我觉得工作的展开可以先从这里开始,。看了网上的一些文章,其中比较重要的也是比较知名的吧,有戴小鼠写的《基于Video4Linux 的USB 摄像头图像采集实现》,有陈俊宏写的《video strea
阅读全文
摘要:int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result1(推荐的用法)#include <stdio.h>#include <stdlib.h>int main(){ char str[10]={0,}; snprintf(str, sizeof(str), "012345
阅读全文
摘要:一.文件目录结构如下图:二.视频设备自定义的数据结构------------------------------------------struct vdIn { int fd; char *videodevice ; //视频设备文件路径,如/dev/video0 struct video_mmap vmmap;//内存映射 struct video_capability videocap; int mmapsize; struct video_mbuf videombuf; struct video_picture videopict; struct video_window videow
阅读全文
摘要:头文件:sys/socket.h相关结构体:struct sockaddr{ unsigned short sa_family; //地址族 char sa_data[14]; //14字节协议地址};struct sockaddr_in{ short int sin_family; //地址族 unsigned short int sin_port; //端口号 struct in_addr sin_addr; //IP地址 unsigned char sin_zero[8]; //填充0以保持与struct sockaddr同样大小};struct in_addr{ unsigned lo
阅读全文
摘要:功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys/types.h>#include <sys/socket.h>int getsockopt(int sock, int level, int optname, void *optval, soc
阅读全文
摘要:原文出处:http://blog.csdn.net/aladdina/archive/2010/03/24/5413545.aspx感谢!
阅读全文
摘要:QFile本身有copy函数,在这里使用QTextStream实现一下。QFile sourceFile("test.txt");QFile targetFile("readtext.txt");if(sourceFile.open(QIODevice::ReadOnly | QIODevice::Truncate)& targetFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { QTextStream in(&sourceFile); QTextStream out(&am
阅读全文
摘要:函数声明:void QPainter::drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )举例:QRectF target(10.0, 20.0, 80.0, 60.0); //建立目标矩形QRectF source(0.0, 0.0, 70.0, 40.0); //建立源矩形,用来框定源图像文件中要显示的部分QImage image(":/images/m
阅读全文