
嵌入式linux
文章平均质量分 69
zhao
多做点笔记,多复习
展开
-
嵌入式linuxC函数整理
为便于以后的查阅与复习本文整理了嵌入式linux C中用到的多数函数,包括以下9个大类: 内存管理 字符串处理 时间函数 随机函数 文件IO函数 标准IO函数 格式化输入输出和错误处理函数 文件和目录函数进程相关函数一:内存管理函数 1相关函数:malloc 头文件:#include 函原创 2012-12-15 16:22:22 · 796 阅读 · 0 评论 -
S3C6410端口配置S3C64XX_GPL_OUTPUT(x)
以前没怎么注意,今天测试个驱动发现s3c_gpio_cfgpin(S3C64XX_GPL(13), S3C64XX_GPL_OUTPUT(13));没用,怎么回事啊,查源码#define S3C64XX_GPL_OUTPUT(__gpio) (0x1 怎么感觉怪怪的啊,GPL端口的配置是占四位的啊,别人占两位*2说的通他应该不行吧,于是#define S3C64XX_GPL原创 2013-08-19 19:41:51 · 892 阅读 · 0 评论 -
安装QT集成开发环境
上一篇文章已讲到了QT在三种不同硬件平台上的安装,为了更方便的使用,这里我们安装QT的集成开发环境!@ 准备QT的集成开发环境qt-creator-linux-x86-opensource-1.3.1.bin 进入该文件所在目录./ qt-creator-linux-x86-opensource-1.3.1.bin开始安装,安装过程中一直点next,安装结束点击finish。桌原创 2013-08-22 10:15:39 · 768 阅读 · 0 评论 -
利用uboot传递参数进行内核的不同配置
如果一个硬件有不同的驱动支持,那么每次还得重新编译内核才能重新加载驱动吗?内核提供了一种很方便的机制,可以让我们通过uboot的命令参数来传递,调用不同的内核驱动。 __setup("xxx=", xxx_setup);以内核下的文件Fbmem.c为例!/** * fb_get_options - get kernel boot parameters * @name: fram原创 2013-08-23 17:16:41 · 848 阅读 · 0 评论 -
V4L2编程实例
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REQ_BUF_NUM 4 //申请的缓冲区个数,最多5个,缓冲区太少可能会导致图像有间断unsi原创 2013-08-27 16:22:30 · 1459 阅读 · 0 评论 -
Ubuntu下eclipse安装
安装好eclipse后启动,按照提示得出如下信息SESSION 2013-08-27 13:27:15.659 -----------------------------------------------eclipse.buildId=I20110613-1736java.version=1.7.0_25java.vendor=Oracle CorporationBootLoader原创 2013-08-27 13:42:51 · 793 阅读 · 0 评论 -
编译QTmake:arm-linux-g++:Command not found
编译QT时按开发板的说明手册执行老是出现make:arm-linux-g++:Command not found,可是我明明是安了的单独执行tab 键arm-linux-g+会出现arm-linux-g++,到底是什么问题呢?可能是识别不了环境变量吧。于是编辑/usr/local/Trolltech/QtEmbedded-4.7.3-arm/mkspecs/qws/linux-arm-g++/qm原创 2013-08-18 17:54:49 · 3615 阅读 · 0 评论 -
Redhat6.0,ubuntu下安装QT及qvfb
最近几天安装QT出现了一系列的问题,最终依靠强大的网络得以解决,有需要的可以参考! QT为适应不同的平台开发了众多的安装包,ftp://ftp.qt.nokia.com/qt/source/我们选取qt-everywhere-opensource-src-4.7.3.tar.gz,该包可支持不同的硬件平台,只需在配置时添加不同的命令参数即可! 为了适应嵌入式的开发我们需要安装三个包,原创 2013-08-22 09:57:52 · 1633 阅读 · 0 评论 -
linux开发板截图程序
今天因为工作需要,要截取开发板屏幕上面的图片,在网上找了几个可能是由于个人操作原因,都失败了,没办法自己想想吧,其实很简单,就是让屏幕显示的逆操作!/* * CAMIF test * * bushi@mizi.com * * $Id: cam2fb.c,v 1.1.1.1 2004/01/20 10:29:10 laputa Exp $ * */#include #inc原创 2013-11-09 11:51:17 · 1878 阅读 · 2 评论 -
使用ts_calibrate校准触摸屏
原文地址:点击打开链接使用ts_lib包自带的ts_calibrate校准触摸屏非常简单实用,但在基于Xsever的GUI应用环境下,有两个问题存在: 1.校准后必须重新启动X,应用端才能生效。这样处理用户肯定不能接受,因为启动一次机器毕竟耗时。 2.在使用ts_calibrate校准触摸屏时,要触摸5个点,这时如果GUI应用端在运行其他响应触摸事件(鼠标事件)的程序就会出现错乱。转载 2014-01-02 10:45:20 · 6016 阅读 · 0 评论 -
history
History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。1>History命令语法: [test@linux]# history [n][test@linux]# history [-c][test@linux]# history [-raw] histfiles参数:n :数字,要列出最近的 n 笔命令列表-c :将目前的shell中的所有 h转载 2014-02-24 17:35:43 · 513 阅读 · 0 评论 -
real6410调试串口作为普通串口使用
#include #include #include #include #include #include #include #include int main(void){ int fp,err; unsigned char buff[20]; unsigned char send_buff[20]; struct termios options; printf("原创 2014-02-14 14:42:51 · 1069 阅读 · 0 评论 -
system/build.prop
大家如果想改的话可以直接用RE管理器修改sysytem-build.prop,长按build.prop使用文本编辑器打开来修改 ro.build.version.release=4.04 android版本修改4.04改为4.12 想改为5.0,6.0都可以 ro.build.date=三 12月 15 20:41:26 CST 2012 时区时间CST可以代表4个时区,这个百转载 2014-04-03 17:49:59 · 1165 阅读 · 0 评论 -
Android签名
文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限。signapk.jar:由/platform/build/tools/signapk/编译产出,可以在/out/host/linux-x86/framework/中找到。签名:java -jar转载 2014-04-04 17:20:10 · 534 阅读 · 0 评论 -
linux内核返回错误参数
一直都想找一份linux内核返回错误参数的文档,但是太笨了,都没想起来去内核代码中看看,丢人啊!#ifndef _ASM_GENERIC_ERRNO_BASE_H#define _ASM_GENERIC_ERRNO_BASE_H#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file原创 2013-05-11 10:11:55 · 926 阅读 · 0 评论 -
__builtin_constant_p()
Gcc的内建函数 __builtin_constant_p 用于判断一个值是否为编译时常数,如果参数EXP 的值是常数,函数返回 1,否则返回 0。例如:++++ include/asm-i386/bitops.h249: #define test_bit(nr,addr) /250: (__builtin_constant_p(nr) ? /251: consta转载 2013-05-03 11:06:35 · 649 阅读 · 0 评论 -
ubuntu10.0.4下设置PS1
使用ubuntu有一段时间了,总是为它登陆终端时的摸样心烦,尝试着修改了一下,就简洁多了。这里简单写一下: 与登陆时PS1配置相关的文件有三个: 1、/ect/profile 从其中可以看出PS1是 在/etc/bash.bashrc中设置的,这也就是我们所说的第二个文件 2、/etc/bash原创 2012-11-29 16:26:08 · 476 阅读 · 0 评论 -
ubuntu 10.04下的配置tftp服务器
原文地址:http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html第1步:安装tftp所需的软件。首先需要安装tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装tftp-hpa和tftpd-hpa。然后还需要安转载 2013-01-07 11:04:48 · 303 阅读 · 0 评论 -
Linux下 tar.xz格式文件的解压方法
原文地址http://blog.youkuaiyun.com/silvervi/article/details/6325698在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。 相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpi转载 2013-03-14 08:11:07 · 1009 阅读 · 0 评论 -
ubuntu设置为静态ip无法上网
为与开发板连接的便利,将ubuntu的ip设置为静态,主要是DNS设置的问题,解决办法有一下两个:1sudo vim /etc/network/interfaces 配置静态ipauto eth0iface eth0 inet static address 192.168.1.155 netmask 255.255.255.0 gateway 192.168原创 2013-03-14 09:10:06 · 1203 阅读 · 0 评论 -
如何 make menuconfig 和 make xconfig
在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过 make menuconfig 或 make xconfig 配置内核参数--------------------------------------------------------------参考apt用法参考 《 UbuntuHelp:AptGet/How转载 2013-03-13 22:37:55 · 1378 阅读 · 0 评论 -
mkinitrd 与 mkinitramfs
在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkintramfs.它们的用法稍微有些不一样,如下所示:mkinitrd /boot/initrd.img 2.6.26mkintramfs 2.6.26 -o /boot/initrd.img转载 2013-03-14 10:41:31 · 1545 阅读 · 0 评论 -
linux内核内存分配
1 kmalloc和 vmalloc 都是以字节为单位分配内存 kmalloc分配的内存都是位于3GB~high memory之间,这段内核空间与物理内存一一映射,即差为一固定值,vmalloc 分配的内存空间在VMALLOC_START~4GB之间,虚拟地址上连续物理地址上不一定连续. 一般情况下,只有硬件设备才需要物理地址连续的内存,因为硬件设备往往存在于MMU之外,不原创 2013-03-30 18:02:16 · 1097 阅读 · 0 评论 -
linux内核链表操作
与linux链表有关的操作定义在linux/list.h链表头:struct list_head { struct list_head *next, *prev;};该结构体为链接结构中的成员,这样将链表的指针域与链表的数据域分开链表头的初始化1.#define LIST_HEAD_INIT(name) { &(name), &(name) }#define LIST_HE原创 2013-03-30 20:52:36 · 634 阅读 · 0 评论 -
C语言中的typeof关键字
原文地址http://bbs.chinaunix.net/thread-3595195-1-1.html另一种引用一个表达式类型的方法就是使用typeof,使用这个关键字的语法看上去有点像使用sizeof,但从本质上讲,它更像是使用typedef定义一个类型名称。可以使用表达式或是一个类型名来引用类型。比如下面是一个使用表达式的例子:typeof (x[0](1转载 2013-03-30 21:18:11 · 3256 阅读 · 0 评论 -
linux内核定时器
linux/timer.h头文件中定义了timer_list来描述一个内核定时器struct timer_list { /* * All fields that change during normal runtime grouped to the * same cacheline */ struct list_head entry;//双向链表元素,用于将多个定时器连接成一条双向原创 2013-03-31 09:35:12 · 849 阅读 · 0 评论 -
设备驱动的ioctl函数
驱动程序中除了需要具备读写的能力外,还需具备对硬件的控制能力。在用户空间使用ioctl来控制设备,其原型如下int ioctl(int fd,usnigned long cmd...)ioctl 驱动实现方法int (*ioctl)(struct inode *inode,struct file *filp,unsigned int cmd,unsigned long arg);原创 2013-04-26 15:38:57 · 1249 阅读 · 0 评论 -
typedef的使用
一般书籍上关于type得分的描述,都不怎么全面,仅知道typedef是为变量命名别名。于是,下面的一些命名也是便于理解的。typedef int my_int;my_int iint; // 定义一个int型变量typedef char* c_point;c_point my_point; //定义一个char*指针但是遇到类似于typedef char *p 貌原创 2013-04-19 12:38:24 · 717 阅读 · 0 评论 -
网络设备模板
网络设备与媒介层/* 寄存器定义 */#define DATA_REG 0x0004#define CMD_REG 0x0008 /* 寄存器读写函数*/static u16 xxx_readword(u32 base_addr,int portno){ /* 读寄存器的值并返回 */}static void xxx_writeword(u32 base_addr原创 2013-05-02 23:32:24 · 806 阅读 · 0 评论 -
Linux内核同步机制之completion
原文地址点击打开链接在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。[cpp] view plaincopy这个变量可以静态地声明和初始化: DECLARE转载 2014-06-10 11:47:10 · 652 阅读 · 0 评论