自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜影轩的专栏

和奋斗的人一起奋斗,让蜗居的人蜗居去吧.....

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

转载 详究2812 的内置ADC

AD的简单知识 AD,就是将模拟量转变为数字量的过程,一般分为取样、保持、量化、编码这4步。  由于模拟信号在时间上连续的,而数字信号在时间上离散的,所以转换时首先必须按 数字信号的节拍,对被转换的模拟信号采取样品。取样(Sample)的原理如图示。 开关受取样脉冲信号S(t)控制,S(t)=0时,开关断开,取样输出V1(t)=0;S(t)=1时,开关导通,

2013-03-31 21:25:30 1718

原创 SCI与SPI区别

SCI(serial communication interface)串行通信接口SPI(serial peripheral interface)串行外设接口1)SPI采用同步通信方式,除了发送和接受两根线外,还需要一根同步时钟线,SCI采用异步通信方式,只需要发送和接受两根线,通信双方微处理器使用各自的时钟。2)SPI适用于板上短距离高速率通信;SCI适用于对另外的设备长距离的低速率

2013-03-30 10:35:52 16069

转载 浮点数的内存表示

判断浮点数是否相等如果用下面的方法: float x = 0.6; if(0.6 == x) {     .... } 是不对的,得用下面的方法: if((x - 0.6 = -1e-6)) {     ... } 原因是,浮点数在内存中的值不是一个精确值,比如0.6在内存中的值不是绝对与0.6相等。 对于Intel CPU,对32位浮点数的表示

2013-03-25 17:28:04 646

转载 Linux设备驱动程序学习(13)-Linux设备模型(总线、设备、驱动程序和类)【转】

文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject、kset、attribute等等)的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的。总线总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都

2013-03-21 20:13:48 748

原创 字符设备驱动内核框架小结(一)

最近一直在学习驱动相关知识,但是如果说会用或者简单的会写的话我还不是很满足,我还是想知道它底层是如何实现的。那闲话少说,最近也看了很多大牛的经验总结,然后也就谈谈自己的看法吧~首先还是先列个大纲:1、VFS如何实现;2、字符设备驱动框架;一、VFS(虚拟文件系统)在学习这方面的知识之前先介绍下几个关键的结构体,inode、file、dentry、file

2013-03-20 10:22:55 3797 3

原创 linux下内存管理学习心得(二)

接着上面的知识,这篇主要总结如下几个方面知识:1、物理地址的页、区等概念2、内核使用内存的函数3、分配字节与分配页一、区、页前面linux下内存管理学习心得(一)也已经说了关于页的概念,在内核下面是把物理页(页框)作为分配的基本单元,内核下使用struct page结构体来表示系统中的物理页其中该结构体表示页是否被锁定在内存中,是否为脏页,该页被引用几次,同时还有页的虚

2013-03-19 15:43:36 1300

原创 linux下内存管理学习心得(一)

最近在学习内存管理的时候,发现对linux下的所谓内存如何管理如何分配都不熟悉,通过最近的查阅资料可总结如下,如有不妥之处欢迎大家批评与指正。总的的来说linux的内存管理其实主要难理解的是以下几个部分:1、虚拟地址、物理地址、线性地址、逻辑地址之间的区别。2、用户地址空间与内核地址空间区别。3、内核如何分配所谓的地址。4、一个可执行程序的地址分布以及运行地址分配。目前我也

2013-03-19 10:42:32 2909

转载 Linux进程地址空间的一步步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。  那虚拟内存空间是什么呢,它与实际物理内存空间又是怎样对应的呢,为什么有了虚拟内存技术,我们就能运行比实际物理内存大的应用程序,它是怎么做到的呢?  呵呵,这一切的一切都是个迷呀,下面我们就一步一步

2013-03-18 22:49:51 740

转载 Linux用户空间与内核空间

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段

2013-03-18 09:17:08 738

转载 linux文件系统实现浅析

之前有两篇文章整理过linux虚拟文件系统的结构,和linux文件读写的流程。其中一些由具体文件系统类型来实现的地方并没有深入叙述,只是说这是由具体的文件系统来实现的。比如,读写文件的时候,文件的读写位置怎么对应到实际的磁盘块呢?这是由具体的文件系统来实现的;再比如,寻找一个文件路径的时候,怎么知道XXX目录下是否有YYY文件存在呢?这也是由具体的文件系统来实现的。前些天同事问起linux下i

2013-03-15 22:09:08 780

转载 linux文件读写浅析

在《linux内核虚拟文件系统浅析》这篇文章中,我们看到文件是如何被打开、文件的读写是如何被触发的。对一个已打开的文件fd进行read/write系统调用时,内核中该文件所对应的file结构的f_op->read/f_op->write被调用。本文将顺着这条路走下去,大致看看普通磁盘文件的读写是怎样实现的。linux内核响应一个块设备文件读写的层次结构如图(摘自ULK3):

2013-03-15 22:08:36 770

转载 linux虚拟文件系统浅析

虚拟文件系统(VFS)在我看来, "虚拟"二字主要有两层含义:1, 在同一个目录结构中, 可以挂载着若干种不同的文件系统. VFS隐藏了它们的实现细节, 为使用者提供统一的接口;2, 目录结构本身并不是绝对的, 每个进程可能会看到不一样的目录结构. 目录结构是由"地址空间(namespace)"来描述的, 不同的进程可能拥有不同的namespace, 不同的namespace可能有着不

2013-03-15 22:07:57 631

转载 IO端口和IO内存的区别及分别使用的函数接口

IO端口和IO内存的区别及分别使用的函数接口          每个外设都是通过读写其寄存器来控制的。外设寄存器也称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把CPU分成两大类。一类CPU(如M68K,Power PC等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行,所以,这种CPU没

2013-03-14 15:01:58 1192

转载 Linux驱动程序头文件

#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include 在linux-2.6.

2013-03-14 14:15:43 811

原创 struct file struct inode

内核使用三种数据结构表示打开的文件:(1)每个进程在进程表中都有一个记录项,记录项包含一张打开的文件描述符表,可将视为矢量,每个描述符占用一项,与每个文件描述符相关联的是:a)文件描述符标志(close_on_exec).b))指向一个文件表项的指针。(2)内核为所用打开文件维持一张文件表,每个文件表项包含:a)文件状态标志(读写等等)b)当前文件偏移量。c)指向该文件

2013-03-13 22:00:20 4319 3

转载 JLINK与JTAG的区别

调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就是其中的一种, 那么我们如何完成RDI-->ARM调试协议(JTAG)的转换呢? 有以下两种做法:    1. 在电脑上写一个服务程序,把IAR、KEIL和ADS中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气物理层上的

2013-03-13 15:51:41 713

转载 设计模式C++实现(4)——单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做

2013-03-12 16:24:51 671

转载 设计模式C++实现(3)——适配器模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍适配器模式的实现。        D

2013-03-12 14:58:19 574

转载 设计模式C++实现(2)——策略模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍策略模式的实现。       策略模式是指定

2013-03-12 09:49:16 557

转载 设计模式C++实现(1)——工厂模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。       工厂模式属于创

2013-03-12 09:27:54 712

原创 char (*(*A())[])()意思

分析:1. A是标识符,所以先看包涵标识符的括号,先看 (*A())     ●     (*A())中标识符的右边是小括号(),这个后缀表示A 是一个函数     ●     (*A())中标识符的左边是星号*,这个前缀表示A函数返回一个指针2. 把(*A()) 作为整体,姑且称作标识符T,重复[1] 的步骤,分析char (*T[])()    ●

2013-03-11 17:08:49 877

转载 UML类图关系大全

1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。

2013-03-08 21:23:25 499

转载 关联、组合、聚合、依赖关系比较

类之间的关系1. 种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。2.  其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。3.  Genera

2013-03-06 20:46:01 502

转载 java内存分配

面向对象这点不陌生了,从C#,到VB.net,再到此时的Java.其中学习的概念以及思想是一致的,只不过语言的关键字不同罢了.      在学Java中面向对象中,回顾当年的C#,重新翻阅了当年写的总结,其中也涉及到了C#与Java的比对.http://lianghuanyue123.blog.163.com/blog/static/130423244201010129225978

2013-03-04 16:09:27 324

转载 Java IO流分析整理

Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。输出流:输入流:因此输入和输出都是从程序的角度来说的。字节流:一次读入或读出是8位二进制。字符流:一

2013-03-04 11:26:37 313

转载 集合与容器的区别

.集合类是放在java.util.*;这个包里。集合类存放的都是对象的引用,而非对象本身,为了说起来方便些,我们称集合中的对象就是指集合中对象的引用(reference)。引用的概念大家不会忘了吧,在前边我们讲数据类型时讲的。            集合类型主要有3种:set(集)、list(列表)、map(映射)和Queue(队列)。//队列为jdk5中的加上的

2013-03-03 19:59:11 1694

中兴N986刷机教程支持G网

本教程已经成功实践过,绝对可以用!主要用于中兴N986手机!

2013-09-08

2013中兴捧月杯“无线协议栈仿真”

本次任务是第五届中兴杯月杯的最终源码 其中本人已经进入决赛 其中开发语言是Qt 直接可以运行并包括源码和可执行文件

2013-09-08

空空如也

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

TA关注的人

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