西安邮电大学嵌入式资料整理_第1页
西安邮电大学嵌入式资料整理_第2页
西安邮电大学嵌入式资料整理_第3页
西安邮电大学嵌入式资料整理_第4页
西安邮电大学嵌入式资料整理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 简述冯诺依曼思想计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。计算机内部应采用二进制来表示指令和数据。将编好的程序送人内存储器中能自动逐条取出指令和执行指令。2. 请简述ARM7体系结构的5个主要特征 冯诺依曼体系结构,RISIC技术精简指令集计算机,三级流水技术, AMBA总线技术,处理器跟踪调试。3. ARM7处理器有哪几种模式 用户模式,系统模式,未定义模式,快中断模式,外部中断模式, 数据访问中止模式,管理模式。4. 简述I/O设备与CPU交换数据有哪几种方式 程序传送方式,中断传送方式,直接存储器存取传送方式(DMA)5.什么是嵌入式系统,有什么特点?嵌入式系

2、统就是嵌入在对象体中的专用计算机系统,它以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,或者简述为具有嵌入性的专用计算机系统特点:嵌入式系统与各个行业结合,它是一个技术密集、资金密集、高度分散,不断创新的知识集成系统系统内核小。专用性。 系统精简。 系统软件。(OS)要求具有高实时性。 要走向标准化,需要使用多任务操作系统。本身不具备在其上进行进一步开发的能力。6. 简述ARM7三级流水的工作过程。将一种指令分解为多步,并重叠不同指令的各工作步骤,实现多条指令并行处理,加速运行过程。取码:从存储器中装载一条指令到CP

3、U中,解码:识别解释将要执行的指令,执行:将解码识别的指令进行计算处理并将结果写回寄存器。7. 哈佛结构?与普林斯顿结构有何区别?答:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。9.MOV

4、指令、LDR LDR伪指令三者的区别。MOV指令是在寄存器间进行数据传送,影响标志位。LDR指令是将存储器中数据按给定地址加载到寄存器中,不影响标志位。LDR伪指令是可以在一个立即数前面加等号,把一个地址写入某寄存器。10.大端存储模式和小端存储模式的含义是什么? 大端存储模式:对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A+3,A+2,A+1,A;对于地址为A的半字单元,其中字节的低位字节到高位字节地址顺序为A+1,A。即数据的低字节存放在高地址中的顺序进行存储小端存储模式:对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1 ,A+2,A+3;对于地址为

5、A的半字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1。即数据的高字节存放在高地址中的顺序进行存储11.什么是中断?叙述中断处理过程。计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为中断。中断处理过程一般包括五个步骤:中断请求,中断响应,断点保护,中断处理,中断返回。12.ARM处理器的工作状态分为哪二种?ARM处理器又是怎么定义和标志的?答:ARM处理器的工作状态分为ARM状态和Thumb状态,这两种状态有程序状态字CPSR中

6、T标志位确定,为0时处理器工作在ARM状态,为1时处理器工作在Thumb状态。13. 请列举5种ARM7支持的寻址方式立即数寻址,寄存器寻址,寄存器移位寻址,寄存器间接寻址,基址变址寻址,相对寻址,多寄存器,堆栈寻址14.ARM7的指令集有几种?各自的特点是什么?两种,ARM指令集和Thumb指令集ARM指令集效率高,功能全,每条指令可以根据条件执行,但是代码密度低;Thumb指令集在功能上是ARM指令集的子集,但仍然是32位的处理器,运算能力没有降低。15.嵌入式处理器的性能指标?对嵌入式的影响?答:性能指标主要有主频,处理器字长,数据通路速度,运算速度,高速缓存和处理器的系统架构。主频,执

7、行每条指令的时钟周期数一定,主频越高单位时间内执行的指令越多。处理器字长,处理器内部数据运算的基本位数,反映的是计算精度,以及单次处理数据的总长度;数据通路速度,读取指令数据传输计算数据的速度越高,处理器性能越好。运算速度,用MIPS(每秒执行多少百万条指令)表示,MIPS越大,说明运算速度越快;高速缓存,突破主存访问速度的瓶颈,提高处理器的综合性能。16. 嵌入式处理器的组成 处理器内核,DSP/协处理器,RAM/ROM,处理器内部控制电路, 芯片内部接口电路17. 简述IRQ异常处理过程。 答:IRQ异常处理过程为: (1) 链接寄存器R14_irq保存:被执行指令地址

8、+4; (2)状态寄存器SPSR_irq保存:CPSR寄存器的内容; (3)状态寄存器CPSR的位4:0=0b10010; (4)CPSR位5清0,6位不变; (5)CPSR位7置1; (6)如采用大端配置,则PC=0xffff0018,否则PC=0x00000018。18.当异常产生,处理器进入一个异常程序、退出异常时需进行哪些操作?答:当一个异常出现以后,处理器在处理进入异常和退出异常时会分别执行以下几步操作: 1) 进入异常 (1) 把断点处的下一条指令的地址保存到相应的R14寄存器中。 (2)把状

9、态寄存器CPSR的值复制到相应的SPSR寄存器中,以保存断点处的状态。 (3)根据异常模式,把CPSR寄存器的模式位M4:0设置成对应的值。 (4)自动使PC指向相关的异常向量,从该向量地址处取一条指令进行执行。 2) 退出异常 (1)将 保存在R14寄存器的值再回送到PC中。 (2)再将SPSR寄存器的值送回到CPSR寄存器中。 (3)对中断禁止位标志进行清除。实验代码:流水灯实验#include "config.h" const uint32 LEDS8 = 0xFF << 18

10、; /P125:18控制 LED1LED8,低电平点亮 const uint32 KEY = 1 << 16; /P0.16连接KEY1 const uint32 DISP_TAB10 = 0x01, 0x02, 0x04, 0x08,0x10,0x20,0x40,0x80, 0xff, 0xff; const uint32 DISP_TAB210 = 0x80 , 0x40, 0x20, 0x10, 0x08,0x04, 0x02,0x01, 0xff, 0xff; void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-)

11、for(i=0; i<5000; i+); int main(void) uint8 i; PINSEL0 = 0x00; / P015:0 用作GPIO PINSEL1 = 0x00; / P031:16 用作GPIO PINSEL2 = PINSEL2 & (0x08); / P125:16连接GPIO IO1DIR = LEDS8; / 设置P125:18为输出口,控制LED7:0 while(1) if(IO0PIN&KEY)!=0) / 测试KEY 按键 for(i=0; i<8; i+) IO1CLR = DISP_TABi<<18; Del

12、ayNS(50); IO1SET = 0xffffffff; DelayNS(10); if(IO0PIN&KEY)=0) / 测试KEY 按键 for(i=0; i<8; i+) IO1CLR = DISP_TAB2i<<18; DelayNS(50); IO1SET = 0xffffffff; DelayNS(10); return(0); 按键控制蜂鸣器#include "config.h" #define BEEPCON 1<<7 / P0.7引脚控制B1,低电平蜂鸣 #define KEY1 1<<16 / 定义按

13、键 int main(void) uint32 i; PINSEL0 = 0x00000000; / 设置管脚P015:0连接GPIO PINSEL1 = 0x00000000; / 设置管脚P31:16连接GPIO IO0DIR = BEEPCON; / 设置Beep控制口为输出,其它I/O 为输入 while(1) if( ( IO0PIN & KEY1 ) != 0 ) IO0SET = BEEPCON; else IO0CLR = BEEPCON; for(i=0; i<1000; i+); / 软件延时 return(0); 加减法运算加法AREA Example1,C

14、ODE,READONLY ; 声明代码段 Example1ENTRY ; 标识程序入口CODE32 ; 声明 32 位 ARM 指令START LDR R11, =Data1 ; R11 <=address( Data1)LDR R0, R11 ; R0 <= Data1LDR R11, =Data2 ; R11 <=address( Data2)LDR R1, R11 ; R0 <= Data2ADD R2, R1, R0 减法是SUB R2, R1, R0LDR R11, =Data3 ; R11 <=address( Data3)STR R2,R11 ; R

15、1 <= R2,即设置 COUNT 为 0 HALT B HALTData1 DCD 0x12345678Data2 DCD 0x87654321Data3 DCD 0x00END定时器中断使用定时器 0 实现 1 秒定时,控制蜂鸣器蜂鸣。采用中断方式实现定时控制。void _irq IRQ_Timer0 (void)if (IO0SET & BEEP) = 0)IO0SET = BEEP; /* 关闭 BEEP */elseIO0CLR = BEEP;T0IR = 0x01; /* 清除中断标志 */VICVectAddr = 0x00; /* 通知 VIC 中断处理结束 */

16、int main (void)PINSEL1 = 0x00000000; /* 设置管脚连接 GPIO */IO0DIR = BEEP; /* 设置 BEEP 控制口输出 */IRQEnable(); /* IRQ 中断使能 */* 定时器 0 初始化 */T0TC = 0; /* 定时器设置为 0 */T0PR = 0; /* 时钟不分频 */T0MCR = 0x03; /* 设置 T0MR0 匹配后复位 T0TC,并产生中断标志 */T0MR0 = Fpclk; /* 1 秒钟定时;系统中已定义 Fpclk = 11059200 */T0TCR = 0x01; /* 启动定时器 */* 设

17、置定时器 0 中断 IRQ */VICIntSelect = 0x00; /* 所有中断通道设置为 IRQ 中断 */VICVectCntl0 = 0x20 | 0x04; /* 设置定时器 0 中断通道分配最高优先级 */VICVectAddr0 = (uint32)IRQ_Timer0; /* 设置中断服务程序地址 */VICIntEnable = 1 << 0x04; /* 使能定时器 0 中断 */while (1);return 0;外部中断#include "config.h"#define BEEPCON 1<<7 / P0.7 引脚控

18、制 Beep,低电平蜂鸣#define LED1 1<<18 / P1.18 引脚控制 LED1,低电灯亮void DelayNS(uint32 dly) uint32 i;for(; dly>0; dly-)for(i=0; i<5000; i+);void _irq IRQ_Eint0(void)if (IO0SET & BEEPCON) = 0 ) / 反转 BEEPCON 管教输出状态IO0SET = BEEPCON;elseIO0CLR = BEEPCON;while ( (EXTINT &0x01) != 0 )EXTINT = 0x01; / 清除 EINT0 中断标志VICVectAddr = 0x00; / 通知 VIC 中断处理结束int main(void)int x;PINSEL0 = 0x00000000; / 设置管脚连接 GPIOPINSEL1 = 0x00000001; / 设置管脚 P0.16 为 EINT0IO0DIR = BEEPCON; / 设置 P0.7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论