自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(323)
  • 资源 (2)
  • 收藏
  • 关注

原创 ubi以及ubifs

1、很多人在linux上面build的时候经常会遇到缺少liblzo.so之类的库文件,我记得的有在编译mplayer会出现这个错误,还有这次使用ubifs的时候也是。直接使用sudo apt-get install liblzo2-dev安装库文件。 2、ubifs2.1、什么是ubifs?由IBM、nokia工程师Thom

2010-03-17 22:30:00 7442 2

原创 probe的调用

probe的调用 最近看到linux的设备驱动模型,关于Kobject、Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞 s3c2410驱动时只要在mach-smdk

2010-03-17 16:34:00 3244

原创 vmware 的三种网络方式

很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正.   bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.   在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和hos

2010-03-17 14:19:00 1747 1

原创 Phony Targets

Phony TargetsPHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。例如:  clean:  rm *.o temp因为"rm"命令并不产生"clean"文件,则每次执行"make clean"的时候,该命

2010-03-16 12:47:00 1111

原创 tree命令

 #!/bin/shfind ./ -name "*" -o -name ".*" 2>/dev/null |sed -e s/^/.// |sed -n 2,$p | while read linedo  a=`echo $line |awk -F// {print NF}`  a=$((a-2))  i=1  case $a in  0) echo

2010-03-06 22:41:00 1115

转载 Marvell-linux研究-pxa-rtc.c源代码分析

Marvell-linux研究-pxa-rtc.c源代码分析 转载时请注明出处和作者联系方式作者联系方式:李先静  我对RTC感兴趣的原因有两个,一是如何把修改后的时间保存下来,下次开机后,修改后的时间仍然有效,这要把修改后的时间写入RTC的寄存器中去。二是如何实现关机响闹和定时开机,这也要设置RTC的ALARM寄存器。 这里我们分析一下pxa-rtc.c的源代码

2009-11-19 15:35:00 1698

原创 Linux shell 编程

一、用户登陆进入系统后的系统环境变量: $HOME 使用者自己的目录 $PATH 执行命令时所搜寻的目录 $TZ 时区 $MAILCHECK 每隔多少秒检查是否有新的信件 $PS1 在命令列时的提示号 $PS2 当命令尚未打完时,Shell 要求再输入时的提示号 $MANPATH man 指令的搜寻路径 二、特殊变量: $0 这个程序的执行名字 $n 这个程序的第n个参数值,n=1..9 $* 这

2009-09-27 11:04:00 1865

原创 windows下android 开发环境建立

windows下android 开发环境建立 按照android开发包下载(http://blog.csdn.net/DragonCheng/archive/2009/04/23/4083143.aspx)中下载如下几个开发包:android-sdk-windows-1.1_r1.zipeclipse-java-europa-winter-win32.zipjdk-6u13

2009-09-23 00:12:00 4914 2

原创 如何在linux/unix中设置线程的优先级

在linux下我们可以通过int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了int pthread_attr_

2009-09-22 15:36:00 1538

原创 LINUX 线程函数大全

LINUX 线程函数大全线程创建一个缺省的线程缺省的线程的属性:l         非绑定l         未分离l         一个缺省大小的堆栈l         具有和父线程一样的优先级 用 phread_attr_init() 创建一个缺省的属性对象,用属性对象创建一个线程 pthread_create(3T) int p

2009-09-22 15:35:00 5615

原创 sed

1. Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反

2009-08-27 19:57:00 776

原创 共享内存—内存映射mmap

 共享内存—内存映射mmap 共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空 间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程可以直接读

2009-08-20 19:08:00 3065 1

原创 pthread_join函数及linux线程

pthread_join函数及linux线程pthread_join使一个线程等待另一个线程结束。代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。所有线程都有一个线程号,也就

2009-08-19 19:56:00 2457

原创 内核同步机制-信号量

内核同步机制-信号量目录 [隐藏]1 信号量1.1 通用信号量1.2 互斥锁1.3 读/写信号量信号量通用信号量用户类进程之间使用信号量(semaphore)进行同步,内核线程之间也使用了信号量。信号量与自旋锁类似,保护临界区代码。但信号量与自旋锁有一定的区别,信号量在无法得到资源时,内

2009-08-13 13:10:00 8002

原创 shell中常用的特殊符号

在shell中常用的特殊符号罗列如下:# ;    ;;       .       ,        /        /        string|        !    $    ${}    $?       $$    $*        "string"*      **    ?       :        ^       $#    $@        `comm

2009-08-06 18:01:00 3325

原创 SED 脚本语法

SED单行脚本快速参考 -------------------------------------------------------------------------SED单行脚本快速参考(Unix 流编辑器) 英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)原标题:HANDY ONE-LINERS FO

2009-08-04 19:30:00 4679 1

原创 Linux 系统内核的调试

Linux 系统内核的调试Linux 系统内核的调试调试是软件开发过程中一个必不可少的环节,在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题。但是,Linux 系统的开发者出于保证内核代码正确性的考虑,不愿意在 Linux 内核源代码树中加入一个调试器。他们认为内核中的调试器会误导开发者,从而引入不良的修正[1].所以对 Linux 内核进行调试一直是个令内

2009-08-01 23:36:00 1420

原创 valgrind使用手册

valgrind使用手册(1)用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以

2009-07-31 16:29:00 13342 5

原创 S3C2410 ARM板上gdb +gdbserver调试

S3C2410 ARM板上gdb +gdbserver调试    远程调试环境由宿主机gdb和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。               就目前而言,嵌入式Linux系

2009-07-31 15:41:00 2807

原创 sed 用法及实例

  1.       打印:p[root@TestAs4 chap04]# cat datafile               原文件northwest       NW      Charles Main            3.0     .98     3       34western         WE      Sharon Gray   

2009-07-31 09:25:00 32613 4

原创 awk 用法

awk 用法:awk  pattern {action}   变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1、awk /101/              

2009-07-31 09:16:00 2125 1

原创 shell判断文件,目录是否存在或者具有权限

  shell判断文件,目录是否存在或者具有权限  #!/bin/shmyPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限if [ ! -x "$myPath"]; thenmkdir

2009-07-25 14:28:00 1490

原创 shell:date 常用方式

shell:date 常用方式在linux下获取时间字符串命令 date# 以yyyymmdd格式输出23天之前现在这个时刻的时间$ date +%Y%m%d –date=’23 days ago’$ date -uThu Sep 28 09:32:04 UTC 2006$ date -RThu, 28 Sep 2006 17:32:28 +0800# 测试十亿分之

2009-07-24 23:54:00 3342

原创 Linux 多线程编程入门--线程函数解释

创建线程:int pthread_create(pthread_t *restrict thread,           const pthread_attr_t *restrict attr,           void *(*start_routine)(void*), void *restrict arg);参数:      thread输出线程id     attr

2009-07-24 21:19:00 3169 1

原创 Makefile稳步攻略-单文件automake深入

Makefile稳步攻略-单文件automake深入         在文章《Makefile稳步攻略(一)-单文件automake初步》里,通过一个单文件代码实践了通过automake生成makefile的详细过程。本文将详细分析具体过程中具体命令及具体操作的详细含义。         注:本文非原创,由网络相关文档及linux系统

2009-07-23 19:56:00 3144 1

原创 Linux设备模型之input子系统详解

一:前言 在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,在终端系统中,我们不需要去管有多少个键盘,多少个鼠标。它只要从input子系统中去取对应的事件(按键,鼠标移位等)就可以了。今天就对input子系统做一个详尽的分析. 下面的代码是基于linu

2009-07-22 16:23:00 3912 3

原创 Linux内核的同步机制

一、引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量(rw_sem

2009-07-21 19:20:00 1629

原创 Linux命令行Find小技巧

本文简介:find 的另一个应用是搜索属于某个给定用户的文件,因此为了搜索我的系统中所有属于我的文件,我使用以下命令:find / -user nickg命令行一直是Linux用户用来解决问题的首要选择。当需要做某件事时,你只要想好如何去做,从那时起你就知道该如何做了。    不过很少有人花些时间系统地了解处理工具在处理过程中的输入和输出。因此对于最基本实用工具的功能可能并

2009-07-21 16:52:00 1019

原创 Linux系统下遥控器的配置与使用方法

你有没有想象过能够坐在沙发上,或者躺在床上,拿着遥控器像操作电视一样来操作电脑?可能你已经见到过市场上出现的那种电脑遥控器,不过它们都是基于windows下的。其实,通过一定的配置,在linux平台上,即使使用一般的遥控器,我们也可以完成对电脑的要控操作。linux下遥控器的配置使用主要涉及到Linux的红外驱动程序。LIRC (Linux Infrared Remoter Control

2009-07-21 09:14:00 4161

原创 Linux下的用户、进程的调配与查看

本节中要介绍的不只是进程查看方面的内容,由于Linux是个多用户系统,有时候也要了解其他用户现在在干什么,所以在本节中还将接触多用户方面的内容。同时Linux是一个多进程系统,经常需要对这些进程进行一些调配和管理;而要进行管理,首先就要知道现在的进程情况:究竟有哪些进程?进程情况如何?等等。所以需要进程查看方面的工作。who命令该命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果

2009-07-20 12:21:00 2125

原创 jffs2 文件系统 (1)

 jffs2 文件系统 (1)1.引言下面就在linux-2.4.x内核

2009-07-20 08:43:00 1937 1

原创 Linux 创建多进程 & 线程时的进程栈段处理

 最近有日子没写博客了,这段时间有点事忙活一阵子,好在已经接近尾声。也该轮到投些时间好好研究下真刀真枪的东西,干些有意义的事。这两天抽时间继续往下看了看 Linux 内核和 Unix 编程的书,边看边琢磨,想到个关于进程在 fork 子进程或 pthread 出 lwp 时父亲进程的栈段是如何处理的问题,结合 Linux 内核的说明对这个问题有了明确的理解,在此做个笔记。大家也一起研究、分享下

2009-07-18 22:42:00 1993 2

转载 GNU C的__attribute__机制

 GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attr

2009-07-17 22:12:00 934

原创 unix的AWK命令介绍

unix的AWK命令介绍    awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息调用awk:   第一种,命令行方式,如:awk [-F field-separator] commands input-file(s)         这里commands是真正的awk命

2009-07-14 17:28:00 6625

原创 VMware网络配置详解

VMware网络配置详解一:三种网络模式简介安装好虚拟机以后,在网络连接里面可以看到多了两块网卡:其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍。 选择虚拟机网络模式方法如下,单击“Edit virtual machine settings”,如图所示: 然后在“Hardware”选项卡中选择“Ethernet”,在左边“Netwo

2009-07-14 16:52:00 1042

原创 缓冲区溢出原理学习

缓冲区溢出原理学习什么是缓冲区溢出?    缓冲区,简单说来是一块连续的计算机内存区域, 可以保存相同数据类型的多个实例。动态变量在程序运行时定位于堆栈之中。 我们这里只关心动态缓冲区的溢出问题, 即基于堆栈的缓冲区溢出。 进程的内存组织形式    一个进程在内存中被分成三个区域: 文本, 数据和堆栈。    

2009-07-14 15:51:00 2384

原创 关于gcc扩展中的宏定义中用 "#" 和 "##"

关于gcc扩展中的宏定义中用 "#" 和 "##"今天测试了宏定义中的 "#" 和 "##" 的区别。结果如下:"#" 代表和一个字符串相连接"##" 代表和一个符号连接,符号可以是变量,或另一个宏符号。举例如下:宏定义如下(1)#define DEV_FILE_NAME    "/dev/test_kft"#define OPEN_

2009-07-13 19:30:00 3330

原创 unix信号的问题

早期unix信号的问题1. 信号可能会丢失:信号发生了进程却不知道2. 信号控制力弱:比如有时用户希望通知内核阻塞信号(不要忽略该信号,而是在其发生时记住它,然后在进程作好了准备时再恢复之)这种阻塞信号的能力当时并不具备。3. 信号被抓获的时候,信号处理程序会被重置为DFL。4. 慢性系统调用被中断时,必须手工重启之。下面的代码便是个例子:again:    if ( (n =

2009-07-10 13:49:00 817

原创 中断处理

Linux设备驱动程序学习(11)-中断处理可以让设备在产生某个事件时通知处理器的方法就是中断。一个“中断”仅是一个信号,当硬件需要获得处理器对它的关注时,就可以发送这个信号。 Linux 处理中断的方式非常类似在用户空间处理信号的方式。 大多数情况下,一个驱动只需要为它的设备的中断注册一个处理例程,并当中断到来时进行正确的处理。本质上来讲,

2009-07-08 19:11:00 2177

原创 编译BusyBox制作文系统

【原】编译BusyBox制作文系统 一、环境Ubuntu 8.04arm-linux-gcc 3.4.5busybox-1.1.3二、busybox制作文件系统  1、下载busybox1.1.3(http://www.busybox.net/)并解压。  2、进入解压后的目录,配置Busybox  #make menuconfig  Busybox Settings >

2009-07-08 12:57:00 2627

Linux系统移植.pdf

Linux系统移植的详细描述, 请参阅Linux系统移植

2009-09-20

FlashLight(Android)

FlashLight 是一个小型的android应用程序

2009-09-20

空空如也

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

TA关注的人

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