2 嵌入式硬件系统.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 嵌入式硬件系统

从编程的角度来讲,ARM有两种工作状态: 处理器有两种工作状态: ARM:32位,执行字对准的ARM指令 Thumb:16位,执行半字对准的Thumb指令 ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容 ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字到第七个字放置第二个存储的字数据,依次排列,作为32位的微处理器,ARM体系结构所支持的最大寻址空间为232= 4GB ARM可以用两种方法存储字数据,称之为大端格式和小端格式 : 大端格式:字数据的高字节存放在低地址当中,字数据的低字节存放在高地址当中。 小端格式:字数据的低字节存放在低地址当中,字数据的高字节存放在高地址当中。 CPU模式的转变: 软件控制 异常 外部中断 ARM处理器有37个寄存器 31个通用寄存器:程序计数器、堆栈及其他通用寄存器 6个程序状态寄存器 这些寄存器不能同时访问 不同的处理器状态和工作模式确定哪些寄存器是对编程者是可以访问的 不分组通用寄存器:R0~R7 分组寄存器:R8~R14 R13(也被称为SP指针)被用作栈指针 R14有两个用途,一是在调用子程序时用于保存调用返回地址,二是在发生异常时用于保存异常返回地址。 程序计数器:R15,pc指针 CPSR SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 置0表示执行32bit的ARM指令 置1表示执行16bit的Thumb指令 总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。 PCI总线 PCI总线 串行总线 UART I2C SPI USB 存储器 存储器系统的层次结构 电子盘 电子盘采用半导体芯片来存贮数据,具有体积小、功耗低和极强的抗震性等特点。 在嵌入式系统中普遍采用各种电子盘作为外存。 常用的电子盘有:NandFlash、MMC、SD、Memeory Stick、CF、SM、DOC等。 电子盘 SD卡 SD(Secure Digital)卡由松下电器、东芝和SanDisk联合推出,1999年8月首次发布。 2000年2月1日成立了SD协会(SDA),成员公司超过90个,其中包括Hewlett-Packard,IBM,Microsoft,Motorola,NEC、Samsung Electronics,Toyota Motor等巨头。 MemoryStick记忆棒 1997年7月Sony宣布开发Memory Stick Memory Stick被很多人形象地称为口香糖存贮卡,其尺寸为50mm×21.5mm×2.8mm,重4克 Memory Stick也包括了控制器在内,采用10针接口,数据总线为串行,最高频率可达20MHz,电压为2.7伏到3.6伏,电流平均为45mA SmartMedia  SmartMedia是由东芝公司Toshiba America Electronic Components(TAEC)在1995年11月发布的Flash Memory存贮卡,三星公司在1996年购买了生产和销售许可,这两家公司成为主要的SmartMedia厂商。 ARM处理器的寻址方式 立即数寻址是一种特殊的寻址方式,操作数本身包含在指令中,只要取出指令也就取到了操作数。例如: MOV R0,#64 ;R0 ← 64 ADD R0, R0, #1 ; R0 ← R0 + 1 SUB R0, R0, #0X3D ; R0 ← R0 – 0X3D 在立即数寻址中,要求立即数以“#”为前缀,对于以十六进制表示的立即数,还要求在“#”后加上“0X”或“”。 ARM处理器的寻址方式 立即数必须对应8位位图格式,即立即数是一个在16位或32位的寄存器中的8bit常数,经循环移动偶数位得到。合法的立即数必须能够找到得到它的那个常数,否则这个立即数就是非法的。 判断一个立即数是否合法可以用以下的办法:即对于这个立即数进行循左移或右移操作,看看经过移动偶数位后,是否可以得到一个不大于0XFF的立即数(即不超过8位的立即数),如果可以得到,这个立即数就是合法的,否则就是非法的。象0X1010、0X1FA、0X1FF都是不合法的。 ARM处理器的寻址方式 寄存器寻址 寄存器寻址就是利用寄存器中的数值作为操作数,也称为寄存器直接寻址。 例如:ADD R0,R1, R2 ;R0 ← R1 + R2 寄存器偏移寻址 这是ARM指令集特有的寻址方式,它是在寄存器寻址得到操作数后再进行移位操作,得到最终的操作数。 例如: MOV R0,R2,LSL #3

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档