摘要:
1,这两个概念都是简称,指针函数是指带指针的函数,即本质是一个函数。我们知道函数都又返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。其定义格式如下所示: 返回类型标识符 *返回名称(形式参数表) { 函数体 } 返 回类型可以是任何基本类型和复合类型。返回指针的函数的用途十分广泛。事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口地址,该 地址相当于一个指针。比如函数返回一个整型值,实际上也相当于返回一个指针变量的值,不过这时的变量是函数本身而已,而整个函数相当于一个“变量”。例如 下面一个返回指针函数的例子: 1 #include 2 ... 阅读全文
posted @ 2011-12-06 23:59
风行雪舞
阅读(488)
评论(0)
推荐(0)
摘要:
大凡刚刚接触C语言的人,最头疼的就是指针和链表了,别的变量里存放的都是“正而八经”的值,这指针呢,偏偏存的就是一地址,用起来还有声明和定义之别, 声明是有“*”号的,赋其地址值,定义时是无“*”号方可赋地址值。由于可以直接给其赋内存地址,初学者稍有不慎,这指针便如群魔乱舞,使编译者错误迭 出。这时初学者不禁扼腕兴叹,要是没有指针多好!指针有什么用?然而指针被喻为C语言的精华,自有其必然之处,例如:1 void fun(int a)2 {3 a=20;4 }5 void main()6 {7 int a = 10;8 fun(a)9 }想让a变成20,若把a作为实参直接传进去经... 阅读全文
posted @ 2011-12-06 23:58
风行雪舞
阅读(391)
评论(0)
推荐(0)
摘要:
一. yum是什么yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 二. yum特点 *可以同时配置多个资源库(Repository) *简洁的配置文件(/etc/yum.conf *自动解决增加或删除rpm包时遇到的倚赖性问题 *使用方便 *保持与RPM数据库的一致性 三. yum安装 CentOS自带(yum-*.noarch.rpm) #rpm -ivh yum-*.noarch.rpm 四. yum指令 注:当第一次使用yum或yum资源库有更新时,yum会自 阅读全文
posted @ 2011-12-06 23:57
风行雪舞
阅读(233)
评论(0)
推荐(0)
摘要:
1、删除已经缓存的yum站点信息 # sudo yum clean all 2、安装fastestmirror,让yum自动找最快的源进行下载 # sudo yum -y install yum-fastestmirror 3、在修改/etc/yum.repos.d/*.repo文件, 每个文件的mirror×××××那行(一般是第5行)的最后面加上“&country=us”,即选择美国的服务器,因为美国的服务器最多,同 时速度基本上是最快的(可选,因为,我没有对比过) 经过这样的设置,我的yum速度从平均 6k/s - 20k/s 提 阅读全文
posted @ 2011-12-06 23:56
风行雪舞
阅读(219)
评论(0)
推荐(0)
摘要:
由于Fedora更新升级非常的频繁, 所以, 非常有必要清除陈旧的内核,方法如下:1. 查看当前系统中已安装的内核相关包:[root@knityster ~]# rpm -qa | grep kernelkernel-headers-2.6.32.12-115.fc12.i686kernel-firmware-2.6.32.12-115.fc12.noarchkernel-PAE-devel-2.6.32.11-99.fc12.i686kernel-devel-2.6.32.12-115.fc12.i686kernel-PAE-2.6.32.11-99.fc12.i686kernel-PAE- 阅读全文
posted @ 2011-12-06 23:55
风行雪舞
阅读(483)
评论(0)
推荐(0)
摘要:
有时候,我们必须不希望某些软件自动更新到最新版本。那么,如何防止yum自动更新apache,php,mysql等? 方法: vi /etc/yum.conf 在[main]增加如下一行: exclude=bind-chroot apache* pure-ftpd* mod_ssl* spamassassin* httpd* ruby* proftpd* courier* php* mysql* exim* ctohome.com* nsd* dovecot* squirr elmail* 看到了吧,exclude里面的所有软件,都不会被yum成最新版了。 比如,yum insta... 阅读全文
posted @ 2011-12-06 23:55
风行雪舞
阅读(300)
评论(0)
推荐(0)
摘要:
关闭Linux响铃1. 关闭shell中的响铃 整体关闭 vi /etc/inputrc 添加 set bell-style=none set bell-style none set bell-style off 关闭个人用户 vi ~/.inputrc 添加 set bell-style=none2. 关闭vi和vim中的响铃 vi /etc/vimrc vi /etc/virc 打开上面这两个文件后添加 set vb t_vb=在X Window系统下,可以使用xset 命令为之,命令如下: xset b off (输入xset 回车后得到xset命令的选项)在linux中控... 阅读全文
posted @ 2011-12-06 23:54
风行雪舞
阅读(417)
评论(0)
推荐(0)
摘要:
在windows 下几乎所有的应用软件都提供了安装程序,如setup.exe、install.exe,大家只要双击然后一路“下一步”就行了,但是在linux 下很少有软件是通过这种方式安装的,因为linux 下的应用软件多是源码包方式,需要用户手工编译安装,在本章向大家讲解如何在linux 安装软件,另外在fedora 中大家也会发现提供了一个“添加/删除软件”的功能,但是只能联网使用。1_ ?*x T ~ E b-VT3} } L D Y I/W P W 1 具有安装程序软件的安装 前面说了,linux 软件很少有像windows 软件那样双击exe然后一路“下一步”,但并不是没有,如优.. 阅读全文
posted @ 2011-12-06 23:54
风行雪舞
阅读(728)
评论(0)
推荐(0)
摘要:
月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。我的这个朋友把这篇文章取名叫Build Your ProgrammingTechni 阅读全文
posted @ 2011-12-06 23:53
风行雪舞
阅读(208)
评论(0)
推荐(0)
摘要:
用虚拟机玩游戏的方法!! 开3D加速!用虚拟机玩游戏的方法!! 开3D加速! 曾经用过一些不同虚拟机结果大多都不支持3D驱动,所以导致虚拟机是不能够玩游戏的! 今天给大家带来的是用虚拟机玩游戏的方法!! 虚拟机软件:VMWare虚拟机,版本最好是在5.5以上 硬件要求, CPU2.4以上,内存在512以上,512的朋友可以试试 比这个低配置的朋友就不要浪费时间了! 最好显卡是128以上的,本人的是256的显卡 虚拟机安装的系统可以是2000和XP,98好像开3D有问题,就酸把Direct X9.0装上也好像不行 所以建议用2000或XP 然后找到你虚拟机的扩展名为 .vmx的文件 (什么,找不 阅读全文
posted @ 2011-12-06 23:52
风行雪舞
阅读(4672)
评论(0)
推荐(0)
摘要:
今天自己在开发板上移植了boa服务器。参考资料是李驹光、郑耿大侠在恒颐论坛上的帖子。李大侠写的好,我没有费什么力气就搞定了,:-)。步骤如下:1.从http://www.boa.org/下载Boa源码,将其解压并进入源码目录的src子目录# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src2.生成Makefile文件# ./configure修改Makefile文件,a.找到CC=gcc,将其改成CC = arm-linux-gcc,b.找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,保存退出。3.运行make 阅读全文
posted @ 2011-12-06 23:51
风行雪舞
阅读(765)
评论(0)
推荐(0)
摘要:
编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。 yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。 一开始make 错误1: debian:/home/a/boa-0.94.13/src# make yacc -d boa_grammar.y make: yacc: Command not found make: *** [y.tab.c] Error 127 解决方法: debian:/... 阅读全文
posted @ 2011-12-06 23:50
风行雪舞
阅读(269)
评论(0)
推荐(0)
摘要:
strstr函数2008年08月02日 星期六 10:30函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:#include <stdio.h> #include <string.h>int main(void) { char string[10]; char *str1 = "abcdefghi 阅读全文
posted @ 2011-12-06 23:49
风行雪舞
阅读(230)
评论(0)
推荐(0)
摘要:
要修改arm开发板的IP,如果是yaffs2文件,可以1、首先要修改/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0下添加一行/sbin/ifconfig eth0 192.168.1.20 up注:192.168.1.20 只是举例,可以改成你想要修改的IP地址本来这样修改之后就可以的,但是我发现仍然不行,使用ifconfig命令,发现开发板IP地址没有被更改过来。后来无心插柳,发现还需要修改另一处2、修改/etc/eth0-setting将其IP地址改成你想要设置的IP重启开发板,使用ifconfig命令,就发现IP地址已经修改过来了。 阅读全文
posted @ 2011-12-06 23:31
风行雪舞
阅读(1856)
评论(0)
推荐(0)
摘要:
目前正在研究SmartArm3250的Linux驱动方面,所以首先就要在开发板上安装(也可以称为下载)Linux系统,按照书上的步骤,遇到一些小问题,通过多次试验和总结,现在可以熟练的安装Linux系统了,总结一下,其中包含个人的见解和自己找到的资料。首先,介绍一下安装Linux的大致步骤。开发板就像一个裸机一样,什么都没有(当然有硬件),首先要安装一个类似于电脑中BIOS一样的东西,还 有一个引导操作系统的东西,然后就是装入内核镜像,不是.iso文件哦,是编译内核生成的一个东东,最后就是一个文件系统,类似于电脑中的各个分区,也可 以理解成光是C盘的各种东西,而与电脑中安装系统的不同之处在于, 阅读全文
posted @ 2011-12-06 23:30
风行雪舞
阅读(435)
评论(0)
推荐(0)
摘要:
用C语言编写cgi程序的话,多半会用到CGIC。 这是个非常流行的库,遇到文件上传之类的应用更是离不开它。官方页面及下载地址为:www.boutell.com/cgic/#obtain不少网站都有文件上传的功能,本文展示如何用CGIC库编写文件上传的服务端程序,最后给出一段简单的HTML代码,供大家测试使用 。下载: upload.c#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include&quo 阅读全文
posted @ 2011-12-06 23:29
风行雪舞
阅读(2958)
评论(0)
推荐(0)
摘要:
1功能说明strace命令是一种强大的工具,能够显示任何由用户空间程式发出的系统调用.strace显示这些调用的参数并返回符号形式的值.strace从内核接收信息,而且无需以任何特别的方式来构建内核.strace的每一行输出包括系统调用名称,然后是参数和返回值.下面记录几个常用option:-f-F选项告诉strace同时跟踪fork和vfork出来的进程-oxxx.txt输出到某个文档.-eexecve只记录execve这类系统调用. 2详细用法usage:strace[-dffhiqrtttTvVxx][-acolumn][-eexpr]...[-ofile][-ppid]...[-sst 阅读全文
posted @ 2011-12-06 23:27
风行雪舞
阅读(371)
评论(0)
推荐(0)
摘要:
如何获取Linux内核源代码如何获取Linux内核源代码下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。使用Git由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。你可以使用下 阅读全文
posted @ 2011-12-06 23:27
风行雪舞
阅读(4989)
评论(0)
推荐(0)
摘要:
1、execve系统调用用来执行参数filename字符串所代表的文件路径int execve(const char * filename,char * const argv[ ],char * const envp[ ]);2、brk & sbrk 系统调用库过程brk和sbrk用来调整数据段的上限3、access系统调用检查调用进程是否可以对指定的文件执行某种操作4、mmap系统调用void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 参数fd为即将映射到进程空间的文件描述字,一 阅读全文
posted @ 2011-12-06 23:26
风行雪舞
阅读(225)
评论(0)
推荐(0)
摘要:
什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Linux内核也会抱歉的对我们说:“哎呦(Oops),对不起,我把事情搞砸了”。Linux内核在发生kernel panic时会打印出Oops信息,把目前的寄存器状态、堆栈内容、以及完整的Call 阅读全文
posted @ 2011-12-06 23:26
风行雪舞
阅读(609)
评论(0)
推荐(0)
摘要:
你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要 经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所需要知道的所有知识。本文也尝试解释社区为什么这样工作的一些原因。内核几乎全 是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必须的,除非你准备做某个 架构的底层开发。虽然下面这些书不能完全代替扎实的C语言教学和/或者成年累月的经验,他们还是不错的参考,如果用得着的话:- "The C Programming Lan 阅读全文
posted @ 2011-12-06 23:26
风行雪舞
阅读(371)
评论(0)
推荐(0)
摘要:
mdev的使用方法和原理mdev是busybox自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox为基础构建嵌入式linux的根文件系统时,使用它是最优的选择。mdev使用mdev的使用在busybox中的mdev.txt文档已经将得很详细了。但作为例子,我简单讲讲我的使用过程:(1)在编译时加上对mdev的支持(我是使用的是busybox1.10.1): Linux System Utilities ---> mdev Support /etc/mdev.co 阅读全文
posted @ 2011-12-06 23:25
风行雪舞
阅读(703)
评论(0)
推荐(0)
摘要:
Linux下使用各种设备是一件令人兴奋的事情。在Unix的世界里,用户与硬件打交待总是简单的。最近笔者在Linux下搞了摄像头的开发,有一点感想发于此处。Linux中操作一个设备一般都是打开(open),读取(read)和关闭(close)。使用Read的大多是一些字符型设备,然而对于显示屏 或者摄像头这种字符设备而已,挨个字的读写将使得系统调用变得频繁,众所周之,系统调用对于系统而已是个不小的开销。于是有内存映射(mmap)等物,本 例中将讲述在Linux下开发摄像头的一般过程以及使用Qt进行界面开发的实例。使用mmap方式获取摄像头数据的方式过程一般为:打开设备 -> 获取设备的信息 阅读全文
posted @ 2011-12-06 23:25
风行雪舞
阅读(1738)
评论(0)
推荐(1)
摘要:
一、BMP它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩;BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节;二、GIFGIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右;GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一 阅读全文
posted @ 2011-12-06 23:25
风行雪舞
阅读(857)
评论(0)
推荐(0)
摘要:
如果你是个学生,你应该会C,C++和 Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们 很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。跟C/C++/Java相比 — Python/Ruby能让你用少的多的多的代码写出相同的程序。有人计算过,Python或Ruby写出的程序的代码行数只相当于相对应的Java代码的行数的五分之一。如果没有绝对的必要 阅读全文
posted @ 2011-12-06 23:25
风行雪舞
阅读(255)
评论(0)
推荐(0)
摘要:
本文写给所有可爱的程序员,(我)你们都是一群可爱的,用双手建造世界的思想家。从今天起,我要做一个懒惰的程序员。第一 拒绝鼠标从今天,我将拒绝鼠标。鼠标,是鼠标手的 根源,无数的程序员都被鼠标手所困扰,这似乎已经成为了程序人员的专利。我们养成了一个一个的“恶习”,比如,滥用鼠标右键刷新,看文档的时候,喜欢用鼠 标来标记正在阅读的段落等等。这些非常规的使用使我们的手得了严重的疾病,我不知道,这样继续下去,当我们牙齿掉光的时候,是否还有能力抚摸妻子动人的面 庞。所以,我要从以下几个方面拒绝鼠标的诱惑:(虽然某些时候它真的很方便)1. 我要开始使用Emacs或是VimEmacs和Vim就是程序员的倚天 阅读全文
posted @ 2011-12-06 23:24
风行雪舞
阅读(291)
评论(0)
推荐(0)
摘要:
HP大中华区总裁孙振耀退休感言 : 如果这篇文章没有分享给你,那是我的错。 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。 如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫”人了。 如果你看完了,你觉得这篇文章只是讲讲大道理,说明你的人生阅历还不够,需要你把这篇文章珍藏,走出去碰几年壁,头破血流后再回来,再读,你就会感叹自己的年少无知。 如果你看完了,觉得很有道理,然后束之高阁,继续走进拥挤的地铁,依然用着自己昨日的观念来思考自己的未来,你的人生也将继续重复着昨日的状况。 如果你看完了,觉得那是一个过来人,对你的人生忠告,并你也愿意用他告诉你的思想去指导自己今后的 阅读全文
posted @ 2011-12-06 23:24
风行雪舞
阅读(280)
评论(0)
推荐(0)
摘要:
“当我需要用到它时我就去学它!”过去这些年里这句话我听到无数次;对于处在一个像软件开发 这样的快速发展变化的行业里,这听起来像是一种十分适用主义的态度。从某些层面上说,它确实十分适用,但从另一个层面来看,我很受这句话困扰。它似乎成了 我们这个行业的福音,但却从来没有把这个行业变的更好。问题就在于,这句话表面上借明智的有经验的开发者之言,其实是幌子,实为人们随波逐流的借口。实在是有太多的东西需要我们在工作之中“发现学习”,但对于这种对新知的“发现学习”,你是工作学习齐头并进,还是单纯的遇到了什么问题,就学习处理这问题的知识?这两者之间有很大的区别。整 个行业里到处都是通才、全才,也许向来如此,只 阅读全文
posted @ 2011-12-06 23:23
风行雪舞
阅读(190)
评论(0)
推荐(0)
摘要:
我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已经构思好的程序转换成编译器/解释器可以编译/解释的程序 —— 难就难在如何在脑子里先把程序编好。有 一天我乘火车旅行。我带了笔记本,但没有网络。不幸的是,我使用的是一种商业编程语言(IDL,真不巧),这种语言需要使用我大学网站上的许可证。因为不 能连上互联网,我拿不到许可证,于是我的编译器和IDE就跑不起来。你可能会喜欢使用一个需要昂贵的许可证的商业编程语言,但它的确使我 阅读全文
posted @ 2011-12-06 23:23
风行雪舞
阅读(191)
评论(0)
推荐(0)
摘要:
1.awk的常规表达式元字符 \ 换码序列 ^ 在字符串的开头开始匹配 $ 在字符串的结尾开始匹配 . 与任何单个字符串匹配 [ABC] 与[]内的任一字符匹配 [A-Ca-c] 与A-C及a-c范围内的字符匹配(按字母表顺序) [^ABC] 与除[]内的所有字符以外的任一字符匹配 Desk|Chair 与Desk和Chair中的任一个匹配 [ABC][DEF] 关联。与A、B、C中的任一字符匹配,且其后要跟D、E、F中的任一个字符。 * 与A、B或C中任一个出现0次或多次的字符相匹配 + 与A、B或C中任何一个出现1次或多次的字符相匹配 ? 与一个空串或A、B或C在任何一个字符相匹配 (Bl 阅读全文
posted @ 2011-12-06 23:22
风行雪舞
阅读(408)
评论(0)
推荐(0)
摘要:
Step1:在开机启动进入蓝色GRUB界面后,用上下键,迅速移动光标至第二行...(recovery mode)Step2:按字母 “e” 进入编辑界面,于第七行,即有 “linux /vm......single” 的行 末尾加上 “init=/bin/bash” (引号不可省略) Step3:按 “Ctrl+x ” 启动系统,进入 root@(none): 命令行模式Step4:使用命令使系统可读写 # mount -no remount, rw /Step5:此时 passwd、vi、vim 等都提示Command not found。 使用Debian自带默认文本编辑器 nano 编辑 阅读全文
posted @ 2011-12-06 23:22
风行雪舞
阅读(4391)
评论(0)
推荐(0)
摘要:
一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:●思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法问题(对应第二种方法的好处)有:●要求工程师不仅要对I2C设备的操作熟悉,而且要熟悉I2C的适配器操作;●要求工程师对I2C的设备器及I2C的设备操作方法都比较熟悉,最重要的是写出的程序可移植性差;●对内核的资源无法直接使用。因为内核提供的所有I2C设备器及设备驱动都是基于I2C 阅读全文
posted @ 2011-12-06 23:22
风行雪舞
阅读(639)
评论(0)
推荐(0)
摘要:
前言:在许多情况下,我们并没有足够的I2C总线,本文主在介绍如何利用Linux内核中的i2c-gpio模块,利用2条GPIO线模拟i2c总线,并挂载设备。思路:先通过对i2c-gpio所定义的结构体初始化(包括初始化i2c的2条线,频率,timeout等)并将i2c-gpio模块编译进内核,实现用GPIO_X,GPIO_Y 2条GPIO线注册新的i2c总线。此时这个模块对i2c设备是透明的,及挂在这2条GPIO线的i2c设备可以直接使用Linux内核通用的i2c设备注册,传输和注销等方法。步骤:首先确认在注册i2c-gpio模块前,所要用到的2条GPIO口是没有被系统其它地方所调用的。在每个系 阅读全文
posted @ 2011-12-06 23:21
风行雪舞
阅读(1601)
评论(0)
推荐(0)
摘要:
1.名字thttpd- 是一款小型/快速/非阻塞的HTTP服务程序2.概要thttpd [-C configfile] [-p port] [-d dir] [-dd data_dir] [-r|-nor] [-s|-nos] [-v|-nov] [-g|-nog] [-u user] [-c cgipat] [-t throttles] [-h host] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-V] [-D]3. 描述thttpd 是简单的,小型,快速而安全的 HTTP 服务程序。 没有许多特别的特征,但是 阅读全文
posted @ 2011-12-06 23:21
风行雪舞
阅读(1050)
评论(0)
推荐(0)
摘要:
构造tar包tar zcvf tar包名.tar 目录,文件列表而解tar包tar zxvf tar包名.tar 目录,文件列表解压语法:tar [主选项+辅选项] 文件或者目录使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。t列出档案文件的内容,查看已经备份了哪些文件。u更新文件。就是说,用新增的文件取代原备份 阅读全文
posted @ 2011-12-06 23:21
风行雪舞
阅读(595)
评论(0)
推荐(0)
摘要:
系统环境: Ubuntu 9.101.下载安装minicomsudo apt-get install minicom2.运行minicom运行“sudo minicom -s”命令进入配置界面(或者直接运行“sudo minicom”, 然后同时按下“回车+A”,再按Z,最后按O,同样进入配置界面)+----[配置]--------+| 文件名和路径 | 文件传输协议 | 串口设置 | 调制解调器和拨号 | 屏幕和键盘 | 设置保存为dfl | 设置保存为.. | 退出 | 退出Minicom +--------------------+3.配置串口选择 “串口设置”,进入串口配置界面+--- 阅读全文
posted @ 2011-12-06 23:20
风行雪舞
阅读(2937)
评论(0)
推荐(0)
摘要:
1、安装下面是安装过程和命令详解:http://www.rarsoft.com/download.htm 最新版下载地址# wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gz# tar -zxvfrarlinux-3.9.3.tar.gz# cd rar# make# make install运行rar –help可以看到帮 助信息,如果出现下列信息:#rar: /lib/tls/libc.so.6: version `GLIBC_2.4′ not found (required by rar)#rar: /lib/tls/libc.so 阅读全文
posted @ 2011-12-06 23:20
风行雪舞
阅读(215)
评论(0)
推荐(0)
摘要:
# whereis lsls: /bin/ls /usr/share/man/man1/ls.1.gz# dpkg -S /bin/lscoreutils: /bin/ls# apt-get source -d "coreutils“下载到 coreutils_8.5-1.diff.gz coreutils_8.5-1.dsc coreutils_8.5.orig.tar.gz # tar -zxvf coreutils_8.5.orig.tar.gz 解压下载到的最大的tar文件 在解压后的文件夹里的src文件夹里就有源代码 阅读全文
posted @ 2011-12-06 23:20
风行雪舞
阅读(363)
评论(0)
推荐(0)
摘要:
1.在windows下安装usb转串口驱动,之后在‘设备管理器’内看到USB-SERIAL CH340(COM3)说明windows下驱动已安装好。2.进入虚拟机的‘设置‘——’串口‘进行设置3.运行Ubuntu输入$ ls /dev/tty* -alt 找到 /dev/ttyUSB[0-N] 说明ubuntu已经支持了host机的usb转串口装置4 继而可以配置minicom等设备了 阅读全文
posted @ 2011-12-06 23:19
风行雪舞
阅读(908)
评论(0)
推荐(0)
摘要:
dpkg学习:(1)dpkg是一个较底层的安装工具,处理.deb文件,软件包依赖性需要更高层的前端工具是apt; dpkg本身是不能解决依赖的。 dpkg是dpkg-deb的前端,如果dpkg搞不定,可以用dpkg-deb。(2)所有的packages信息在/var/lib/dpkg目录下: available是安装源的描述,包括已安装和没有安装的 info目录描述已安装的包:.list后缀是文件列表,.prerm描述关联的服务, .config是配置,.preinst安装前配置,.postinst安装后配置(3)dpkg命令: dpkg -l 查看已经安装的所有包 dpkg -s vim-t 阅读全文
posted @ 2011-12-06 23:19
风行雪舞
阅读(509)
评论(0)
推荐(0)
摘要:
能够查看linxu系统源码是类unix系统开源性的体现,是在其他系统享受不到的待遇,系统Debian,将查看过程列在下面:例如我想查看cat命令工具的源码——查看工具的路径$ whereis catcat: /bin/cat /usr/share/man/man1/cat.1.gz查看工具所属的包$ dpkg -S /bin/catcoreutils: /bin/catcoreutils就是cat的源码包名下载工具源码包$ sudo apt-get source coreutils[sudo] password for lizh: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 .. 阅读全文
posted @ 2011-12-06 23:19
风行雪舞
阅读(744)
评论(0)
推荐(0)
摘要:
[root@cnc-squid2 ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFS 阅读全文
posted @ 2011-12-06 23:18
风行雪舞
阅读(915)
评论(0)
推荐(0)
摘要:
如今Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交 互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准,下面简要列举下从bash迁移到dash一般需要注意的问题 (将先前默认的 bash shell 更换为了 dash。其表现是 /bin/sh 链接到了 /bin/dash 而不是传统的 /bin/bash。Ubuntu Edgy 是第一个将 dash 作为默认 shell 的发行,这似乎是受了 Debian 的影响。在 Ubuntu Wiki 上可以了解到更换的相关原因,dash. 阅读全文
posted @ 2011-12-06 23:18
风行雪舞
阅读(783)
评论(0)
推荐(0)
摘要:
01) 为什么别人的方法在我这里行不通?(02) 如何找到上次编辑的文件?(03) 如何复制粘贴?(04) 如何在多个文件中进行替换?(05) 如何把fold一次全部打开?(06) 如何选择、复制或者查找光标所在的单词?(07) 如何计数搜索的字符串?(08) 如何去掉高亮搜索?(09) 如何解决linux下gvim中文菜单乱码的问题?(10) 如何对所编辑的文件语法高亮显示?(11) 如何快速插入多行数字0-99?(12) 如何设置中文编码?(13) 如何去掉或者插入^M这样的字符?(14) 如何整体缩进一段代码(插入tab)?(15) 如何合并两行?(16) 如何设置缩进距离(tab宽度) 阅读全文
posted @ 2011-12-06 23:17
风行雪舞
阅读(451)
评论(0)
推荐(0)
摘要:
1.建立和运行shell程序 什么是shell程序呢? 简单的说shell程序就是一个包含若干行shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件. 执行shell程序文件有四种方法 (1)#chmod +x file(在/etc/profile中,加入export PATH=${PATH}:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样) (2)#sh file (3)# . file ... 阅读全文
posted @ 2011-12-06 23:16
风行雪舞
阅读(136)
评论(0)
推荐(0)
摘要:
1.牛人一(从phd到现在工作半年,发了12篇paper, 7篇first author.)我现在每天还保持读至少2-3篇的文献的习惯.读文献有不同的读法.但最重要的自己总结概括这篇文献到底说了什么,否则就是白读,读的时候好像什么都明白,一合上就什么都不知道,这是读文献的大忌,既浪费时间,最重要的是,没有养成良好的习惯,导致以后不愿意读文献.1. 每次读完文献 (不管是细读还是粗读), 合上文献后,想想看,文章最重要的 take home message是什么, 如果不知道,就从abstract, conclusion里找, 并且从discuss里最好确认一下. 这样一来, 一篇文章就过关了. 阅读全文
posted @ 2011-12-06 23:16
风行雪舞
阅读(367)
评论(0)
推荐(0)
摘要:
其实,C/C++世界开始时并没有库这个概念,我们编写程序的时候,都是自己搞定一切:Coding,Compile,Link,生成一个可执行文件后载 入系统运行就可以了。但是,如果每个程序员都这样各自为政的话,将会导致大量的重复劳动。譬如,在很多程序中都需要输入输出的功能,按照现在这种状况,只 有每个程序员都自己重新开发这样的功能模块,这样效率之低下可想而知。于是,大家渴望能够进行代码重用:一些通用的代码最好能够由别人提供,我只需调用即 可。 那么,我们如何得到这些可重用的代码呢?首先我们想到可以让编译器自动为我们生成这些代码。我们只需调用这些函数,编译器解析到这些函数时,如C语言的 print. 阅读全文
posted @ 2011-12-06 23:15
风行雪舞
阅读(573)
评论(1)
推荐(1)
摘要:
四、嵌套执行make 在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于我们模块编译和分段编译有着非常大的好处。 例如,我们有一个子目录叫subdir,这个目录下有个Makefile文件,来指明了这个目录下文件的编译规则。那么我们总控的Makefile可以这样书写: subsystem: cdsubdir&&$(MAKE) 其等价于: subsyst 阅读全文
posted @ 2011-12-06 23:15
风行雪舞
阅读(398)
评论(0)
推荐(0)
摘要:
-b -m 忽略,提供其它版本make兼容性。 -B --always-make 强制重建所有规则的目标,不根据规则的依赖描述决定是否重建目标文件。 -C DIR --directory=DIR 在读取Makefile之前,进入目录“DIR”,就是切换工作目录到“DIR”之后执行make。存在多个“-C”选项时,make的最终工作目录是第一个目录的相对路径。如:“make –C / -C etc”等价于“make –C /etc”。一般此选项被用在递归地make调用中。 -d make在执行过程中打印出所有的调试信息。包括:make认为那些文件需要重建;那些文件需要比较它们... 阅读全文
posted @ 2011-12-06 23:14
风行雪舞
阅读(631)
评论(0)
推荐(0)
摘要:
由host $ export DVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题1、${HOME}:首先, HOME 是个变量,它代表你的 home 目录,变量前必须加上 $ 符号,否则会报错usr/local/dvsdk为dvsdk的destination folder 由#echo $DVSDK测试环境变量添加成功否2、想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.localLinux export 命令功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目 阅读全文
posted @ 2011-12-06 23:13
风行雪舞
阅读(1309)
评论(0)
推荐(0)
摘要:
使用Codec Engine开发DaVinci系统,最令人头痛的莫过于调试。由于evm6446开发过程分成DSP端和GPP端,因此我们无法使用IDE下的调试工具对程序进行跟踪调试。为此,TI在Codec Engine中提供了一套名为Generic Trace Support 的模块,专门用来打印Debug信息。要使用GT_Trace,需要在应用程序文件夹下的remote.cfg文件中将GT_Trace的配置://TraceUtil.attrs = TraceUtil.SOCRATES_TRACING; TraceUtil.attrs = TraceUtil.FULL_TRACING; //.. 阅读全文
posted @ 2011-12-06 23:12
风行雪舞
阅读(869)
评论(0)
推荐(0)
摘要:
Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。使用getopt_long()需要引入头文件#include <getopt.h> 现在我们使用一个例子来说明它的使用。一个应用程序需要如下的短选项和长选项。 短选项 长选项 作用 -h --help 输出程序命令行参数说明然后退出 -o filename --output filename 给定输出文件名 -v --version 显示程序当前版本后退后为了使用getopt 阅读全文
posted @ 2011-12-06 23:12
风行雪舞
阅读(481)
评论(0)
推荐(0)
摘要:
1. Open the 00-INDEX first, it give some overview of the kbuild directoryroot@debian:/usr/src/linux-2.6.32.5/Documentation/kbuild# vi 00-INDEX 00-INDEX - this file: info on the kernel build processkbuild.txt - developer information on kbuildkconfig.txt - usage help for make *configkconfig-language.t 阅读全文
posted @ 2011-12-06 23:11
风行雪舞
阅读(205)
评论(0)
推荐(0)
摘要:
2.6内核版本,我完成了rtc_driver.c文件,在Makefile加入obj-$(CONFIG_RTC_XXXX) += rtc_driver.o,并对Kconfig进行修改,加入config RTC_XXXX bool "rtcrtcrtcrtcrtc",编译内核和内核模型,只能生成.O文件.请问如何生成能够insmod的.KO文件,是不是应该在Makefile中加些语句生成.ko文件已经完成了,可是[root@localhost char]# insmod rtc_driver.kortc_driver.ko: ELF file rtc_driver.ko not 阅读全文
posted @ 2011-12-06 23:11
风行雪舞
阅读(925)
评论(0)
推荐(0)
摘要:
第一讲小结:1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。h (左移)j (下行) k (上行) l (右移) 2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车> 3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶ <ESC> :q! <回车> 或者输入以下命令保存所有修改∶ <ESC> :wq <回车> 4. 在正常模式下删除光标所在位置的字符,请按∶ x 5. 在正常模式下要在光标所在位置开始插入文本,请按∶ i输入必要文本<ESC> 特别提示∶按下 <E 阅读全文
posted @ 2011-12-06 23:11
风行雪舞
阅读(177)
评论(0)
推荐(0)
摘要:
本文对make执行时可能出现常见错误进行汇总、分析,并给出修正的可能方法。 make执行过程中所产生错误并不都是致命的;特别是在命令行之前存在“-”、或者make使用“-k”选项执行时。make执行过程的致命错误都带有前缀字符串“***”。 错误信息都有前缀,一种是执行程序名作为错误前缀(通常是“make”);另外一种是当Makefile本身存在语法错误无法被make解析并执行时,前缀包含了makefile文件名和出现错误的行号。 在下述的错误列表中,省略了普通前缀: [FOO] Error NN [FOO] signal description 这类错误并不是make的真正错误。它表示... 阅读全文
posted @ 2011-12-06 23:10
风行雪舞
阅读(1515)
评论(0)
推荐(0)
摘要:
原文:Why I Love Reading Other People’s Code And You Should Too by Alan Skorkin 翻译:Yurii我恨读代码我发现,许多程序员都讨厌读代码——拜托别掩饰了,承认吧。差不多每个人都喜欢写代码——写代码乐在其中。可是,读代码真是不容易,而且还很烦人,又无可逃避,其他人写的代码总是很垃圾(即便不说,我们心里也这么想的)。即使自己写的代码,过几个小时再看也有点垃圾,过的时间再久点,就更垃圾了。那么,还有什么理由去看别人的蹩脚代码,而是不自己写几手漂亮的?能不能暂且忽略这个问题,花上几个小时看别人的代码,再回头来看自己的是不是还那么 阅读全文
posted @ 2011-12-06 23:09
风行雪舞
阅读(284)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-06 23:09
风行雪舞
阅读(189)
评论(0)
推荐(0)
摘要:
1、读程序一个线程一个线程的分析,由于程序一般比较大,我们可以截取其中独立的一小部分,进行分析。每一个线程可能包括很多函数,他们也许在不同的文件中,我们可以把他们都截取出来进行总结2、对于程序中某个知识点的漏洞,上GOOGLE上查找相关的资料,查找定义、原理、例子、程序的内容3、软件环境的搭建,要善于总结,总结时还要看看加载的一些文件是什么,什么性质的文件,最简单的就是把英文的翻译成中文的,一步一步总结完,要养成这个习惯4、在做项目过程中肯定会遇到很多问题,我们可以把出现的问题进行总结,并且把自己的思路写清楚5、对于不懂的命令或者板子进行测试,也有思路,确定好什么样子的测试思路很重要: 1、要 阅读全文
posted @ 2011-12-06 23:09
风行雪舞
阅读(658)
评论(0)
推荐(0)
摘要:
在规则中使用通配符 如果我们想定义一系列比较类似的文件,我们很自然地就想起使用通配符。make支持三各通配符:“*”,“?”和“[...]”。这是和Unix的B-Shell是相同的。 波浪号(“~”)字符在文件名中也有比较特殊的用途。如果是“~/test”,这就表示当前用户的$HOME目录下的test目录。而“~hchen/test”则表示用户hchen的宿主目录下的test目录。(这些都是Unix下的小知识了,make也支持)而在Windows或是MS-DOS下,用户没有宿主目录,那么波浪号所指的目录则根据环境变量“HOME”而定。 通配符代替了你一系列的文件,如“*.c”表示所以后缀为c的 阅读全文
posted @ 2011-12-06 23:08
风行雪舞
阅读(406)
评论(0)
推荐(0)
摘要:
wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。$ wget -r -np -nd http://example.com/packages/这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。$ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/与上一条命令相似,但多加了一个 阅读全文
posted @ 2011-12-06 23:08
风行雪舞
阅读(261)
评论(0)
推荐(0)
摘要:
GNU make特点的一些总结。主要是和其它版本make得比较。这些特征都是以4.2 BSD 中的make的为基准。当需要书写可移植到不同的类UNIX系统上的Makefile时,应避免使用GNU 版本make自身的一些特征。一、 源自System v的特点 下面所罗列的这些是来自System V版本make的一些特点: 1、 变量“VPATH”及它的含义。System V版本的make支持,但没有得到验证。4.3 BSD 的make支持(据说是对System V的make这一功能的仿照)。 2、 可包含其它makefile文件。使用指示符“include”可同... 阅读全文
posted @ 2011-12-06 23:08
风行雪舞
阅读(851)
评论(0)
推荐(0)
摘要:
一、后缀规则 后缀规则是一种古老定义隐含规则的方式,在新版本的make中使用模式规则作为对它的替代,模式规则相比后缀规则更加清晰明了。在现在版本中保留它的原因是为了能够兼容旧的makefile文件。后缀规则有两种类型:“双后缀”和“单后缀”。 双后缀规则定义一对后缀:目标文件的后缀和依赖目标的后缀。它匹配所有后缀为目标后缀的文件。对于一个匹配的目标文件,它的依赖文件这样形成:将匹配的目标文件名中的后缀替换为依赖文件的后缀得到。如:一个描述目标和依赖后缀的“.o”和“.c”的规则就等价于模式规则“%o : %c”。 单后缀规则只定义一个后缀:此后缀是源文件名的后缀。它可以匹配任何文件,其依赖文件 阅读全文
posted @ 2011-12-06 23:07
风行雪舞
阅读(691)
评论(0)
推荐(0)
摘要:
最早先的一个例子中,我们提到过一个“clean”的目标,这是一个“伪目标”, clean: rm*.otemp 正像我们前面例子中的“clean”一样,即然我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备完整地重编译而用。(以“makeclean”来使用该目标) 因为,我们并不生成“clean”这个文件。“伪目标”并不是一个文件,只是一个标签,由于“伪目标”不是文件,所以make无法生成它的依赖关系和决定它是否要执行。我们只有通过显示地指明这个“目标”才能让其生效。当然,“伪目标”的取名不能和文件名重名,不然其就失去了“伪目标”的意义了。 当然,为了避免和文件重名的这种情况 阅读全文
posted @ 2011-12-06 23:07
风行雪舞
阅读(320)
评论(0)
推荐(0)
摘要:
模式规则中,规则的目标和依赖文件名代表了一类文件名;规则的命令是对所有这一类文件重建过程的描述,显然,在命令中不能出现具体的文件名,否则模式规则失去意义。那么在模式规则的命令行中该如何表示文件,将是本小节的讨论的重点。 假如你需要书写一个将.c文件编译到.o文件的模式规则,那么你该如何为gcc书写正确的源文件名?当然了,不能使用任何具体的文件名,因为在每一次执行模式规则时源文件名都是不一样的。为了解决这个问题,就需要使用“自动环变量”,自动化变量的取值是根据具体所执行的规则来决定的,取决于所执行规则的目标和依赖文件名。 下面对所有的自动化变量进行说明: $@ 表示规则的目标文件名。如果目标是. 阅读全文
posted @ 2011-12-06 23:07
风行雪舞
阅读(411)
评论(0)
推荐(0)
摘要:
JavaScript language overviewJavaScript syntax, operators, and flow-control statements are similar to those in the C language. It includes if, else, switch, break, for, while, do, and return statements which behave almost identically to their C counter-parts. As a result, C programmers can easily rea 阅读全文
posted @ 2011-12-06 23:06
风行雪舞
阅读(238)
评论(0)
推荐(0)
摘要:
安排主编号最好的方式, 我们认为, 是缺省使用动态分配, 而留给自己在加载时指定主编号的选项权, 或者甚至在编译时. scull 实现以这种方式工作; 它使用一个全局变量, scull_major, 来持有选定的编号(还有一个 scull_minor 给次编号). 这个变量初始化为 SCULL_MAJOR, 定义在 scull.h. 发布的源码中的 SCULL_MAJOR 的缺省值是 0, 意思是"使用动态分配". 用户可以接受缺省值或者选择一个特殊主编号, 或者在编译前修改宏定义或者在 insmod 命令行指定一个值给 scull_major. 最后, 通过使用 scul 阅读全文
posted @ 2011-12-06 23:06
风行雪舞
阅读(181)
评论(0)
推荐(0)
摘要:
一、原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它是最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义于内核源码树的 atomic.h 文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。原子操作主要用于实现资源计数,很多引用计数(refcnt)就是通过原子操作实现的。原子类型定义如下:typedefstruct { volatileintcounter;}atomic_t; volatile修饰字段告诉gcc不要对该.. 阅读全文
posted @ 2011-12-06 23:06
风行雪舞
阅读(424)
评论(0)
推荐(0)
摘要:
本文所说的Inode是struct inode结构体,并不是在inode块中的inode结点。Char Device Driver 相关数据结构:struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev; unsigned int count;};struct kobj_map { struct probe { struct probe *next; dev_t dev; un... 阅读全文
posted @ 2011-12-06 23:05
风行雪舞
阅读(1059)
评论(0)
推荐(0)
摘要:
前言:目前正在忙于ARM平台的Linux应用程序的开发(其实是刚刚起步学习啦)。底层的东西不用考虑了,开发板子提供了NAND Bootloader,和Linux 2.6的源码,而且都编译好了。自己编译的bootloader可以用,但是Linux编译后,文件很大,暂且就用人家编译的系统,先专心写应用程序 吧。。正文:要做的任务是,把一块板子上的摄像头采集的图像和声卡采集的声音(貌似很啰嗦哈)通过TCP/IP协议传输到另一块板子上。第一步,先把视频获取并且在本地LCD上显示。看了板子提供的文档,视频传输需要用V4L2的API。一.什么是video4linux Video4l... 阅读全文
posted @ 2011-12-06 23:04
风行雪舞
阅读(508)
评论(0)
推荐(0)
摘要:
一、RS-232C、RS-422与RS-485的由来RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范 阅读全文
posted @ 2011-12-06 23:04
风行雪舞
阅读(1763)
评论(0)
推荐(0)
摘要:
1概念1.1功能LTT是一个用于跟踪系统详细运行状态和流程的工具,它可以跟踪记录系统中的特定事件。这些事件包括:?系统调用的进入和退出?陷阱/中断(Trap / Irq)的进入和退出?进程调度事件?内核定时器?进程管理相关事件:创建 ,唤醒,信号处理等等?文件系统相关事件:Open / Read / Write / Seek / Ioctl 等等?内存管理相关事件:内存分配/释放等?其他事件:IPC / Socket/ 网络 等等此外 Ltt还提供了自定义和记录需要跟踪的事件类型的函数接口。1.2结构LTT主要由4个部分组成:?内核代码补丁:LTT目前还没有纳入正式的官方内核,在内核中的部分代 阅读全文
posted @ 2011-12-06 23:02
风行雪舞
阅读(1421)
评论(0)
推荐(0)
摘要:
1、stdio2、STDIN_FILENO数据类型不一致:stdin类型为 FILE* ,指向一个结构体指针;属于标准I/O,由标准C库实现;是高级的输入函数,定义在标准库<stdio.h>。STDIN_FILENO类型为 int;是0号文件描述符(操作系统一级提供的文件API都是以文件描述符来表示文件,文件描述符是linux内核专有概念,对文件描述符的操作属于系统调用。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符)是非负整数,打开文件句柄;属于没有buffer的I/O,能直接调用系统调用,定义/usr/include/unistd.h。代码:/* Stand 阅读全文
posted @ 2011-12-06 23:01
风行雪舞
阅读(470)
评论(0)
推荐(0)
摘要:
I2C总线具有结构简单使用方便的特点。本文描述了Linux下I2C驱动的结构,并在此基础上给出了I2C设备驱动和应用的实现。 1 引言 I2C (Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。I2C总线最初为音频和视频设备开发,现已应用于各种服务与管理场合,来实现配置或掌握组件的功能状态,如电源、系统风扇、系统温度等参数,增加了系统的安全性,方便了管理。 ... 阅读全文
posted @ 2011-12-06 22:50
风行雪舞
阅读(640)
评论(0)
推荐(0)
摘要:
1Yaffs文件系统结构1.1简介1.1.1应用场合 Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2 能够更好的支持大容量的NAND FLASH芯片。Yaffs文件系统有些类似于JFFS/JFFS2文件系统,与之不同的是JFFS1/2文件 系统最初是针对NOR FLASH的应用场合设计的,而NOR FLASH和NAND FLASH本质上有较大的区别,所以尽管JFFS1/2 文件系统也能应用于NAND FLASH,但由于它在内存占用和启动时间 阅读全文
posted @ 2011-12-06 22:50
风行雪舞
阅读(509)
评论(0)
推荐(0)
摘要:
ti@ti-desktop:~$ sudo find / -name cmemk.ko返回所有名为cmemk.ko文件的路径(“/ ”这个函数符号的含义,如果输入 “find/ ”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件)ti@ti-desktop:~$ find /etc -name httpd.conf 表示在etc目录中查询httpd.conf这个文件。根据部分文件名查找方法: ti@ti-desktop:~$ find /etc -name '*srm*'这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这 阅读全文
posted @ 2011-12-06 22:49
风行雪舞
阅读(830)
评论(0)
推荐(0)
摘要:
在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。 1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看: rpm -qpi Linu... 阅读全文
posted @ 2011-12-06 22:49
风行雪舞
阅读(208)
评论(0)
推荐(0)
摘要:
wheel组就类似于一个管理员的组通常在UNIX下,即使我们是系统的管理员,也不推荐用root用户登录来进行系统管理。一般情况下 用普通用户登录,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为 root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的 配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别--就像警察下班后,没有带枪、穿这便衣和普通人(用户)一样,虽然他的的确确是警察。根 据应用的实例不同应用wheel组 阅读全文
posted @ 2011-12-06 22:48
风行雪舞
阅读(536)
评论(0)
推荐(0)
摘要:
/etc/group 文件文件的格式和 /etc/passwd 文件格式类似,它也是一个纯文本文件,定义了每个组中的用户。每行的格式是:group_name:passwd:GID:user_list它们的含义如下:关于i-node的形象比喻和正解i-node您能够理解成一个大楼。 i-node用光了,不能增加,除非format的时候定制。。 i-node您能够理解成一个大楼。 假如这个楼房建筑的时候,就是100户,只能卖100套房子,住100户人家,没家4室二厅,200平米。。当来了101户人的时候,虽然没家人家200平米,但是也只是人家自己住。不能让其他人住了。。 假如您建立楼房的时候,都是 阅读全文
posted @ 2011-12-06 22:48
风行雪舞
阅读(451)
评论(0)
推荐(0)
摘要:
Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件,Linux /etc/group文件相对另外两个文件内容相对较少,这里对这一文件进行以下分析。用户组的所有信息都存放在/etc/group文件中将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首 阅读全文
posted @ 2011-12-06 22:47
风行雪舞
阅读(440)
评论(0)
推荐(0)
摘要:
其他的 1. /bin目录 / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些 命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。 2. /sbin目录 / s b i n目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使 用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。 3. /etc目录 / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文 件/ e t 阅读全文
posted @ 2011-12-06 22:41
风行雪舞
阅读(840)
评论(0)
推荐(0)
摘要:
由host $ export DVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题1、${HOME}:首先, HOME 是个变量,它代表你的 home 目录,变量前必须加上 $ 符号,否则会报错usr/local/dvsdk为dvsdk的destination folder 由#echo $DVSDK测试环境变量添加成功否2、想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.localLinux export 命令功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目 阅读全文
posted @ 2011-12-06 22:41
风行雪舞
阅读(887)
评论(0)
推荐(0)

浙公网安备 33010602011771号