原创 《嵌入式硬件设计》

2007-3-11 22:00 3343 7 8 分类: MCU/ 嵌入式

《嵌入式硬件设计》
《Designing Embedded Hardware》
-----------Jogn Catsoulis著
-----------O'REILLY Media, Inc.


price:39.50元


这本书让你对硬件和软件是如何协调工作的有一个很好了解。


集成开发环境  IDE,Integrated Development Environment

微处理器microprocessor
微控制器microcontroller
片上系统SOC,System-On-Chip
大规模并行机Connection Machine
中央处理器CPU,Central Processing Unit

地址空间address space
内存映射memory map

/**************************************************************************************************************************/
    内存空间内的每一存储单元都有一个唯一、有序的地址,内存单元的地址用来定位(和选择)该内存单元。内存空间也就是通常所说的地址空间(address space),
如何划分不同的内存与I/O设备之间的地址空间就是内存映射(memory map)。

    有些处理器,特别是Intel公司的X86系列,为I/O设备设置了单独的地址空间,并且有单独的指令来访问这样的空间,这就是I/O端口映射方式(ported I/O).
然而,大多数处理器在地址空间之内并不对存储器和I/O设备进行区分,I/O设备和存储器存在于相同的线性空间内,使用相同的指令对这两种地址进行访问,
这就是I/O内存映射方式(memory-mapped I/O).I/O内存映射方式是目前最为常见的方式,而I/O端口映射方式很少用了,这一术语也就用的更少了。




/*********端口I/O*******/
=========
=存储器 =0x00000001
=========

=========   ==============
=存储器 =   =   I/O      =
=========   ==============


内存空间     I/O空间

/*************************/


/*******内存映射I/O*******/
=========
=存储器 =
=========
=  I/O  =
=========  
=存储器 =  
=========
  
内存空间

/************************/



/************************************************/
哈佛体系结构:

程序内存-------〉处理器《------------》数据内存

/*************************************************/

三总线系统:

000000000--------地址------〉00000000
0处理器00《------数据------》00内存00
000000000《------控制------》00000000

/********************************************88/

ALU(Arithmetic Logic Unit,算术逻辑单元)
处理器通常所说的8位、16位、32位或者64位,是指它们的寄存器的位宽。

Big-Endian and Little-Endian
Big-Endian微处理器将高位字节放在低地址单元中,
===========0100/0101/0102/0103=========
long word+ 1 2 /3 4 /5 6 /7 8==========
word     + 1 2 /3 4 /==================
byte     + 1 2/=======================
Little-Endian系统的微处理器将高位字节放在高低之单元中.
===========0100/0101/0102/0103=========
long word+ 7 8 /5 6 /3 4 /1 2==========
word     + 3 4 /1 2 /==================
byte     + 1 2/=======================



/**********************************************/
中断服务器例程(Interrupt Service Routine, IS*)

当异常通知系统时,根据引起异常的程序是否可恢复而又进一步把异常分为故障(**ult)、陷阱(Trap)或者中止(Abort).

/**********************************************/

CISC(Complex Instruction Set Computer,复杂指令集计算机)
RISC(Reduced Instruction Set Computer,精简指令集计算机)

DSP(Digital Signal Processor,数字信号处理器)体系结构是一种特殊类型的处理器体系结构,这些处理器具有优化处理阵列数据的指令集和体系结构。

/**********************************************************/

存储器可以由两种方式来组织,字组织(word-organized)或位组织(bit-organized).
在字组织方案中,全部的半字节、字节或者字都存储在一个元件里,而在位组织方式的存储器里,一个字节或者字的每一个位各占一个单独的元件。
相同的容量:
DRAM :4M*1(位组织)
SRAM :512k*8(字组织)

RAM代表随机访问存储器(Random Access Memory):
静态RAM(static RAM,即SRAM)
动态RAM (dynamic RAM,即DRAM)
/********************************/

SRAM使用一对逻辑门来保存数据的每一位,是RAM里面最为快速的一种存储器,仅需要很少的外围支撑电路,并具有相对较低的功耗。
这种存储器的缺点在于,其容量明显比DRAM校,价格却高很多。
/*******************************/

DRAM使用本质上是电容器的阵列来保存数据的每一位。在电荷开始消失之前,电容器仅能将其保存很短的一段时间。
因此,DRAM需要不断的刷新,大概每隔几个毫秒就得刷新一次。
/******************************/

ROM代表只读存储器(Read-Only memory),ROM是非易失性存储器,不需要电流来维持所存数据。这种存储器通常比RAM慢,当然比SRAM更慢了。
ROM的首要用途就是保存系统启动时需要用到代码(有时是数据)。这种软件通常也较固件。
标准的ROM是由大量二极管阵列装配的(从某种简单化的意义上讲)。
ROM中未写入的状态都是1,每隔字节单元都读作0xFF。把软件加载到 ROM中的过程就是
烧录ROM。即:编程过程是通过向适当的二极管注入一个足够大的电流来将其“烧断”或者烧录来完成。如果系统支持,ROM也可能在电路里由编程实现,
这种方式叫做芯片集成系统编程(In-System Programming,ISP)或者,有时也叫做在线编程(In-Circuit Programming ,ICP)

一次性可编程(One-Time Programmable,OTP)ROM

/***********************************/

EPROM(Erasable Programmable Read-Only Memory)
EPROM技术的缺点在于,如果要对其重写,就必须把芯片从电路上取下来,并且完成擦除也要好几分钟。擦除完毕,还要将其放到烧录器上,加程序,然后再放回电路上。
/**********************************/

EEROM是电可擦除只读存储器(Electrically Erasable Read-Only memeory),也叫电擦除可编程只读存储器(Electrically Erasable Programmable Read-Only memory)
EEROM可以在电路上进行擦除和编程。它们的容量较标准的ROM(通常也只有几千字节)明显小很多。因此这类存储器不适用于保存固件。
它们一般用于断电期间保存系统参数和模式信息。
/*********************************/

闪存(Flash)是最新的ROM技术。闪存芯片有时候被称为“Flash ROM”或“Flash RAM”。
闪存通常按照扇区来组织,其优点在于可以擦除重写单个扇区而不影响设备的其他部分里的内容。它的特点是在写入一个扇区之前,必须要先将其擦除。
而不能像RAM那样写覆盖。


/********************************/
关于使用和设计稳压电路,国家半导体公司(National Semiconductor)有一个很好的在线指南,可在
http://www.national.com/appinfo/power/webench中看到。

/******************************/
剑桥大学出版社出版的由Paul Horowitz和Winfield Hill合著的《The Art of Electronic》,那是一本很棒
的介绍性教科书,如果你乐意,还可以访问交互式在线教程http://www.clarkson.edu/~svoboda/eta.


 

文章评论1条评论)

登录后参与讨论

用户1534851 2012-2-21 09:04

学习嵌入式硬件设计的好书
相关推荐阅读
用户1205135 2010-01-22 17:09
把emacs配置成source insight-转
来源:www.cublog.cn/opera/showart.php?blogid=5421&id=37299把emacs变成代码浏览器,类似sour...
用户1205135 2010-01-13 10:09
A new approach to China
Like many other well-known organizations, we face cyber attacks ofvarying degrees on a regular basis...
用户1205135 2009-12-27 21:18
11个有趣的程序员小幽默[forward]
我们经常会看到一些关于程序员有趣的事或是在代码注释里看到程序员的幽默,例如以下11个。1.// // 敬爱的维护者://// 如果你在优化本例程函数时遇到麻烦,请自增下面的计数器// 以提醒下一个维护...
用户1205135 2009-11-24 23:57
Issue "errno:EINTR,while it calls msgrcv."
Fix the issue "errno:EINTR,while it is suspended by msgrcv."If the calling process is blocked until ...
用户1205135 2009-06-14 22:50
Android build errors fix under Ubuntu 9.04
-----------------------------------------------------------------------------------------------Envir...
用户1205135 2009-06-09 21:47
1st Reading note of Android A Programmer's Guide
Today i read the book<Android - A Programmer's Guide> written by J.F. DiMarzio .1. downloading...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条