- 博客(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 446
转载 UDP协议及包格式
------------------总结起来:1.无连接,不可靠;2.出错(通过校验和检查)就丢掉此包,丢失不重传,只是给个警告;3.包的格式,有源端口和目的端口,校验和等;4.端口号,根据应用层服务的不同,可以是默认的端口,也可以自己设定。-----------------UDP协议的主要特点UDP是一种无连接的、不可靠的传输层协议;在完成进程到进程的通信
2016-08-04 11:15:08 390
转载 mini2440-nandflash基本操作
nandflash在对大容量的数据存储中发挥着重要的作用。相对于norflash,它具有一些优势,但它的一个劣势是很容易产生坏块,因此在使用nandflash时,往往要利用校验算法发现坏块并标注出来,以便以后不再使用该坏块。nandflash没有地址或数据总线,如果是8位nandflash,那么它只有8个IO口,这8个IO口用于传输命令、地址和数据。nandflash主要以page(页)为单位进行
2016-07-22 17:57:40 1246
转载 ARM MMU工作原理剖析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成
2016-06-26 10:05:26 369
转载 关于ARM9和ARM7中都是PC=当前执行指令地址+8的解释
ARM7是三级流水线,AMR7的三级流水线如下:执行指令地址=0 取指PC = 4解码执行指令地址=4 取指PC = 8解码执行指令地址=8
2016-06-18 18:13:42 1377
转载 linux指令--chmod详解
chmod----改变一个或多个文件的存取模式(mode)chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options
2016-06-12 15:03:50 308
转载 MATLAB中的点运算
例如 .* 点乘.^ 点乘幂.\ 点左除./ 点右除解释:点运算是对相同维数的矩阵的对应元素进行相应的运算。矩阵的点积,就是加点的情况就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小矩阵的乘法,就是不加点的情况就是矩阵a的第一行乘以矩阵b的第一列,各个元素对应相乘然后求和作为第一元
2016-05-15 15:31:09 3944
转载 Linux 文件系统剖析
什么是文件系统?首先回答最常见的问题,“什么是文件系统”。文件系统是对一个存储设备上的数据和元数据进行组织的机制。由于定义如此宽 泛,支持它的代码会很有意思。正如前面提到的,有许多种文件系统和媒体。由于存在这么多类型,可以预料到 Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。挂装在 Linux 中将一个文件系统与一个存储设备
2016-05-14 20:33:36 429
转载 linux设备驱动模型
Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。在正式进入设备驱动模型的学习之前,有必要把documentation/filesyste
2016-05-14 20:02:14 297
转载 linux下vi命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
2016-05-13 10:23:16 226
转载 linux文件系统目录结构 && 设备文件系统sysfs
(1)linux文件系统目录结构介绍 进入Linux根目录/之后,运行:ls -l 即可查看。/bin:包含基本命令文件,如ls,cp等,这个文件中的文件都是可执行的。/boot:Linux系统的内核及引导系统程序所需要的文件,如vmlinuz,initrd.img都位于这个目录中。/dev:设备文件存储目录,应用程序通过对这些文件的读写和控制就可以访问实际的设备。如:l
2016-05-12 20:42:15 591
转载 Linux 设备驱动框架
(1)驱动框架 Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,
2016-05-12 20:34:32 291
转载 进程上下文和中断上下文
内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内存映射,即自己的地址空间。处理器总处于以下状态中的
2016-05-11 17:10:26 343
转载 Linux设备模型--kobject&kset
一、重要知识点 1.Sysfs文件系统 Sysfs文件系统是一种类似于proc文件系统的特殊文件系统,它存在于内存当中,当系统启动时由内核挂载于内存当中。用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的数据结构信息。 2.Linux设备底层模型 1)为什么要使用设备模型
2016-05-08 19:22:05 358
转载 自动创建设备文件
自动创建设备文件设备文件是非常重要的文件,是应用程序与设备驱动交换数据,控制硬件的桥梁。在驱动程序中open、release的实现过程中其中的一个参数struct inode实质就是设备文件的索引,没有这个索引也就没有后期的各种操作,通常设备文件也被称为设备文件节点。因此没有设备文件后期的各种实现都是多余的。设备文件的创建有两种方法,其中就是在创建文件系统过程中用到的mknod命令。该
2016-05-04 22:12:56 1652
转载 poll设备方法
当应用程序需要进行对多文件读写时,常用到 poll(System V)、select(BSD Unix)、 epoll(linux2.5.45开始)(没验证)系统调用配合使用。当poll函数返回时,会给出一个文件是否可读写的标志,应用程序根据不同的标志读写相应的文件,实现阻塞或非阻塞的读写。这些系统调用功能相同:允许进程来决定它是否可阻塞或非阻塞的读写一个或多个文件。这些调用都需要来自设备
2016-05-04 22:11:10 350
原创 c语言中关键字 static 的相关理解
c语言中static的含义1.static变量: 1).局部 a.静态局部变量在函数内定义,生存期为整个源程序,但作用域与一般变量相同,只能在定义该变量的函数内使 用。退出该函数后,尽管该变量还继续存在,但不能在其他地方使用它。 b.对基本类型的静态局部变量若在声明时未赋初值,则系统自动赋0。而对一般变量不赋初值,则其值是不定的。 2).
2016-04-29 18:13:38 365
原创 文件系统的类型简介
文件系统的类型简介Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的应用编程接口。根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为
2016-04-15 17:43:14 4293
原创 交叉工具链的安装与使用
交叉工具链的安装与使用 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 308
原创 根文件系统制作流程
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 343
原创 嵌入式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 435
原创 内核模块参数例子
//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 260
原创 内核符号导出例子
/proc/kallsyms 记录了内核中所有导出的符号的名字与地址。内核符号的导出使用:EXPORT_SYMBOL(符号名)EXPORT_SYMBOL_GPL(符号名)**其中EXPORT_SYMBOL_GPL只能用于包含GPL许可证的模块。//calculate.c#include #include MODULE_LICENSE("GPL")
2016-04-15 16:14:25 413
原创 内核模块消息打印
1,在 中定义了8种 记录级别。 按照,优先级递减的顺序分别是:KERN_EMERG “”用于紧急消息,常常是那些崩溃前的消息。KERN_ALERT “”需要立刻行动的消息。KERN_CRIT “”
2016-04-15 16:08:58 362
原创 模块信息声明
模块信息声明1、许可证申明MODULE_LICENSE("GPL");宏MODULE_LICENSE用来告知内核, 该模块带有一个许可证。有效的许可证有"GPL“, "GPL v2", "GPL and additional rights",
2016-04-13 15:06:37 502
原创 内核模块操作指令(安装与卸载)
内核模块操作指令(安装与卸载)1,加载 insmod (insmod hello.ko)2,卸载 rmmod (rmmod hello)3,查看 lsmod 4,加载 modprobe (modprobe hello) modprobe 如同 insmod, 也是加载一个模块到内核。 它的不同之处在于它会根据文件/lib/
2016-04-13 15:03:05 460
原创 x86平台内核配置,编译和安装过程(常用操作)
x86平台内核配置,编译和安装过程(常用操作)1,获取linux内核源码 2,清除临时文件,中间文件和配置文件 指令:make distclean 介绍:删除所有配置项和配置文件3,配置内核 指令:make menuconfig 介绍:基于文本模式的菜单型配置 技巧:make menuconfig 是最为常用的内核配置方式,使用方法如下: 1、使用方向键在各选项间移动
2016-04-12 12:17:25 1412
原创 嵌入式linux常用shell指令
嵌入式linux常用shell指令 注:以上是较常用的指令的简单用法,在此记录备用,更多指令及详细用法:http://www.ourlinux.net1,mkdir作用:创建文件夹用法:mkdir foldername
2016-04-09 19:44:10 609
hyper_terminal.zip
2016-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人