《嵌入式系统原理与接口复习及思考题答案(计)资料.doc》由会员分享,可在线阅读,更多相关《嵌入式系统原理与接口复习及思考题答案(计)资料.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date嵌入式系统原理与接口复习及思考题答案(计)资料1各位:根据掌握要点认真复习,后面附有作业题答案。第1章 掌握要点1.1.1节 嵌入式系统的概念1.13节 嵌入式系统的特点1.3节 嵌入式处理器1.4节 嵌入式系统的组成(看课件,有补充的内容)补:1.嵌入式系统开发过程?2. 嵌入式系统调试常用的基本方法3. 交叉编译和交叉调试4.嵌入式操作系统第2章 掌握要点2.1节
2、 计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节 流水线技术2.4.1 ARM存储系统2.4.2 Cache:写通、写回、读操作分配cache、写操作分配cache、工作原理、地址映像 2.4.3节 ARM存储系统补充: (见课件)1. ARM简介:ARM的命名方式、5种变形2.理解片内Flash的3种编程方法。3.理解ARM7芯片存储器存储空间分布。(8个bank,每个bank32MB)第3章 掌握要点3.1节 ARM编程模式:处理器模式、处理器工作状态、寄存器组织、异常中断3.2节 指令格式和寻址方式3.3节 指令系统:掌握和熟练应用课件所讲的
3、指令、可编程序段第5章 掌握要点5.1节 键盘接口:行扫描法原理、掌握编写驱动程序5.2节 LED显示器接口:理解工作原理,掌握编写驱动程序55.1节 UART异步串行接口:异步通信格式、接收的4种错误类型、初始化、发送程序、接收程序第1章作业题答案:1.什么是嵌入式系统? 第一种,根据IEEE(国际电气和电子工程师协会)的定义: 嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 第二种,嵌入
4、式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 两种定义之一即可。2.与通用型计算机相比,嵌入式系统有哪些特点?n 通常是面向特定应用的;n 空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余; n 产品升级换代和具体产品同步,具有较长的生命周期; n 软件一般都固化在存储器芯片或单片机本身; n 不具备自举开发能力 ,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?(1)嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/8
5、8、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。 (2) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。(3) 嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP) 嵌入式DSP处理器比较有代表性的产品是Texas Instruments的TMS320系列和Motorola 摩托罗拉的DSP5
6、6000 系列。(4) 嵌入式片上系统(System On Chip) 4.从硬件系统来看,嵌入式系统由哪几部分组成?画出简图。 嵌入式核心芯片,EMPU嵌入式微处理器、EMCU嵌入式微控制器、EDSP嵌入式数字信号处理器、ESoC嵌入式片上系统。 用以保存固件的ROM(非挥发性只读存储器)。 用以保存程序数据的RAM(挥发性的随机访问存储器)。 连接微控制器和开关、按钮、传感器、模/数转化器、控制器、LED(发光二极管)、显示器的I/O端口。 5.嵌入式微处理器和嵌入式微控制器分别由哪些部件组成,两者有何区别。答:嵌入式微处理器的基础是通用计算机中的CPU。嵌入式微处理器=运算器+控制器+寄
7、存器组+内总线,在应用中必须装配在专门设计的电路板上,在电路板上必须包括ROM、RAM、总线接口、各种外设等器件。嵌入式微控制器=cpu内核+存储器+I/o接口+辅助电路(时钟、A/D、D/A等)嵌入式微处理器与嵌入式微控制器的区别:嵌入式微处理器只含有内核,嵌入式微控制器除含有内核外,内部还包含ROM、RAM存储器以及各种外设接口、辅助电路等。6嵌入式操作系统通常含有几层,主要实现何功能。嵌入式操作系统通常包括: (1)驱动层:硬件相关的底层驱动软件和设备驱动接口;如: LCD 、触摸屏的驱动及接口。 (2)操作系统层:系统内核(基本模块),扩展模块(可裁剪)。基本模块包含内存管理、文件管理
8、和进程调度;扩展模块包含网络模块、图形驱动、数据库驱动等。 ( 3)应用层:应用程序接口。7.嵌入式系统开发过程?答:嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分。流程如图所示。系统定义可行性研究需求分析软硬件集成系统总体框架软硬件划分处理器选定操作系统选定开发环境选定系统总体设计硬件概要设计硬件详细设计硬件制作硬件测试软件概要设计软件详细设计软件实现软件测试硬件设计制作软件设计实现功能性能测试符合要求产品YN嵌入式系统开发流程图8.嵌入式系统调试常用的基本方法?答:常用的三种方法:模拟调试(Simulator)、全仿真调试(Emulator)、BDM/JTAG
9、调试(BDM/JTAG Debugger)。模拟调试:调试器和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。全仿真调试(Emulator):这种方式用仿真器完全取代目标板上的MCU,仿真器是仿照目标机上的CPU而专门设计的硬件。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。BDM/JTAG调试:这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/JTAG调试器下载到目标板上运行。9.理解交叉编译和交叉调试。答:嵌入式软件开
10、发所采用的编译为交叉编译。在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,称这种编译器支持交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。要进行交叉编译,需要在主机平台上安装对应的交叉编译器,然后用这个交叉编译器编译源代码,最终生成可在目标平台上运行的代码。在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状
11、态。 第二章作业答案1ARM处理器工作模式有几种?各种工作模式下分别有什么特点?答:ARM微处理器支持用户、系统、快速中断、外部中断、管理、中止、未定义等7种工作模式。各工作模式拥有自己的寄存器组,不同的工作模式间可以相互切换,共有两种方式。第一种,发生异常时,处理器自动改变CPSR中M4:0的值,进入相应的工作模式;第二种,当处理器处于特权模式时,用指令向CPSR的M4:0字段写入特定的值,以进入相应的工作模式。当处理器处于用户模式时,不能改变工作模式,除非发生异常。 2.ARM处理器总共有多少个寄存器,这些寄存器按其在用户编程中的功能是如何划分的?这些寄存器在使用中各有何特殊之处?答:AR
12、M处理器总共有37个寄存器,各寄存器均为32位。31个通用寄存器,包括程序计数器PC;6个状态寄存器。这些寄存器按其在用户编程中的功能可划分为:通用寄存器和状态寄存器。根据ARM处理器不同工作模式,可将全部寄存器分成7组;各工作模式拥有属于自己的寄存器组,也只能访问自己的寄存器组。3.寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13用作堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。4.若寄存器R1=0x01020304,分别按小端模式和大端模式存储在0x30000字单元中,试分别画出两种模式下内存存储
13、内容,并标出内存地址。0x300000x300010x300020x300030x010x020x030x04大端模式0x300000x300010x300020x300030x040x030x020x01小端模式5.试述ARM处理器对异常中断的响应过程。答:当一个异常出现以后,ARM微处理器执行完当前指令后(复位异常除外)会执行以下几步操作:(1) 将CPSR复制到相应到相应模式下的SPSR中,设置CPSR:置位I位(禁止IRQ中断)清零T位(进入ARM状态)设置MOD位,切换处理器至相应模式(2) 将下一条指令的地址存入相应连接寄存器LR(R14_XXX),以便程序在处理异常返回时能从正确
14、的位置重新开始执行。(3) 强制PC从相关的异常向量地址取一条指令执行,从而跳转到相应的异常处理程序处。 6.如何从异常中断处理程序中返回?需要注意哪些问题?答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回: (1) 将SPSR复制回CPSR中,恢复原处理器工作模式。(2) 将连接寄存器LR(R14_XXX)的值减去相应的偏移量后送到PC中,跳转到被中断的用户程序。7.ARM存储器的存储周期有几种类型,对应于cache访问和存储器访问是何存储周期?答:(1)空闲周期 I周期-内部周期,不执行存储器访问;可广播下一次访问的地址以便开始译码,与S周期配合实现总线上的突发传送。(2)
15、 顺序周期 S周期-顺序周期:多用于实现总线上的突发传送,第一个周期必须是一个内部周期。(cache传送)(3) 协处理器寄存器传送周期 C周期-协处理器寄存器传递周期:通过数据总线向或从协处理器传送数据;传送期间,存储系统不允许驱动数据总线。(4) 非顺序周期 N周期-非顺序周期:最简单的总线周期,存储控制器必须启动存储器访问来满足这个请求;该方式存储系统常需要长的访问时间。(存储器读写)cache访问:I周期、S周期存储器访问:N周期8.何谓cache?简述cache的工作原理。(第2版书P44)9.何谓写通cache和写回cache,两者有何区别?答:(1)写回法是指CPU在执行写操作时
16、,被写的数据只写入cache,不写入主存。仅当需要替换时,才把已经修改的cache块写回到主存中。 采用写回法进行数据更新的cache称为写回cache。(2) 写通法是指CPU在执行写操作时,必须把数据同时写入cache和主存。采用写通法进行数据更新的cache称为写通cache。10.arm的MMU主要实现何功能。答:(1)虚拟存储空间到物理存储空间的映射。在ARM中采用了页式虚拟存储管理,通过两级页表实现虚拟地址到物理地址的映射。(2)存储器访问权限的控制。 (3)设置虚拟存储空间的缓冲特性:Cache/write buffer11.协处理器cp15主要实现的功能?答:(1)用于处理、控
17、制ARM的特殊性能(2)片上存储器管理单元(MMU)(3)指令、数据缓存(4)写缓冲器12、简述MMU使能时存储访问过程 。答:芯片设置为MMU使能(设置cp15寄存器) :(1)若cache使能,根据arm输出的虚拟地址在CACHE中搜索;若cache命中, arm处理器与cache交换数据。 若cache禁止或cache未命中,首先访问TLB,参见(2)。(2)根据arm输出的虚拟地址在TLB中搜索,若找到,将其转换为物理地址,访问主存并把该块数据读取到cache(使能时)中。13、ARM支持的物理页有几种类型,其容量为何值?答:ARM支持的存储块 :(1) 段(section):由1MB
18、 的存储器块构成(2)大页(large page):由64KB 的存储器块构成(3)小页(small page):由4KB 的存储器块构成(4)微页(tiny page):由1KB 的存储器块构成14、简述基于段的地址变换过程。15、简述使用粗页表和4k页的二级虚实地址转换过程。补充题:1.理解片内Flash的3种编程方法。答:通过内置JTAG接口编程、通过在系统编程(ISP)、通过在应用编程(IAP)2.理解LPC2000系列存储器存储空间分布。见课件。3S3C44BOX的存储空间的分布,由哪几部分组成?答:S3C44B0X的存储空间分成8组,每组容量为32MB,bank0-bank5起始地
19、址固定,容量固定为32MB,bank6起始地址也固定,其容量和bank7的容量可编程改变,可以是2、4、8、16、32MB,并且bank7的起始地址与bank6的结束地址相连接。第3章作业题答案1、ARM的寻址方式有哪些?各写一条说明。答:1)立即寻址 (1)ADD R0,R0,1 /*R0R01*/(2)ADDR0,R0,0x3f /*R0R00x3f*/;2)寄存器寻址(ADDR0,R1,R2 /*R0R1R2*/);3)寄存器间接寻址(1)LDR R0,R1 /*R0R1*/;(2)STR R0,R1 /*R1R0*/;4)基址加偏址寻址(1)、LDR R0,R1,4; R0R14;(2
20、)、LDR R0,R1,4!; R0R14、R1R14;(3)、LDR R0,R1 ,4; R0R1、R1R145)堆栈寻址(1)、 STMFD SP! R1-R7,LR;(2)、LDMFD SP! R1-R7,LR;6)块拷贝寻址(1)、LDMIA R0!, R2-R9;(2)、STMIA R1,R2,R9;2.存储器生长堆栈可分为哪几种?4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。第5章作业题答案1. S3C44B0X具有多少通用I/O口?它们具有哪些功能?(第2版P143)2.简述矩阵式键盘线扫描检测法的工作原理。(第2版P145)3.(1)假设要将S3C44B0X的UART1
21、设置为:波特率9600b/s,8位数据位,1个停止位,无校验位,并采用非自动流控制方式工作,禁止超时中断、回送模式、发中止信号,允许产生错误状态中断,传送、接收模式都为中断请求模式,发送、接收中断为边沿方式,该如何初始化?给出完成该设置功能的代码段。(2)利用串口1实现两个开发平台间的双机通信,试给出发送子程序和接收子程序。答:(1)rFCON0=0X00; 不使用FIFOrUMCON0=0X10; 自动流控制rULCON0=0X3;rUCON0=0X45 ; /禁止超时中断、回送模式、发中止信号,允许产生错误状态中断,/发送、接收中断都为边沿方式,传送、接收模式都为中断请求模式rUBRDIV
22、O =(int)MCLK/16/baud0.5)-1);/根据波特率计算UBRDIVO的值(2)发送子程序:void Uart_SendByte(char ch)while(!(rUTRSTAT1 &0x2); Delay(10); WrUTXHO(ch); 接收子程序:char Uart_GetByte(void)while(! (rUTRSTATO & 0x1); /等待,接收缓冲区接收数据 return RdUTXH0(); /返回接收的数据 4. 现有两种简单的外设,一组3位开关,一组1位LED指示灯,要求:(1)利用PF端口的低3位连接开关,PG端口驱动LED的段码,PF4驱动位控段,试画出接口电路。(2)编制驱动程序,使开关的组合值在LED上显示出来。答:(1)RRR PF0 PF1 PF2 PF4 PG0 PG1 PG7a b c d e f g dp驱动驱动VCC(2) 驱动程序:Unsigned char led_dis=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;Unsigned char val,key;rPCONG=0x5555;rPCONF=0x0100;key = rPDATF & 0x07;rPDATG = led_diskey ;rPDATF = rPDATF |0x10;-