linux
文章平均质量分 54
chyxwzn
这个作者很懒,什么都没留下…
展开
-
linux v4l2 摄像头采集视频的方法
linux上用v4l2函数接口获取视频主要是一个步骤流程,一步步做就很容易,现已我在qt下编写的一个读取摄像头视频的程序中的相关代码为例。首先打开视频设备,比如/dev/video0,fd = open(dev_name.toStdString().c_str(), O_RDWR/*|O_NONBLOCK*/, 0); if(-1 == fd) { emit原创 2012-12-27 15:23:06 · 9991 阅读 · 25 评论 -
QT在ARM平台的移植(二)
QtEmbedded-4.5.3-arm 移植Qt/E 版本: QtEmbedded-4.5.3-arm 交叉编译器版本: arm-linux-gcc 4.1.2 操作系统平台: Linux -- Red Hat 9.0 开发板平台: Arm -- S3C24401、解压QtEmbedded-4.5.3-ar转载 2013-05-01 14:30:23 · 1355 阅读 · 0 评论 -
mdev原理
mdev原理mdev 是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox 为基础构建嵌入式linux 的根文件系统时,使用它是最优的选择。使用过程:(1)在编译时加上对mdev 的支持(我是使用的是busybox1.10.1):转载 2013-05-01 15:31:09 · 731 阅读 · 0 评论 -
copy_to/from_user和get/put_user的区别
copy_to_user -- Copy a block of data into user space. copy_from_user -- Copy a block of data from user space.get_user -- Get a simple variable from user space. put_user -- Write a simple value i转载 2013-05-01 15:47:30 · 1793 阅读 · 0 评论 -
QT在ARM平台的移植(一)
开发板上的qt程序要使用触屏的,使用前要进行校正,1. 移植tslib(触摸屏校正)2. Qt/E-4.5.3在ARM上的移植3. Qtopa4.2.4手机平台在ARM上的移植一、移植tslib tslib是一个开源的触摸屏支持库,它是handhelds.org上开发的,作者是Russul King,Douglas Lowder和Chris Larson。它给上层的应转载 2013-05-01 14:28:29 · 1680 阅读 · 0 评论 -
QT在ARM平台的移植(三)
Qtopia4.2.4移植内核版本:Linux-2.6.31Qtopia版本:Qtopia-opensource-4.2.4,这个版本带有手机桌面环境交叉编译器:arm-linux-gcc 4.1.2 支持EABI操作系统平台:Linux -- Red Hat 9.0开发板平台:Arm -- S3C2440(TX244转载 2013-05-01 14:32:25 · 1530 阅读 · 0 评论 -
linux文件系统制作(一)
文件制作4步骤一、准备制作(创建系统目录)二、编译busybox(制作文件系统的必备工具)三、制作文件系统(添加必备的文件,制作镜像)四、完善文件系统(根据需要,移植更多的应用程序)step1:准备制作创建根文件系统目录,主要包括以下目录:/bin,/etc,/dev,/home,/lib,/mnt,/opt,/proc,/root./sbin,/sys,/tmp,转载 2013-05-01 15:12:58 · 1624 阅读 · 0 评论 -
linux文件系统制作(二)
完善所制作的根文件系统1.NFS文件系统的挂载2.嵌入式web服务器Boa的移植3.音乐播放器madplay的移植 一、NFS文件系统的挂载在虚拟机的linux上构建NFS服务器,在ARM的linux下可以直接挂载NFS,直接访问NFS上的共享文件。1.构建NFS服务器:进入主菜单-->系统设置-->服务器设置-->NFS服务器转载 2013-05-01 15:14:36 · 773 阅读 · 0 评论 -
linux驱动 结构体中的逗号
发表于 : 2011-06-17 4:23由 longyi在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目:转载 2013-05-01 15:50:16 · 1112 阅读 · 0 评论 -
QPixmap/QImage/QPicture
QImage与Qpixmap的区别1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的2、QPixmap依赖于所在的平台的绘图引擎,故例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果3、目前的Qt会把QPix转载 2013-05-01 14:38:22 · 1353 阅读 · 0 评论 -
linux驱动中__attribute__机制介绍
1. __attribute__GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)__attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__a转载 2013-05-01 15:45:55 · 804 阅读 · 0 评论 -
illegal instruction非法指令的解决思路
我移植x264到开发板上,arm linux系统。移植好后将库都拷贝到nfs文件系统上,可是执行后出现illegal instruction的错误。可能是x264配置问题,我的x264开始的编译配置是./configure --host=arm-none-linux-gnueabi --cross-prefix=arm-linux- --prefix=/opt/x264-arm -原创 2013-05-03 15:05:57 · 27680 阅读 · 0 评论 -
arm移植x264 ffmpeg配置
移植x264配置./configure --host=arm-none-linux-gnueabi --cross-prefix=arm-linux- --prefix=/opt/x264-arm --enable-shared --extra-cflags="-march=armv6k -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft原创 2013-05-01 14:10:25 · 1159 阅读 · 0 评论 -
(4M+2)阶魔方阵算法
魔方阵是个很经典的数组排列算法,就是将nxn的自然数序列排为二维数组,其中行列斜上每个数字的和都等于同一个数,这就是魔方阵最基本的特性。魔方阵算法分为三种情况,分别是奇数阶、4K阶(K为任意自然数)、2n阶(n为任意奇数)。其中2n阶是最难计算的一种,今天,李木就分享一下它的算法。举个例子,3阶魔方阵如下:它的算法就不详细说明了,4阶魔方阵算法也是很简单的,转载 2013-05-23 22:38:51 · 3858 阅读 · 0 评论 -
GDB+GdbServer: ARM程序调试
内容摘要 远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用 GDB标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机程序转载 2013-05-03 18:53:41 · 1157 阅读 · 0 评论 -
Linux进程状态解析之R、S、D、T、Z、X
Linux进程状态解析之R、S、D、T、Z、XLinux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进转载 2013-08-13 10:33:47 · 2443 阅读 · 0 评论 -
单词索引表
读入一个英文的文档,然后建立一个单词引用索引表,也就是说,对于该文档中出现的所有单词,按照字母顺序进行排序,并且每个单词后面跟着它在文档中出现的行号。然后把这个索引表显示出来,同时保存在一个输出文件中。为了方便处理,假定文档长度不超过1000个字符,行数不超过20行,文档中的单词最长不超过20个字母。噪声单词,如“a, an, and, are, in, is, of, or, that, the原创 2013-08-14 19:32:03 · 3267 阅读 · 0 评论 -
ubuntu 12.04 tftp的安装与设置
为了方便配置,最好用root帐户安装tftp-hpa tftpd-hpa xinetdvimsudo apt-get install tftp-hpa tftpd-hpa xinetd在根目录下创建文件夹/tftpboot/root修改目录权限chmod -R 777 /tftpboot 修改tftp配置文件,如果没有就创建#gedit /转载 2013-04-29 10:29:38 · 673 阅读 · 0 评论 -
开发板 nfs /bin/sh Permission denied
制作好文件系统,用nfs加载后,将编译好的程序复制进去却不能执行,提示[root@Enjoylinux /]# ./hello -/bin/sh: ./hello: Permission denied是因为链接库的权限问题,所以只要chmod 755 lib/*给它执行的权限就好了。原创 2013-04-30 19:00:35 · 1393 阅读 · 0 评论 -
"mkimage" command not found
UIMAGE arch/arm/boot/uImage"mkimage" command not found - U-Boot images will not be built Image arch/arm/boot/uImage is readycp: 无法获取"arch/arm/boot/uImage" 的文件状态(stat): 没有那个文件或目录使用make uIma转载 2013-04-29 17:00:38 · 948 阅读 · 0 评论 -
将RGB图像数据压缩成jpg格式图片的代码实现
#include #define JPEG_QUALITY 100 //图片质量int savejpg(uchar *pdata, char *jpg_file, int width, int height){ //分别为RGB数据,要保存的jpg文件名,图片长宽 int depth = 3; JSAMPROW row_pointer[1];//指向一行图像数据的指针原创 2012-12-27 15:49:13 · 15861 阅读 · 5 评论 -
将rgb图像数据保存为BMP格式图片的方法
extern "C"{ #include #include #include }typedef long LONG;typedef unsigned long DWORD;typedef unsigned short WORD;typedef struct { WORD bfType; DWORD bfSize;原创 2012-12-27 15:38:49 · 23280 阅读 · 5 评论 -
YUV4:2:2转换成RGB的代码
int convert_yuv_to_rgb_pixel(int y, int u, int v){ uint pixel32 = 0; uchar *pixel = (uchar *)&pixel32; int r, g, b; r = y + (1.370705 * (v-128)); g = y - (0.698001 * (v-128)) - (0.337633 * (u-12原创 2012-12-27 16:15:46 · 5396 阅读 · 0 评论 -
linux基本的聊天软件代码实现
#include #include #include #include #include #include #include #include #include #include #include #define SERVER_PORT 8888#define MAX_STR_SIZE 1024void sendchat(){ int send_fd; str原创 2012-12-27 16:35:30 · 1022 阅读 · 0 评论 -
linux下挂载mtp设备(nexus7)
在Ubuntu挂载使用MTP设备步骤如下:1.将MTP设备连接至PC机2.如果是第一次使用MTP设备需要安装以下软件,否则可以跳过此步骤:$ sudo apt-get install mtpfs libfuse-dev libmad0-dev建立挂载点$ sudo mkdir /media/nexus7 修改权限$ sudo chmo原创 2012-12-27 17:19:57 · 6852 阅读 · 0 评论 -
linux和Qt下获取本机每个接口的ip地址
#include #include #include #include #include #include #include #define ERRORIP "cannot find host ip" char *ip_search(void) { int sfd, intr; struct ifreq buf[6];//最原创 2012-12-27 16:54:17 · 1421 阅读 · 0 评论 -
pppd拨号创建新的plugin定制自己的拨号软件
The idea of plugins is to provide a way for people to customize the behaviour of pppd without having to either apply local patches to each version or get their patches accepted into the standard distr原创 2012-12-28 11:16:02 · 3948 阅读 · 0 评论 -
linux和安卓上(ppp widget)使用3g网卡的方法
在usb 3G上网卡中,有许多都是使用的称为zeroCD的一种模式。就是在初始时,将3G上网卡,识别为一个CD设备。然后自动安装驱动,安装完成后。自动卸载。将3G网卡转换成串口模式。要想在linux和安卓上使用3g网卡,一个很重要的东西就是网卡的参数,最好先在windows上运行,获取那些参数再到linux上配置。我买的创景SEV959电信3g网卡,终端上输入lsusb,得到Bus原创 2012-12-27 22:16:19 · 10525 阅读 · 1 评论 -
yuyv_to_yv12
int yuyv_to_yv12(uchar *yuyv, uchar *yv12, uint width, uint height){ uchar *py; uchar *pu; uchar *pv; uint linesize = width * 2;//yuyv格式每行字节数为width*2 uint uvlinesize = width / 2;/原创 2013-01-16 19:08:20 · 1804 阅读 · 1 评论 -
yv12_to_rgb
#define CLIP(value) (uchar)(((value)>0xFF)?0xff:(((value)<0)?0:(value)))int yv12_to_rgb(uchar *yv12, uchar *rgb, uint width,uint height){ uchar *py; uchar *pu; uchar *pv;//此部分注释见另一篇yuyv原创 2013-01-16 19:22:52 · 2224 阅读 · 0 评论 -
linux上chrome、vlc等程序root不能运行的解决办法
chrome、vlc等程序使root用户无法使用的原理是:它获取程序的所有者,如果它是root用户,就让它不能运行。程序中用到的函数是geteuid()。geteuid就是get essensial user id,获取有效用户id。每一个用户都有一个id,root用户id为0,普通用户id为1000以上。知道原理后就可以得出解决办法了,就是将geteuid替换成getppid。getpp原创 2012-12-27 14:41:26 · 9270 阅读 · 2 评论 -
Relocations in generic ELF (EM: 40)
/usr/bin/ld: ./libdialcrypt.a(d3des.o): Relocations in generic ELF (EM: 40)./libdialcrypt.a: could not read symbols: File in wrong formatcollect2: error: ld returned 1 exit status解决方法:如果libd原创 2013-04-13 14:04:39 · 6329 阅读 · 0 评论 -
makefile编写
有时一个程序文件太多,编译不方便总出错时,就要编写makefile文件,事半功倍。什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在U原创 2013-04-13 14:43:56 · 654 阅读 · 0 评论 -
ubuntu root用户登录及解决没有声音的问题
一、修改成root登录:1、先设定一个root的密码,sudo passwd root2 、备份一下lightgdm,cp -p /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.bak3、 vi /etc/lightdm/lightdm.conf修改后为:[SeatDefaults]greeter-原创 2013-04-13 16:35:39 · 1074 阅读 · 0 评论 -
Linux下minicom的配置和使用方法
# lsmod | grep usbserial (如果直接使用串口线,而没有用到USB转串口设备,此步可以跳过) 如果有usbserial,说明系统支持USB转串口。 安装minicom (Fedora自带有minicom,此步可以跳过) apt-get install minicom apt-get install lrzsz配置minicom # mi转载 2013-04-29 10:34:40 · 798 阅读 · 0 评论 -
嵌入式Linux启动过程中的问题积累
嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number## Booting image at 33000000 ...Bad Magic NumberOMAP5912 OSK # (tftp下载好kernel的uImage后就停止在这,不能启动kernel) 问题原因:启动参数设置错误,0x30000000处不转载 2013-04-30 15:25:12 · 1102 阅读 · 0 评论 -
ubuntu nfs安装
mkdir /nfsmkdir /nfs/rootfsapt-get install nfs-kernel-server nfs-commongedit /etc/exports/nfs *(rw,no_root_squash,sync) /etc/init.d/nfs-kernel-server restartmount原创 2013-04-29 11:06:05 · 489 阅读 · 0 评论 -
群聊程序的linux代码实现
#include #include #include #include #include #include #include #include #define BUFLEN 255struct sockaddr_in addr,peeraddr;int sockfd;void * thr_send(void *arg){ char sendmsg[BUFLEN +原创 2013-10-20 10:59:58 · 1814 阅读 · 0 评论