自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

daibitao的专栏

To be better!

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

转载 (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

目录IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMPIP 数据报首部IP数据报首部格式:最高位在左边,记为0 bit;最低位在右边,记为31 bit版本:占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)首部长度:占4位,可表示的最大数值是15个单位(

2016-08-04 11:50:40 412

转载 UDP协议及包格式

------------------总结起来:1.无连接,不可靠;2.出错(通过校验和检查)就丢掉此包,丢失不重传,只是给个警告;3.包的格式,有源端口和目的端口,校验和等;4.端口号,根据应用层服务的不同,可以是默认的端口,也可以自己设定。-----------------UDP协议的主要特点UDP是一种无连接的、不可靠的传输层协议;在完成进程到进程的通信

2016-08-04 11:15:08 377

转载 mini2440-nandflash基本操作

nandflash在对大容量的数据存储中发挥着重要的作用。相对于norflash,它具有一些优势,但它的一个劣势是很容易产生坏块,因此在使用nandflash时,往往要利用校验算法发现坏块并标注出来,以便以后不再使用该坏块。nandflash没有地址或数据总线,如果是8位nandflash,那么它只有8个IO口,这8个IO口用于传输命令、地址和数据。nandflash主要以page(页)为单位进行

2016-07-22 17:57:40 1225

转载 ARM MMU工作原理剖析

一、MMU的产生      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成

2016-06-26 10:05:26 352

转载 关于ARM9和ARM7中都是PC=当前执行指令地址+8的解释

ARM7是三级流水线,AMR7的三级流水线如下:执行指令地址=0     取指PC = 4解码执行指令地址=4    取指PC = 8解码执行指令地址=8

2016-06-18 18:13:42 1362

转载 linux指令--chmod详解

chmod----改变一个或多个文件的存取模式(mode)chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options

2016-06-12 15:03:50 283

转载 MATLAB中的点运算

例如  .* 点乘.^ 点乘幂.\ 点左除./ 点右除解释:点运算是对相同维数的矩阵的对应元素进行相应的运算。矩阵的点积,就是加点的情况就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小矩阵的乘法,就是不加点的情况就是矩阵a的第一行乘以矩阵b的第一列,各个元素对应相乘然后求和作为第一元

2016-05-15 15:31:09 3877

转载 Linux 文件系统剖析

什么是文件系统?首先回答最常见的问题,“什么是文件系统”。文件系统是对一个存储设备上的数据和元数据进行组织的机制。由于定义如此宽 泛,支持它的代码会很有意思。正如前面提到的,有许多种文件系统和媒体。由于存在这么多类型,可以预料到 Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。挂装在 Linux 中将一个文件系统与一个存储设备

2016-05-14 20:33:36 418

转载 linux设备驱动模型

Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。在正式进入设备驱动模型的学习之前,有必要把documentation/filesyste

2016-05-14 20:02:14 283

转载 linux下vi命令大全

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

2016-05-13 10:23:16 213

转载 linux文件系统目录结构 && 设备文件系统sysfs

(1)linux文件系统目录结构介绍      进入Linux根目录/之后,运行:ls -l 即可查看。/bin:包含基本命令文件,如ls,cp等,这个文件中的文件都是可执行的。/boot:Linux系统的内核及引导系统程序所需要的文件,如vmlinuz,initrd.img都位于这个目录中。/dev:设备文件存储目录,应用程序通过对这些文件的读写和控制就可以访问实际的设备。如:l

2016-05-12 20:42:15 540

转载 Linux 设备驱动框架

(1)驱动框架      Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,

2016-05-12 20:34:32 274

转载 进程上下文和中断上下文

内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内存映射,即自己的地址空间。处理器总处于以下状态中的

2016-05-11 17:10:26 331

转载 Linux设备模型--kobject&kset

一、重要知识点          1.Sysfs文件系统       Sysfs文件系统是一种类似于proc文件系统的特殊文件系统,它存在于内存当中,当系统启动时由内核挂载于内存当中。用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的数据结构信息。     2.Linux设备底层模型        1)为什么要使用设备模型 

2016-05-08 19:22:05 331

转载 自动创建设备文件

自动创建设备文件设备文件是非常重要的文件,是应用程序与设备驱动交换数据,控制硬件的桥梁。在驱动程序中open、release的实现过程中其中的一个参数struct inode实质就是设备文件的索引,没有这个索引也就没有后期的各种操作,通常设备文件也被称为设备文件节点。因此没有设备文件后期的各种实现都是多余的。设备文件的创建有两种方法,其中就是在创建文件系统过程中用到的mknod命令。该

2016-05-04 22:12:56 1624

转载 poll设备方法

当应用程序需要进行对多文件读写时,常用到 poll(System V)、select(BSD Unix)、 epoll(linux2.5.45开始)(没验证)系统调用配合使用。当poll函数返回时,会给出一个文件是否可读写的标志,应用程序根据不同的标志读写相应的文件,实现阻塞或非阻塞的读写。这些系统调用功能相同:允许进程来决定它是否可阻塞或非阻塞的读写一个或多个文件。这些调用都需要来自设备

2016-05-04 22:11:10 335

原创 c语言中关键字 static 的相关理解

c语言中static的含义1.static变量: 1).局部   a.静态局部变量在函数内定义,生存期为整个源程序,但作用域与一般变量相同,只能在定义该变量的函数内使     用。退出该函数后,尽管该变量还继续存在,但不能在其他地方使用它。   b.对基本类型的静态局部变量若在声明时未赋初值,则系统自动赋0。而对一般变量不赋初值,则其值是不定的。 2).

2016-04-29 18:13:38 337

原创 文件系统的类型简介

文件系统的类型简介Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的应用编程接口。根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为

2016-04-15 17:43:14 4253

原创 交叉工具链的安装与使用

交叉工具链的安装与使用 1, 交叉编译工具链的安装(即解压工具链)#tar zxvf arm-linux-4.3.2.tgz -C / 2, 为工具添加环境变量在/etc/profile 中添加 pathmunge /xxx/4.3.2/bin                                     (arm-linlux-gcc所在目录)3

2016-04-15 16:41:51 293

原创 根文件系统制作流程

1、创建根文件系统的目录#mkdir rootfs #cd       rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules2、创建设备文件#cd dev/#mknod -m 666 console c 51

2016-04-15 16:38:58 328

原创 嵌入式linux内核制作流程

1,清除原有配置与中间文件x86:  make distcleanarm: make distclean2、配置内核x86:  make menuconfigarm: make menuconfig ARCH=arm/*nfs与ramdisk启动的区别*/3、编译内核x86:  make bzImagearm: make uImage ARCH=

2016-04-15 16:31:47 424

原创 内核模块参数例子

//param.c#include #include MODULE_LICENSE("GPL");static char *name = "DAIBITAO";static int age=30;module_param(age, int ,S_IRUGO);module_param(name, charp ,S_IRUGO);static int

2016-04-15 16:25:52 242

原创 内核符号导出例子

/proc/kallsyms 记录了内核中所有导出的符号的名字与地址。内核符号的导出使用:EXPORT_SYMBOL(符号名)EXPORT_SYMBOL_GPL(符号名)**其中EXPORT_SYMBOL_GPL只能用于包含GPL许可证的模块。//calculate.c#include #include MODULE_LICENSE("GPL")

2016-04-15 16:14:25 395

原创 内核模块消息打印

1,在 中定义了8种 记录级别。      按照,优先级递减的顺序分别是:KERN_EMERG                    “”用于紧急消息,常常是那些崩溃前的消息。KERN_ALERT                     “”需要立刻行动的消息。KERN_CRIT                         “”

2016-04-15 16:08:58 349

原创 模块信息声明

模块信息声明1、许可证申明MODULE_LICENSE("GPL");宏MODULE_LICENSE用来告知内核, 该模块带有一个许可证。有效的许可证有"GPL“,                         "GPL v2",                         "GPL and additional rights",               

2016-04-13 15:06:37 454

原创 内核模块操作指令(安装与卸载)

内核模块操作指令(安装与卸载)1,加载 insmod (insmod hello.ko)2,卸载 rmmod (rmmod hello)3,查看 lsmod 4,加载 modprobe (modprobe hello)      modprobe 如同 insmod, 也是加载一个模块到内核。      它的不同之处在于它会根据文件/lib/

2016-04-13 15:03:05 446

原创 x86平台内核配置,编译和安装过程(常用操作)

x86平台内核配置,编译和安装过程(常用操作)1,获取linux内核源码 2,清除临时文件,中间文件和配置文件 指令:make distclean 介绍:删除所有配置项和配置文件3,配置内核 指令:make menuconfig 介绍:基于文本模式的菜单型配置 技巧:make menuconfig 是最为常用的内核配置方式,使用方法如下: 1、使用方向键在各选项间移动

2016-04-12 12:17:25 1382

原创 嵌入式linux常用shell指令

嵌入式linux常用shell指令                                                                 注:以上是较常用的指令的简单用法,在此记录备用,更多指令及详细用法:http://www.ourlinux.net1,mkdir作用:创建文件夹用法:mkdir foldername

2016-04-09 19:44:10 587

hyper_terminal.zip

2016-04-05

空空如也

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

TA关注的人

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