自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 收藏
  • 关注

原创 如今新的博客全部迁往新的地址

新的博客地址是豆米的博客。喜欢的童鞋们可以前往查看

2016-01-12 20:54:55 468

翻译 RFC1542:Clarifications and Extensions for the Bootstrap Protocol

RFC1542:Clarifications and Extensions for the Bootstrap Protocol1. Introduction。。。。。。。。。。。。Unfortunately, the original BOOTP specification [1] left some issues of the protocol open to question.

2012-11-05 23:52:48 1389

原创 Dhcp学习笔记

Dhcp学习笔记一:udp端口使用问题B O O T P有两个熟知端口: BOOTP  服务器为6 7,BOOTP  客户为6 8。这意味着BOOTP  客户不会选择未用的临时端口,而只用端口 6 8。选择两个端口而不是仅选择一个端口为 B O O T P服务器用的原因是:服务器的应答可以进行广播(但通常是不用广播的)。如果服务器的应答是通过广播传送的,同时客户又选择未用的临时端口,那么这

2012-11-05 23:45:16 1694

原创 busybox之dhcprelay源码分析

UDHCP之DHCP中继源码分析-------本文旨在全面了解busybox中的udhcp文件夹下的DHCP中继工作原理一、了解udhcp文件下涉及到dhcprelay的文件:1、 主文件:dhcprelay.c。dhcprelay功能的实现基本全靠这个文件实现,从解析命令到封装数据包发送数据包等等。2、 辅助文件common.c与common.h。这两个文件定义了一些通用的函数,

2012-11-05 23:41:46 2518 4

原创 2层,3层,4层交换机的区别与特点

二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下: (1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的; (2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端

2012-09-11 23:25:57 1531

原创 LACP抓包分析结果

LACP抓包分析结果今天利用wireshark来抓LACP包,分析的结果如下:1、实验环境两台交换机:分别是IP-COM/G3224T、H3C/S5024E;MAC:IP-COM的是00B0-4C00-079E,H3C的是000F-E2B9-B221;汇聚组选择:IP-COM是选择1、2、3作为汇聚组,华三的是10、12、14作为汇聚组。2、实验介绍:2.1、实验一

2012-08-18 22:33:20 11875 1

原创 802.1ax学习之LACP

802.1ax学习之LACP文档位于《802.1ax-2008.pdf》中P25~P96,但是在76页之后的协议内容是另外一种叫Marker Protocol协议但也是用于端口汇聚的,这里暂时不加进来讨论。1、文档结构翻译整个文档的结构我们翻译如下:5.1 综述5.1.1 状态图的约定5.1.1.1 状态块的功能5.1.1.2 状态图变量5.1.1.3 状态转换

2012-08-18 22:25:25 7305 4

原创 一些其他知识学习

最近忙于交换机的学习,所以没能分享一些新的东西。不过我已经准备好了一些交换机的学习笔记,有助于刚学交换机的童鞋们学习,这个灯月底时再发布,有些内容还待完善!下面所讲的都是一些小知识.1、中断与轮询的区别:对于中断密集型的事件一般都是采用轮询机制的,比如网卡(应该说是网卡最主要的实现还是轮询,虽然有中断参与)。具体怎么实现呢?这就得自己去看驱动代码了。对于中断不密集型的事件就采用中断机制

2012-08-12 16:59:30 844

转载 c++内存到底分几个区?

c++内存到底分几个区?一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。  2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。  3、全局区(静态区)(static)—,全局变量和静态变量的存

2012-08-12 16:33:03 974

转载 内存屏障的意义!

当你看到“内存屏障”四个字的时候,你的第一反应是什么?寄存器里取出了错误的值?ifence,sfence之类的指令?还是诸如volatile之类的关键字?好吧,我第一次看到这四个字的时候,脑子里浮现出的是魔兽争霸里绿油油的铺满苔藓的岩石屏障- -#,并且,当我搞明白内存屏障具体是什么,而且自认为对其很熟悉之后,我的第一反应依然是那几块绿油油的石头,而且很想上去A一把!言归正传,先解释下什么是内

2012-06-23 15:31:38 1110

原创 OV9650CMOS摄像头驱动解析

由于CSDN不支持word的批注,复制过来看不到批注,我只能贴出图片,有点笨,不知大侠们有什么更好的办法请留言,以免以后这样太麻烦。如果看得不爽,我已经将其原稿上传到CSDN的资源中,搜一下“OV9650CMOS摄像头驱动解析”就会有结果的!或者链接地址:http://download.csdn.net/detail/linxiaowu66/4364535!

2012-06-10 19:45:53 1030

原创 各种经验与教训

输入和输出是通过内存中的缓冲来完成的,这让事情变得更快,程序的写入会存放在内存缓冲中,然后再一起写入硬盘。守护进程kflushd和kupdate管理这些工作。kupdate间断的工作(每5秒?)来检查是否有写过的缓冲,如过有,就让kflushd把它们写入磁盘。进程有时候无事可做,当他运行时也不一定需要把所有的代码和数据都放在内存中。这意味着我们可以通过把运行中程序不用的内容切换到交换分区来更好

2012-06-08 07:48:26 827 1

转载 threshold for buffer fratricide搜索的关键词而有的结果

如前所述,所有的 Linux文件系统使用共同的缓冲区高速缓存。所有块设备的读取和写入请求通过标准的内核例程调用,以 buffer_head数据结构的形式提交给设备驱动程序(参见本书 12.5.3 小节)。buffer_head中包含了唯一标识块所在设备的设备标识符,以及要读取或写入的块编号。为了加速对物理块设备的访问过程,Linux使用了缓冲区高速缓存。在高速缓存中,任意给定的时间内,存在着来自不

2012-06-08 07:47:37 680

转载 Linux内核参数,proc/sys/vm/…

与磁盘IO子系统有关的/proc/sys/vm/dirty_ratio这个参数控制文件系统的文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,一般启动上缺省是10。下面是增大的方法: echo '

2012-06-08 07:47:10 1783

原创 内核中各种出错函数的总结

1、许多的内核函数需要返回一个指针,但是函数的调用可能失败,一般我们处理这样的情形都是返回一个NULL指针,就像malloc或kmalloc在没有获得指定的空间申请时的返回值一样。但是有时我们想知道导致函数失败的原因,但是返回NULL就显得信息不够。因此有些函数返回一个实际的错误编码以便对引起错误的原因做一些处理。很多内核接口通过把错误值编码到一个指针值中来返回错误信息。当处理这样的函数时,判断是

2012-06-08 07:46:30 882

原创 vlc编译与安装步骤

Vlc是一个很好的软件,其所依赖的库文件很多很多,在一个比较简单的系统下,需要安装的库文件我在此列出,仅供参考,因为大家环境不一样啊!我是在fedora14中,虚拟机大小才6G的环境下安装的(可以看出我的fedora14安装的软件很少啊)若是以后没有出现错误建议可以装第一个库文件lua,若是出现错误,建议你用这个选项--disable-lua来禁止lua,这个错误是在make时出现的,具体也忘

2012-06-07 08:16:45 646

转载 个性化定制你的命令行

如果您很容易使shell 提示行变得色彩绚烂斓且带有更多信息,为什么还要坚持用单调的标准 shell 提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的shell提示行,并会说明如何动态更新 X 终端的标题栏。作为 Linux/Unix 人,我们有很长的时间是在 shell中工作,并且在许多情况下, 下面这一行就是始终盯着我们的那个提示行:

2012-06-07 08:16:16 750

原创 网络编程常见函数解析

最近重学了网络编程,顺便修改了国嵌的网络编程视频一节的tcp服务器程序,颇有心得。先介绍函数以供以后使用。函数1、int socket(int domain, int type, int protocol);(以后的每个函数后面的英文都是摘自posix标准)The socket() function shall create an unbound socket in a communi

2012-06-07 08:16:01 652

转载 混杂设备、字符设备、平台设备三者的注册方式比较

混杂设备、字符设备、平台设备三者的注册方式比较。今天没事干,顺便总结一下设备注册的几种方式,有的方式已经不提倡使用了,所以大家可以随便一看,记得以后使用最新的方法就行了。首先说已经不提倡使用的字符设备注册方法:register_chrdev()函数。这个函数的功能是注册字符设备,获得主设备号,并将为给定的主设备号注册0~255作为次设备号,同时为每个设备建立一个默认的cdev结构。如果它的

2012-06-07 08:15:51 1711

转载 linux系统下编译的一些有用的选项以及错误

3。为什么会出现undefined reference to 'xxxxx'错误?首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm。4。-l参数和-L参数-l参数就是

2012-06-07 08:15:35 1177

转载 linux系统下修改终端的文件目录显示颜色

Thefollowingsare something aboutLS_COLORS:Here is an easy way to setdifferent colours for different kinds of files when using thelscommand.Add the following lines tothe bottom of your~/.bashrc f

2012-06-07 08:14:45 1256

原创 学习snmp的体会(推荐一看,涵盖了初学者会犯的大部分错误)

1. 获取net-snmp开发包可以用开源上http://www.net-snmp.org/download.html获取自己所需要的各种版本。2. 分析需求,进行合理配置与编译安装比如要不要将其编译成动态库,还是静态库;要不要某些库;等等。可以通过在其目录下执行./configure --help即可知道她有配置的选项。比如“—host=xxx”配置她将在什么样的环境下运行,“—bu

2012-06-07 08:14:29 3561 3

转载 以root身份进入fedora13的方法

首先以用户账号进入终端,允许root账号登陆:  $ su  $ vi /etc/pam.d/gdm  删除其中的一行 auth required pam_succeed_if.souser != root quiet  :wq保存并退出。  $ vi /etc/pam.d/gdm-passwaord  删除其中的一行 auth required pam_succeed_i

2012-06-07 08:14:10 603

转载 windows电脑常识

一,巧解任何电脑的开机密码小小一招巧解任何电脑的开机密码,无需任何工具,无需放电,任何电脑当开机需要密码时,只需将机箱打开,把里面的声卡或其它任何一个零件拔下来,然后通电启动,主板自检后再强行关机,把拔下的零件再插上去,开机,密码自动清除,百试百灵。二,让你的键盘会说话长期面对无声的电脑,我们难免疲倦。如果正在输入的内容被系统一字(字母)不差地念出来,你还能在无声的疲倦中输

2012-06-07 08:11:27 932

原创 在fedora15的环境下编译与安装opencv,并测试人脸检测程序

在fedora15的环境下编译与安装opencv,并测试人脸检测程序第一步:由于opencv是在cmake工具下建立的工程,所以我们先要下载cmake,下载地址随便一搜都有,不多说。下载到home的主目录下,这里我们是/home/lg。看下面的命令:#cd /home/lg#tar xzvf CMake2.4.7.tar.gz .#cd CMake2.4.7#./boostra

2012-06-07 08:11:11 791

原创 一个基于mini2440的测试按键与led灯的测试程序

#include#include #include #include #include #include #include #include #include #includeint main(void){ int buttons_fd,led_fd; char buttons[6] = {'0', '0', '0', '0', '0','0'}

2012-06-07 08:10:54 840

原创 基于mini2440的按键驱动分析与总结

编写按键驱动的方法很多,这里我仅仅列举用中断法加上简单地字符设备注册来编写,并没有采用misc设备来注册。(这里的注册函数都是相对古老,以后不推荐使用!)首先编写一个设备驱动程序头文件先定义了,这很容易,照搬别人的就行了。接着确定你的设备驱动程序会用到的数据结构,这里会用到一个重要的数据结构,struct button_irqs,用来表征按键的状态以及按键的标识。接着确定file_operatio

2012-06-07 08:10:09 649

转载 目录下的./bashrc文件的作用

使用manbash命令查看到的联机帮助文件中的相关解释如下:.bashrc - The individual per-interactive-shell startupfile.这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子: # User specific aliasesand functionsPATH="/bin:/sbin:/usr/bin:/usr/sbin:

2012-06-07 08:09:54 2988

转载 pkg-config的使用

pkg-config的使用  一、编译和连接       一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统

2012-06-07 08:09:36 588

转载 关于在linux系统下自启动的一些常识

Ubuntu 中系统没有了RH系统中的chkconfig 命令!可用一些小工具来管理 Ubuntu 的启动选项:小工具 rcconf:#sudo apt-get rcconf#sudo apt-get install rcconfroot 下运行: #sudo rcconf功能更全的工具:sysv-rc-conf#sudo apt-get update#sudo a

2012-06-07 08:08:56 417

原创 最近得到的一些收获

这几天重新学习了linux下的驱动,自己写下这些心得以供日后参考:1、有时make menuconfig时会出现这个错误:*** Unable to find the ncurses librariesor the *** required header files. *** 'make menuconfig' requires the ncurseslibraries. **

2012-06-07 08:08:12 883 4

转载 Linux内核的等待队列

Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在Linux2.4.21中,等待队列在源代码树include/linux/wait.h中,这是一个通过list_head连接的典型双循环链表,如下图所示。 在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_qu

2012-06-07 08:07:32 419

原创 基于mini2440的led驱动编写的总结

基于mini2440的led驱动编写的总结(可以成为模板)该驱动用到I/O常见的端口操作函数:s3c2410_gpio_cfgpin和s3c2410_gpio_setpin。前一函数实现了设置端口的状态为输入/输出/其他,后一函数实现了端口输出高/低电平。主要谈一下前一个函数的一些重要语句。首先是原型:s3c2410_gpio_cfgpin(unsignedint pin,unsigned i

2012-06-07 08:07:02 757

原创 linux笔试题参考答案(4)

linux笔试题参考答案(4)(部分题目还没找到答案,改天在贴出)1. 嵌入式linux和wince操作系统的特点和特性?2. 嵌入式linux中tty设备驱动的体系结构?3. 嵌入式设备,为加快启动速度,可以做哪些方面的优化?4. USB设备的枚举过程?5. PSRAM、SDRAM、DDR、DDR2的时序特性?6. I2C触摸屏芯片与CPU的数据传输流程?画出相关图例

2012-06-07 08:06:32 2633 3

转载 c/c++笔试题(3)

c/c++笔试题(3)(转载的)第1题目:考查逗号表达式main(){ int a, b,c, d; a=3; b=5; c=a,b; d=(a,b); printf("c=%d" ,c);printf("d=%d" ,d);}这段程序的输出是:(a) c=3 d=3(b) c=5 d=3(c) c=3 d=5(d) c=5 d=5第1题:(c)考查逗号表达式,

2012-06-06 17:46:04 1798

转载 c/c++笔试题(2)(转载的)

c/c++笔试题(2)(转载的)1.尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?这里,我期望应试者能提到内存碎片,碎片收集的问题,变量的持行时间等等。这个主题已经在ESP杂志中被广泛地讨论过了(主要是P.J.Plauger, 他的解释远远超过我这里能提到的任何解释),所有回过头看一下这些杂志吧!

2012-06-06 17:08:40 891

转载 c/c++笔试题(1)

c/c++笔试题(1)(转载的)1、C++中为什么用模板类。答:(1)可用来创建动态增长和减小的数据结构(2)它是类型无关的,因此具有很高的可复用性。(3)它在编译时而不是运行时检查数据类型,保证了类型安全(4)它是平台无关的,可移植性(5)可用于基本数据类型2、CSingleLock是干什么的。答:同步多个线程对一个数据类的同时访问3、函数模板与类模板有什么区

2012-06-06 17:07:02 881

转载 linux笔试题参考答案(3)

linux笔试题参考答案(3)Linux笔试题1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。参考答案:Linux通过i节点表将文件的逻辑结构和物理结构进行转换。i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号

2012-06-06 17:03:05 1086

原创 linux笔试题参考答案(2)

linux笔试题参考答案(2)1.下面的网络协议中,面向连接的的协议是: A 。 A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议(UDP(用户报文协议)是不建立连接的)2. 在/etc/fstab文件中指定的文件系统加载参数中,参数一般用于CD-ROM等移动设备。:DA defaults B sw C rw和ro D noauto3. Linux文

2012-06-06 17:01:56 3778

转载 中断上下文

中断上下文基于源代码分析Linux-2.4、2.6系统中断处理程序下半部王海花杨斌李东亮 (西南交通大学信息科学与技术学院,四川成都610031)摘 要:linux设备驱动中,中断处理程序由于本身的局限性,被分成了上半部分和下半部分。其中下半部分是中断处理程序中上半部分未完成工作的推迟,它有多种实现机制。因此,深入分析和研究这些机制,将会给驱动程序的开发工作提供很大帮助。本文以

2012-06-06 17:00:00 1370

SublimeText3开箱即用

这个压缩包解压即可使用,支持React、ES6语法的插件,更可以直接Eslint检查,包含基本的必备插件。

2016-09-22

OV9650CMOS摄像头驱动解析

略微简单的OV9650摄像头驱动解析,配合mini2440开发板的CMOS摄像头!

2012-06-10

vlc依赖的所有库,如xcb、libmad、ffmpeg、libdrm

安装vlc时你所需要的所有库文件,分享这个资源是想让大家不再为这个烦恼!

2012-03-13

POSIX标准以及函数接口查询

里面有详细的linux/unix的所有API与接口函数,这里可以查找很多你想用的东西

2012-02-20

空空如也

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

TA关注的人

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