自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 查看盒子状态

ctrl + z  暂停盒子查看播放器状态:

2014-06-11 18:16:45 843

原创 linux 处理键盘 鼠标事件

Linux下鼠标和键盘的模拟控制,也就是为手势和语音控制鼠标和键盘部分服务的。       有关于本系统构建的文章结构都会由三个部分来组织,一是该功能模块的介绍和在Linux下简单应用程序的实现;二是将该功能模块整合到交互系统(先以TLD为地基)中去;三是分析目前存在的问题与未来的解决构思。一、input子系统和模拟程序编写:        Linux 输入子系统是 Lin

2014-05-22 13:32:35 9562

原创 做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 741

原创 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 1425

转载 线程处理函数pthread_cleanup_push / pthread_cleanup_pop

线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。    pthread_cleanup_push来注册清理函数rtn,这个函数有一个参数arg。在以下三种情形之一发生时,注册的清理函数被执行:    1)调用pthread_exit。    2)作为对取消线程请求(pth

2013-04-25 13:42:48 617

原创 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 812

原创 抓终端输出的打印

代码编译时,很多情况会出错,我们就需要把终端报错的打印抓下来。如:#make ipanel我们可以执行#make ipanel  &> log执行完后,打印就输出到log文件里了。

2012-12-19 15:53:22 385

转载 MiniGUI 体系结构

http://blog.csdn.net/egxsun/article/details/1199520

2012-09-21 14:09:40 476

原创 移植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 1236

原创 linux当执行程序时,其main函数是如何被调用的

在调用main前先调用一个特殊的启动例程。

2012-08-11 10:48:41 637

原创 exit()函数详解

#########################################################################exit(int n)其实就是直接退出程序,因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的。一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就

2012-08-07 16:12:13 786

转载 Linux命令整理

来自:http://blog.csdn.net/sikinzen/article/details/5503769

2012-08-06 14:11:49 326

转载 C语言中有关string的函数详解

@函数名称:   strdup 函数原型:   char *strdup(const char *s) 函数功能:   字符串拷贝,目的空间由该函数分配  函数返回:   指向拷贝后的字符串指针 参数说明:   src-待拷贝的源字符串 所属文件:   #include #include #include int main() {   char

2012-08-06 14:08:31 1352

转载 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 2135

转载 Linux 动态库剖析

库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linux 支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。图 1 展示了 Linux 中的库的层次结构。图 1. Linux 中的库层次结构

2012-07-30 15:48:06 1439

原创 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 2437

转载 【IPC通信】Posix消息队列的属性设置

Posix消息队列的属性使用如下结构存放:1struct mq_attr2{3    longmq_flags; /*阻塞标志位,0为非阻塞(O_NONBLOCK)*/4    longmq_maxmsg; /*队列所允许的最大消息条数

2012-07-23 15:59:00 2539

转载 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 1407

转载 加入一个多播组(最简单的情况)

应用程序通过命令字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 4305

转载 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 22434 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 1989

原创 send/sendto/sendmsg函数解析

功能描述:发送消息。send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据被发送完。用法: #include #include ssize_t send(int sock

2012-07-11 10:49:33 775

转载 异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET使用说明

select函数:             系统提供select函数来实现多路复用输入/输出模型。原型:           #include              #include          select函数:             系统提供select函数来实现多路复用输入/输出模型。原型:           #include

2012-06-29 10:36:08 512

转载 ioctl函数(下)

本函数影响由fd参数引用的一个打开的文件。#includeint ioctl( int fd, int request, .../* void *arg */ );返回0:成功    -1:出错第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把和网络相关的请求划分为6类:套接口操作文件操作接口操作ARP高速缓存操作路由表操作

2012-06-27 17:35:55 454

转载 ioctl函数(上)

我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、

2012-06-27 17:32:57 1808

转载 write调用的过程和实现

http://www.linuxforum.net/doc/write-coly.html

2012-06-27 17:27:28 813

转载 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 2340

原创 内核模块导出符号使用

/*  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 560

原创 内核模块参数使用

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 403

原创 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 2083

原创 内核模块多文件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 664

原创 苦啊

真的

2011-08-15 19:35:41 364

原创 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 1109

原创 连接时出错,(.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 5311

原创 ARM的嵌入式Linux移植体验之设备驱动

<br />注明此是宋宝华老师写的<br /> <br />设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽硬件的细节,一般来说,Linux的设备驱动程序需要完成如下功能:<br /><br />  ·设备初始化、释放;<br /><br />  ·提供各类设备服务;<br /><br />  ·负责内核和设备之间的数据交换;<br /><br />  ·检测和处理设备工作过程中出现的错误。<br /><br />  Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函

2011-04-22 18:53:00 608

原创 移植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 473

原创 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 2600

原创 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 1835

原创 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 944

条件接收系统CAS DVB-CAS

条件接收系统CAS(Conditional Access System)是付费数字电视广播的核心技术,其主要功能是阻止非法入侵数字广播网络,并允许被授权的用户收看特定的节目而使未被授权的用户无法收看。CAS的主要任务是阻止用户接收未被授权的节目和如何从用户处收费的问题,而在广播电视系统中,在发送端对节目进行加扰(Scrambling)、加密(Encryption),在接收端对用户进行寻址控制和授权解密、解扰是解决这个两个问题的基本途径。

2012-06-27

详解_C语言可变参数_va_list和_vsnprintf及printf_实现

C语言的变长参数在平时做开发时很少会在自己设计的接口中用到,但我们最常用的接口printf就是使用的变长参数接口,在感受到printf强大的魅力的同时,是否想挖据一下到底printf是如何实现的呢?这里我们一起来挖掘一下C语言变长参数的奥秘

2012-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除