- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 linux 处理键盘 鼠标事件
Linux下鼠标和键盘的模拟控制,也就是为手势和语音控制鼠标和键盘部分服务的。 有关于本系统构建的文章结构都会由三个部分来组织,一是该功能模块的介绍和在Linux下简单应用程序的实现;二是将该功能模块整合到交互系统(先以TLD为地基)中去;三是分析目前存在的问题与未来的解决构思。一、input子系统和模拟程序编写: Linux 输入子系统是 Lin
2014-05-22 13:32:35 9577
原创 做SDK A2版rootfs
1、 #make rebuild //SDK 在pub目录下会rootbox 这个就是根文件系统 把需要的库加载到rootbox/usr/lib/2、 修改启动参数: 修改 /etc/profile 文件 在后面添加 mount /dev/mtdblock10 /home/da
2013-06-07 18:37:49 750
原创 telnet 连接盒子 用demux 录码流
5.1.1 调试手段介绍DMX提供了如下调试命令。修改保存文件默认路径命令DMX调试命令的默认保存路径是“/hi”目录。通过下面命令可以将该目录修改为其他目录:echo 0 /xx/yy > /proc/msp/demux_main 如需要将目录修改保存目录修改为‘/mnt’目录,则命令如下:echo 0 /mnt > /proc/msp/demux_main
2013-06-05 16:23:13 1440
转载 线程处理函数pthread_cleanup_push / pthread_cleanup_pop
线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。 pthread_cleanup_push来注册清理函数rtn,这个函数有一个参数arg。在以下三种情形之一发生时,注册的清理函数被执行: 1)调用pthread_exit。 2)作为对取消线程请求(pth
2013-04-25 13:42:48 625
原创 linux 从窗口界面切换到纯字符界面[转]
2008-09-15 22:37linux 从窗口界面切换到纯字符界面[转]1.进入字符界面 为了在Linux启动时直接进入Console界面,我们可以编辑/etc/inittab文件。找到id:5: initdefault:这一行,将它改为id:3:initdefault:后重新启动系统即可。我们看到,简简单单地将5改为3,就能实现启动时进入 X-Window图形操作界面或Con
2013-01-12 09:25:56 822
原创 抓终端输出的打印
代码编译时,很多情况会出错,我们就需要把终端报错的打印抓下来。如:#make ipanel我们可以执行#make ipanel &> log执行完后,打印就输出到log文件里了。
2012-12-19 15:53:22 392
原创 移植zlib库
由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己手动临时把 gcc 修改成指向我们的交叉编译器 arm-linux-gcc 。执行如下命令:xgy@ubuntu:~/tmp$ cd /usr/binxgy@ubuntu:/usr/bin$ sudo –i //这里得切换到root用户下才能有权限做下面的操作。[sudo] password for x
2012-08-27 16:49:18 1283
原创 exit()函数详解
#########################################################################exit(int n)其实就是直接退出程序,因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的。一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就
2012-08-07 16:12:13 797
转载 C语言中有关string的函数详解
@函数名称: strdup 函数原型: char *strdup(const char *s) 函数功能: 字符串拷贝,目的空间由该函数分配 函数返回: 指向拷贝后的字符串指针 参数说明: src-待拷贝的源字符串 所属文件: #include #include #include int main() { char
2012-08-06 14:08:31 1358
转载 linux终端里CTRL-Z和CTRL-C的区别
提问:CTRL-Z和CTRL-C区别?回答:CTRL-Z和CTRL-C都是中断命令,但是他们的作用却不一样.CTRL-C是强制中断程序的执行,而CTRL-Z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.例如:当你vi一个文件是,如
2012-07-31 09:19:34 2143
转载 Linux 动态库剖析
库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linux 支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。图 1 展示了 Linux 中的库的层次结构。图 1. Linux 中的库层次结构
2012-07-30 15:48:06 1446
原创 C macros __LINE__, __FILE__ and __func__
It is possible for a C program to print the currently executing line of source code, the file of the source code, and the name of the current function. The currently executing line is available in a p
2012-07-28 10:08:17 2448
转载 【IPC通信】Posix消息队列的属性设置
Posix消息队列的属性使用如下结构存放:1struct mq_attr2{3 longmq_flags; /*阻塞标志位,0为非阻塞(O_NONBLOCK)*/4 longmq_maxmsg; /*队列所允许的最大消息条数
2012-07-23 15:59:00 2547
转载 Linux网络编程socket选项之SO_LINGER,SO_REUSEADDR
Linux网络编程中,socket的选项很多.其中几个比较重要的选项有:SO_LINGER(仅仅适用于TCP,SCTP), SO_REUSEADDR.SO_LINGER在默认情况下,当调用close关闭socke的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然后close才返回.SO_LI
2012-07-11 14:19:13 1420
转载 加入一个多播组(最简单的情况)
应用程序通过命令字IP_ADD_MEMBERSHIP把一个socket加入到一个多播组,IP_ADD_MEMBERSHIP是一个IP层的命令字,其调用使用的参数是结构体struct ip_mreq,其定义如下:struct ip_mreq{struct in_addr imr_multiaddr;struct in_addr imr_interface;};该结构体的两个成
2012-07-11 14:06:10 4320
转载 getsockname与getpeername
getsockname与getpeername是返回套接口关联的本地协议地址和远程协议地址。int getsockname(int sockfd, struct sockaddr * localaddr, socken_t * addrlen);int getpeername(int sockfd, struct sockaddr * peeraddr, socken_t * ad
2012-07-11 11:16:24 22469 2
原创 recv, recvfrom, recvmsg
recv,recvfrom,recvmsg函数用于从套接字接收信息。ssize_t recv (int s, void *buf, size_t len, int flags);ssize_t recvfrom (int s, void * restrict buf, size_t len, int flags,struct sockaddr * restrict from
2012-07-11 10:56:36 2000
原创 send/sendto/sendmsg函数解析
功能描述:发送消息。send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据被发送完。用法: #include #include ssize_t send(int sock
2012-07-11 10:49:33 779
转载 异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET使用说明
select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include #include select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include
2012-06-29 10:36:08 517
转载 ioctl函数(下)
本函数影响由fd参数引用的一个打开的文件。#includeint ioctl( int fd, int request, .../* void *arg */ );返回0:成功 -1:出错第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把和网络相关的请求划分为6类:套接口操作文件操作接口操作ARP高速缓存操作路由表操作
2012-06-27 17:35:55 465
转载 ioctl函数(上)
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、
2012-06-27 17:32:57 1811
转载 DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02
第一节、 技术开发环境中的社会环境 这篇文章迟迟没有写出来奉献给一些爱好音频视频开发的网友,是有很多原因的,TI在短时间内,针对高清音视频方案DM365/368,连续发布DVSDK3.0,DVSDK4.00,DVSDK4.01和DVSDK4.02,这点让我们很不适应。虽然我们的DM365/368核心板早已经出来,但是需要做开发板,并调试开发板,还有就是帮三个客户批量生产DM6446产品
2012-04-27 10:10:56 2346
原创 内核模块导出符号使用
/* 2 * 内核符号导出 给其他模块使用 使用前要申明一下 3 * 另外从 /proc/kallsyms 可以查看内核符号表的相关信息(eg.所在内存地址) 4 * eg. cat /proc/kallsyms | grep integar 5 */ 6 #include 7 #include 8 9 MODULE_LICENSE("
2012-02-12 23:09:44 565
原创 内核模块参数使用
1 /*模块加载时可以向内核传递参数 如果不传递就用默认(缺省)的参数*/ 2 /*用户向内核传递参数的方法 eg insmod param.ko name="wenhui" age=20*/ 3 #include 4 #include 5 6 MODULE_LICENSE("GPL"); 7 static char *name = "WENHUI";
2012-02-12 23:07:38 411
原创 Linux驱动Makefile 模板
PC机上的: 1.obj-m := hello.o 2.KERNELDIR := /lib/modules/$(shell uname -r)/build 3.default: 4. make -C $(KERNELDIR) M=$(shell pwd) modules 5.install: 6. insmod hello.ko
2012-02-12 22:57:48 2094
原创 内核模块多文件makefile
ifneq ($(KERNELRELEASE),)obj-m := mymodule.omymodule-objs := main.o add.oelseKDIR := /lib/modules/2.6.18-53.e15/buildall: make -C $(KDIR) M=
2011-09-08 16:38:39 678
原创 ARM-ELF文件格式与GNU ARM Linker机制
<br />这里所说的ARM系统基本文件格式,都是在基于ARM的嵌入式系统开发中常会碰到的文件格式。<br /> ARM系统基本文件格式有三种:<br />1) BIN,平板式二进制格式,一般用于直接烧写到Flash中,也可以用于加载到monitor程序中。<br />2) ELF,EXECUTABLE AND LINKABLE FORMAT,一种通用的OBJECT文件格式,一般由GNU COMPILER COLLECTION (GCC)产生。<br />3) AXF,BIN格式的扩展版,主体部分同B
2011-05-07 13:48:00 1122
原创 连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
文件1:crt0.s.text.global _start_start: ldr r0,=0x53000000 @WTCON mov r1,#0 str r1,[r0] @close watchdog ldr sp,=4096 bl mainhalt_loop: b halt_loop.end文件2:led_on_c.c#define GPBCON (*(volatile unsigned
2011-05-07 13:20:00 5322
原创 ARM的嵌入式Linux移植体验之设备驱动
<br />注明此是宋宝华老师写的<br /> <br />设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽硬件的细节,一般来说,Linux的设备驱动程序需要完成如下功能:<br /><br /> ·设备初始化、释放;<br /><br /> ·提供各类设备服务;<br /><br /> ·负责内核和设备之间的数据交换;<br /><br /> ·检测和处理设备工作过程中出现的错误。<br /><br /> Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函
2011-04-22 18:53:00 612
原创 移植2.6.30.4到s3c2440
<br />Linux移植<br />A. Linux内核源码目录结构:<br />a) arch 包含特定CPU体系结构的代码<br />b) drivers 包含硬件驱动代码<br />c) include 通用头文件及针对不同平台的特定头文件<br />d) init 内核初始化代码<br />e) ipc 进程间通信代
2011-04-22 18:49:00 478
原创 Mac地址全了解
<br />近来在网上经常见有人问起Mac地址的问题,那么究竟Mac地址是什么?在现行的网络中,扮演什么角色呢?下面我们就一同来探讨一下关于Mac地址的知识。 什么是Mac地址1 Mac地址就是在媒体接入层上使用的地址,通俗点说就是网卡的物理地址,现在的Mac地址一般都采用6字节48bit(在早期还有2字节16bit的Mac地址) 前24位由是生产厂家向IEEE申请的厂商地址(这可是要花钱的哦!据说1000美元才能买一个地址块)。后24位就由生产厂家自行定以了。(早期的2字节的却不用申请)
2011-04-16 10:54:00 2612
原创 Linux中常用的网络命令
<br />Linux下网卡命名规律:eth0,eth1。第一块以太网卡,第二块。lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位。它代表你的机器本身。 <br />1、ifconfig是查看网卡的信息 <br />ifconfig [Interface] <br /> Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息. <br />例如:ifconfig eth0 <br />eth0 Link encap:Etherne<br
2011-04-16 10:52:00 1848
原创 Linux行业招聘技术面试题
<br />一.填空题:<br />1. 在Linux系统中,以 文件 方式访问设备 。<br />2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。<br />3. Linux文件系统中每个文件用 i节点 来标识。<br />4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。<br />5. 链接分为: 硬链接 和 符号链接 。<br />6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。<br />7. 某文件的权限为:d
2011-04-16 10:50:00 950
条件接收系统CAS DVB-CAS
2012-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人