Linux
文章平均质量分 71
myself659
这个作者很懒,什么都没留下…
展开
-
linux中vi显示中文乱码的问题
<br />方法一: 由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。 $vi ~/.vimrc let &termencoding=&encoding set fileencodings=utf-8,gbk $:wq 再次打开vi,显示就正常了。 vim中编辑不同编码的文件时需要注意的一些地方 此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字原创 2011-05-15 20:07:00 · 198 阅读 · 0 评论 -
由extern C 想到
引言<br />在用C++的项目源码中,经常会不可避免的会看到下面的代码:view sourceprint?1#ifdef __cplusplus2extern"C"{3#endif4 5/*...*/6 7#ifdef __cplusplus8}9#endif<br />它到底有什么用呢,你知道吗?而且这样的问题经常会出现在面试or笔试中。下面我就从以下几个方面来介绍它:1、#ifdef _cplusplus/#endif _cplusplus及发散2、extern "C"2.1、extern关键字2转载 2011-03-23 21:10:00 · 157 阅读 · 0 评论 -
linux find grep 命令学习
<br />在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下:find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集)grep命令的常用选项及实例 1、find命令<br />find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜转载 2011-03-23 21:07:00 · 166 阅读 · 0 评论 -
GDB用法初探转载
<br />来自网络<br />GDB用法初探<br />Iniyk 整理<br /> <br /> <br />Iniyk<br />2011/1/11<br /> <br /> <br /><br /><br /> <br />目录<br />GDB概述... 1<br />使用GDB. 5<br />GDB中运行UNIX的shell程序... 7<br />在GDB中运行程序... 8<br />调试已运行的程序... 8<br />暂停 / 恢复程序运行... 9<br />一、设置断点(Break转载 2011-03-23 23:29:00 · 135 阅读 · 0 评论 -
Mini2440 SDcard启动分析
Mini2440 SDcard启动分析<br />http://blogold.chinaunix.net/u4/121406/showart_2390601.html<br /> mini2440驱动分析系列之<br />---------------------------------------Mini2440 SD卡驱动程序分析<br />By JeefJiang July,25th,2009<br />Email:Jeefjiang1983@163.com<br />(本文仅做学习交流用,转载或引转载 2011-03-22 22:14:00 · 264 阅读 · 0 评论 -
Linux 下用gdb单步调试多进程方法
<br />当你在程序中使用fork(),如果用gdb来调试.不管是你在子进程是否设置断点.你都只能在父进程单步调试,而没办法进入到子进程当中进行单步调试.因为gdb的所有处理(查看堆栈,内存,变量值)都是针对当前进程空间.<br />那么是否就没办法调试多进程程序的子进程代码呢?办法还是有的,一般的标准方法是再打开一个gdb用attach功能来调试子进程.gdb attach 功能是不执行被调试程序,而是把gdb“挂”到一个已经运行的进程之上来进行调试,这挂载的动作称为attach.当然也包括挂载子进程。转载 2011-03-20 22:03:00 · 369 阅读 · 0 评论 -
linux tar 命令
<br /> <br /><br />tar<br /> <br />-c: 建立压缩档案<br /> -x:解压<br /> -t:查看内容<br /> -r:向压缩归档文件末尾追加文件<br /> -u:更新原压缩包中的文件<br /> <br />这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。<br /> <br />-z:有gzip属性的<br /> -j:有bz2属性的<br /> -Z:有compress属性的<b原创 2011-03-20 20:29:00 · 122 阅读 · 0 评论 -
程序调试中遇到的几种问题
<br />1。无限等待signal<br />有线程1和线程2,线程1结束前需要等待线程2发送signal,才能结束。<br />结果线程1还未进入等待signal的时候,线程2已经发送signal完毕,造成线程1无限等待signal,程序陷入死循环。<br />2。相互等待signal<br /> <br />线程1发送消息(往消息队列写入), 线程2接收消息(从消息队列读取),线程3处理消息命令,线程4负责播放状态切换。<br />线程2如果收到消息,发送给线程3,只有线程3处理完毕才能处理下一个消息转载 2011-03-12 10:48:00 · 314 阅读 · 0 评论 -
arm -linux -gcc 下载地址
<br />ftp://ftp.denx.de/pub/eldk/4.1/arm-linux-x86/iso/原创 2011-02-23 01:04:00 · 563 阅读 · 1 评论 -
linux解压 tar命令
linux解压 tar命令tar命令<br />tar [-cxtzjvfpPN] 文件与目录 ....<br />参数: <br />-c :建立一个压缩文件的参数指令(create 的意思); <br />-x :解开一个压缩文件的参数指令! <br />-t :查看 tarfile 里面的文件! <br />特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! <br />因为不可能同时压缩与解压缩。 <br />-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?原创 2011-04-04 23:55:00 · 133 阅读 · 0 评论 -
linux内存管理学习专题
<br />http://blog.csdn.net/satanwxd/category/652774.aspx<br /> <br />http://blog.csdn.net/satanwxd/category/667359.aspx原创 2011-04-09 18:22:00 · 120 阅读 · 0 评论 -
linux查看文件大小命令du
<br />du -sh * 查看当前目录下的文件夹大小 <br />du 命令 用途 概述磁盘使用。<br /> <br />语法 du [ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ]<br /> <br />描述 du命令显示用于文件的块的数量。<br /> <br />如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供 File参数,du命令使用当前目录内的文件。 如转载 2011-04-10 11:13:00 · 171 阅读 · 0 评论 -
Linux内存:内存管理的实质
1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列完全是2011-10-18 23:34:55 · 156 阅读 · 0 评论 -
路由器作为DHCP Server同时实现DHCP Agent/Relay
由器作为DHCP Server同时实现DHCP Agent/Relay 案例分析:一台R2611作为DHCP服务器,给不同网段的PC提供DHCP服务。网络拓扑如图所示:==============================================================+ + Router2611 fa原创 2011-06-27 23:41:00 · 389 阅读 · 0 评论 -
TCP-IP的几张数据结构贴图
图一:发送、接受、转发包处理结构框图 图二:链路层相关数据结构宽图1图三:链路层相关数据结构宽图2原创 2011-06-24 01:27:00 · 243 阅读 · 0 评论 -
linux-Tcp IP协议栈源码阅读笔记
一.linux内核网络栈代码的准备知识 1. linux内核ipv4网络部分分层结构: BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件 主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种网络协议原创 2011-06-24 01:25:00 · 174 阅读 · 0 评论 -
Linux下静态库和动态库(共享库)的制作与使用
Linux下静态库和动态库(共享库)的制作与使用时间:2010-12-13 21:03:21来源:嵌入式公社 作者:<br />Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。 <br /><br />静态函数库:<br /> 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因原创 2011-04-30 14:45:00 · 152 阅读 · 0 评论 -
Linux下的LCD驱动分析(Writing Linux LCD drivers)
<br />Linux下的LCD驱动分析(Writing Linux LCD drivers)<br />Abstract <br />1 LCD Module/Driver/Controller <br />2 Linux Frame Buffer Driver <br />2.1 Why Frame Buffer? <br />2.2 What is Frame Buffer Devices? <br />2.3 How to Write Frame Buffer Device Drivers? <br原创 2011-04-10 16:20:00 · 173 阅读 · 0 评论 -
学习算法之路
<br />第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, <br />因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 <br />出来. <br />1.最短路(Floyd、Dijstra,BellmanFord) <br />2.最小生成树(先写个prim,kruscal要用并查集,不好写) <br />3.大数(高精度)加减乘除 <br />4.二分查找. (代码可在五行以内) <br />5.叉乘、判线段相交、然后写个凸包. <b原创 2011-03-07 20:23:00 · 135 阅读 · 0 评论 -
Linux博客参考
http://www.alenchou.org/linux3plus1.htmls原创 2011-02-14 20:00:00 · 681 阅读 · 0 评论 -
在ARM-uClinux下编写加载驱动程序详细过程
<br />本文主要介绍在uClinux下,通过加载模块的方式调试IO控制蜂鸣器的驱动程序。实验过程与上篇文章所讲的过程基本相似,更多注重细节及注意事项。<br />本文适合学习ARM—Linux的初学者。<br />//==================================================================<br />硬件平台:MagicARM2200教学试验开发平台(LPC2290)<br />Linux version 2.4.24,gcc version原创 2011-03-01 22:52:00 · 183 阅读 · 0 评论 -
Linux UART串口驱动开发文档
Linux UART串口驱动开发文档本文来源:嵌入式在线 作者:侯辉华<br />w83697/w83977 super I/O串口驱动开发<br />内容简介: 介绍了Linux下的串口驱动的设计层次及接口, 并指出串口与TTY终端之间的关联层次(串口可作TTY终端使用), 以及Linux下的中断处理机制/中断共享机制, 还有串口缓冲机制当中涉及的软中断机制; 其中有关w83697/w83977 IC方面的知识, 具体参考相关手册, 对串口的配置寄存器有详细介绍, 本文不再进行说明.<br />目录转载 2011-01-01 13:20:00 · 243 阅读 · 0 评论 -
Linux 驱动开发学习博文
<br />http://www.cnblogs.com/hanyan225/category/263757.html<br />博客园原创 2010-12-31 22:09:00 · 136 阅读 · 0 评论 -
vi/vim使用进阶: 目录
<br /> 06vi/vim使用进阶: 目录Easwy添加评论<br />本系列文章,是原来我在CSDN的Easwy专栏撰写的”使用VIM开发软件项目”系列。Easwy的博客搬家以后,就把CSDN上的文章全部移到此处。 <br />写本系列文章的最初想法,是介绍如何用vi/vim开发软件。但纵观整个系列,讲述的其实和软件开发关系并不大,基本都在讲vim的使用技巧、vim的配置及vimrc、vim的命令和vim的插件。因此,把文章移到新站后,我把本系列的名字改为”vi/vim使用进阶”,希望大家一如既往的支转载 2010-12-26 19:04:00 · 194 阅读 · 0 评论 -
深入嵌入式linux知识要点
深入嵌入式linux知识要点深入嵌入式linux知识要点 (括号内为参考资料) 纪念工作满一周年撰文 作者panhuachun@hotmail.com <br />0.linux理论 1.计算机体系结构<br />2.CPU结构<br />3.内存管理<br />4.文件系统<br />5.进程调度 1.linux驱动 <br />1.i2c驱动添加使用 (inno,摄像头)<br />2.spi驱动添加和读写 (inno,spi的flash)<b转载 2010-12-21 14:38:00 · 229 阅读 · 0 评论 -
vim使用指导
<br />1.移动光标<br /> 在当前行里面有效的移动光标,注意这些字母都可以配合删除、移动等操作。<br />fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。<br />tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)<br />Fx:和 fx 类似,不过是往回找。<br />:jumps 看你过去移动光标的历史<br />% 跳转到配对的括号去<br />[[ 跳转到代码块的开头去(但要求代码块中'{转载 2010-12-06 20:53:00 · 188 阅读 · 0 评论 -
嵌入式系统设计
<br />嵌入式系统设计专题: 网络服务功能 http://blog.chinaunix.net/u/21948/showart_506153.html原创 2010-12-05 22:04:00 · 180 阅读 · 0 评论 -
嵌入式Linux系统下I2C设备驱动程序的开发
嵌入式Linux系统下I2C设备驱动程序的开发(转)嵌入式Linux系统2007-10-22 08:34:40阅读3评论0 字号:大中小 订阅【摘 要】I2C总线是一种很通用的总线,具有简单、高效等特点,广泛应用在各种消费类电子产品及音视频设备上,在嵌入式系统的开发中也经常用到。本文分析了嵌入式linux系统中I2C驱动程序的结构,并结合一个具体的I2C时钟芯片DS1307,说明在嵌入式linux系统下开发I2C设备驱动程序的一般流程。 【关键字】I2C总线 嵌入式linux 驱动开发1、I2C总线原创 2010-09-04 22:28:00 · 207 阅读 · 0 评论 -
嵌入式系统中LCD驱动的实现原理
嵌入式系统中LCD驱动的实现原理<br /> <br />嵌入式驱动的概念<br />设备驱动程序是操作系统内核和机器硬件之间的接口,设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它主要完成的功能有:对设备进行初始化和释放;把数据从内核传送到硬件和从硬件读取数据;读取应用程序传送给设备文件的数据、回送应用程序请求的数据以及检测和处理设备出现的错误。<br /><br />Linux将设备分为转载 2010-09-02 21:41:00 · 178 阅读 · 0 评论 -
USB 开发专题
http://blog.sina.com.cn/s/articlelist_1779248610_1_1.htmlusb开发专题的学习博客。原创 2010-08-28 21:25:00 · 115 阅读 · 0 评论 -
android linux 基础知识总结
<br />android linux 开发比较详细的资料。<br /> <br />http://blog.csdn.net/liuxiaochen77/archive/2010/08/03/5785096.aspx<br /> <br />2011.1.18日之前完成学习此博文的任务。原创 2011-01-16 22:15:00 · 128 阅读 · 0 评论 -
关于版本控制软件
<br />关于版本控制软件<br />最近加入公司一个新的团队,发现他们使用的源代码版本控制软件是CVS,感觉自己有点倒退了,因为之前一直用的是SVN来进行版本控制的,平时自己也爱折腾折腾Hg,Git等分布式版本控制软件。和一个开发经理闲聊时顺便了解了一下,为何一直使用CVS而不是SVN或直接上Hg、Git。那个同学很谦虚的告诉我,CVS确实有很多问题,但是这么一直使用过来,如果换成SVN,感觉带来的好处不足够大。<br /><br />但是有趣的是,这位同学用CVS的方式也很特别,就是使用CVS+本地H转载 2011-01-18 07:06:00 · 101 阅读 · 0 评论 -
网卡驱动3:DM9000驱动解析2
<br />/*<br />* Initilize dm9000 board<br /> 配置DM9000芯片内部寄存器,使其能工作<br />*/<br />static void<br />dm9000_init_dm9000(struct net_device *dev)<br />{<br />board_info_t *db = (board_info_t *) dev->priv;<br /> PRINTK1("entering %s/n",__FUNCTION__);<br /> /* I/O原创 2011-01-23 16:56:00 · 259 阅读 · 0 评论 -
makefile 学习
<br />参考资料:<br />http://blog.csdn.net/haoel/<br />本周内完成。原创 2011-02-10 20:37:00 · 107 阅读 · 0 评论 -
多目录makefile的书写
<br />多目录makefile的书写多目录makefile的书写 由于涉及到多目录下makefile文件的编写,每个目录下makefile 文件都不相同。现在简单说下我的多目录下makefile文件的编写。<br />我把所需要的目录都放在src里面,如图所示<br /><br /><br /><br /><br /><br /><br /><br /><br />其中libs存放库文件,bin存放可执行文件,app存放源文件目录,include存放所要包含的头文件<br /><br />makefil原创 2011-02-25 23:53:00 · 166 阅读 · 0 评论 -
由linux启动过程分析想到
<br />最近看一篇关于linux启动过程的文章,可以以这这篇文章为纲,向外发散思考操作系统 ,驱动程序设计 ,系统启动等多方面的知识。<br /> <br />这种以点带面的学习方法是我比较喜欢且擅长的。<br /> <br />于下周三完成 。<br /> <br />另外发现自己的表达 能力太差 ,不论是口头还是书面,写这个也是一个锻炼。原创 2011-02-25 23:35:00 · 134 阅读 · 0 评论 -
编写linux驱动常见问题(持续更新)
工作中遇到的编写Linux驱动的常见错误和注意事项整理,将不断更新。 问题1、驱动的init函数声明错误出错:[root@localhost]# insmod phyinfo.ko <br />insmod: error inserting 'phyinfo.ko': -159951552 Success 原因:驱动实现不对: static void phyinfo_init(void){............}module_init(phyinfo_init); 解决:phyinfo_init函数必须原创 2011-01-23 17:15:00 · 221 阅读 · 0 评论 -
网卡驱动6; 2410平台上dm9000a网卡驱动分析
<br />该驱动基于linux-2.6.24.4内核。<br /> 首先,需要在arch/arm/mach-s3c2410/mach-smdk2410.c文件中添加如下代码: static struct resource s3c_dm9000_resource [] = {<br /> [0] = {<br /> .start = 0x10000000,<br /> .end = 0x10000040,<br /> .flags = IORESOURCE_MEM<br /> },<br /> [1] =原创 2011-01-23 17:10:00 · 190 阅读 · 0 评论 -
网卡驱动5:dm9000驱动中用到一些函数的解释
<br />dm9000驱动中用到一些函数的解释<br /> <br />1。skb_reserve()<br /> skb_reserve可以在缓冲区的头部预留一定的空间,它通常被用来在缓冲区中给协议头预留空间或者在某个边界上对齐。这个函数改变data和tail指针,而data和tail指针分别指向负载的开头和结尾。这个函数通常在分配缓冲区之后就调用,此时的data和tail指针还是指向同一个地方。<br /> /usr/src/linux-2.6.19/include/linux/skbuff.h<br原创 2011-01-23 17:01:00 · 139 阅读 · 0 评论 -
网卡驱动4:DM9000寄存器功能详细介绍
<br />DM9000寄存器功能详细介绍 <br />DM9000(A)是一个全集成、功能强大、性价比高的快速以太网MAC控制器,它带有一个通用处理器接口、EEPROM接口、10/100 PHY和16KB的SRAM(13KB作为接收FIFO,3KB作为发送FIFO)。它采用单电源供电,可兼容3.3V、5V的IO接口电平。<br /> DM9000(A)同样支持MII(Media Independent Interface 介质无关)接口,连接到HPNA(Home Phone-line Networking原创 2011-01-23 17:00:00 · 243 阅读 · 0 评论