《2022年最新ARM嵌入式系统基础复习题 .pdf》由会员分享,可在线阅读,更多相关《2022年最新ARM嵌入式系统基础复习题 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档精品文档嵌入式系统基础复习题一、简答题1、什么是嵌入式系统?嵌入到对象体系中的专用计算机应用系统。2、嵌入式系统的 3 个基本特点?嵌入性、专用性、计算机3、什么是嵌入式处理器,嵌入式处理器可以分为几大类?嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器。分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP 处理器、嵌入式片上系统(SOC) 。4、广泛使用的三种类型的操作系统?多道批处理操作系统、分时操作系统以及实时操作系统。5、常见的 4 种嵌入式操作系统?嵌入式 Linux、Win CE、VxWorks、C/OS-II6、ARM 是什么样的公司?它是一家微处理器行业的知名企业,
2、该企业设计了大量高性能、廉价、耗能低的 RISC 处理器。特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM 厂商,并提供服务。7、什么是 RISC?什么是 CISC?RISC 是精简指令集计算机的缩写。CISC 是复杂指令集计算机的缩写。8、举出 2 个 ARM 公司当前应用比较多的ARM 处理器核?ARM7 系列、ARM9 系列、ARM10 系列、ARM11 系列、intel 的 Xscale 系列和 MPCore 系列。9、ARM7TDMI 中的 T、D、S、I 分别表示什么含义?T:支持高密度 16 位的 Thumb 指令集D:支持片上调试S:ARM7TDM
3、I 的可综合( synthesizable )版本(软核)I:支持 EmbededICE观察硬件M:支持 64位乘法10、 ARM7TDMI 处理器采用什么样的体系结构,其可寻址地址空间多大?ARM 处理器使用冯 .诺依曼结构使用单个平面的232个 8 位字节地址空间。地址空间可以看作是包含230个32 位字,或 231个 16 位半字。11、 ARM7TDMI 处理器采用几级流水线处理,使用何种存储器编址方式?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 -
4、 - - - - - - - - 精品文档精品文档ARM7TDMI 处理器采用三级流水线。ARM 处理器将存储器看做是一个从0 开始的线性递增的字节集合。12、 ARM 处理器模式和 ARM 处理器状态有什么区别?ARM 处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。ARM 处理器状态指 ARM 状态和 Thumb 状态ARM 两种处理器状态下均有上述7 种模式。13、 ARM7TDMI 内部寄存器特点?分别为 31 个通用 32 位寄存器和 6 个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。14、 ARM7TDMI
5、 有几种寻址方式?寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。15、 ARM7 的内部寄存器 R13、R14、R15 的主要功能和作用?R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容R14:连接寄存器,当使用 BL 指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14 对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。R15:程序寄存器,总是指向正在“ 取指” 的指令16、 请说明 MOV 指令与 LDR 加载指令的区别和用途?LDR 的操作数既可以来源于寄存器也可以来源于存储器,MOV 的操
6、作数能来源于寄存器。LDR 指令从内存中读取数据放入寄存器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV 指令将 8 位立即数或寄存器传送到目标寄存器( Rd) ,可用于移位运算等操作。17、 LPC2000 系列器件有几种常见的封装形式和其封装特点?常见的封装有 64 脚封装, 144 脚封装功耗低,有多个32 位定时器,多达9 个外部中断, 16K 字节静态 RAM ,1/128/256k 字节片 Flash 存储器, 128 为宽度接口加速器, 4 路 10 位 ADC 或 8路 10 位 ADC(64 脚和 144 脚封装) ,46 或 76112个 GP
7、IO(64 脚和 144 脚封装) 。18、 简要说明一下 LPC2000 系列器件片内存储器的特点?片内存储器分为片内Flash 和片内静态 RAM 。片内 Flash 通过 128 位宽度的总线与 ARM 内核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放在 Flash上运行。 SRAM 支持 8 位、16 位和 32 位的读写访问。19、 为什么要进行存储器重映射?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - -
8、 - 精品文档精品文档存储器重映射是为了实现引导块和异常向量表地址的固定。重映射引导块,有利于用户调用其中的某些程序,增加代码的可移植性;异常向量表重映射为了能让ARM 内核通过访问 0 x00000 x003F 地址访问到其他存储区域的向量表。20、 LPC2000 系列 ARM7 微控制器对向量表有什么要求 (向量表中的保留字)?向量表中有一个空隙以确保软件能与不同的ARM 结构兼容;表中异常入口地址处放置的是跳转指令,已转向中断子程序。FIQ 地址要放在向量表的最后;21、 ARM7 微控制器内 FLASH 是多少位宽度的接口?它是通过哪个功能模块来提高 FLASH 的访问速度?FLAS
9、H 是 128 位宽度的接口,通过存储器加速模块提高其访问速度。22、 FIQ、IRQ 有什么不同?向量IRQ 和非向量 IRQ 有什么不同?FIQ 是快速中断,具有最高优先级,中断处理转入FIQ 模式; IRQ 是普通中断,优先级低于FIQ,中断处理转入IRQ 模式。向量 IRQ 支持 16 个向量 IRQ 中断, 16 个优先级,能为每个中断源设置服务程序地址;非向量IRQ 支持一个非向量IRQ 中断,所有中断都共用一个相同的服务程序入口地址。23、 LPC2000 系列芯片共有几个外接中断输入?它们是FIQ,还是 IRQ?共有 4 个外接中断输入,它们既可以是IFQ 也可以是 IRQ。2
10、4、 LPC2000 系列芯片常用的开发工具?ADS、IAR、JATG、ISP 25、 什么是嵌入式处理器的最小系统?最小系统是指提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成的系统。26、 嵌入式处理器的最小系统包含那些基本电路?最小系统包含时钟系统、供电系统、复位及其配置系统、存储器系统(可选) 、调试测试系统(可选) 。基本电路包括:末级电源电路、前级电源电路、时钟电路、复位电路、程序存储器(可选)、调试接口电路(可选) 。二、问答题1、ARM7TDMI 支持哪几种指令集,各有什么特点?支持 ARM 指令集和 Thumb 指令集两种。ARM 指令集:指令 32 位,效率高,
11、代码密度低,所有ARM 指令都是可以有条件执行的。Thumb 指令集:指令16 位,代码密度较高, Thumb 指令仅有一条指令具备条件执行功能。保持ARM 的大多数性能上的优势,是ARM 指令集的子集。2、ARM7TDMI 有几种处理器模式,简单介绍该几种模式的工作特点?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 精品文档精品文档ARM7TDMI 有 7 种处理器模式。用户模式:正常程序运行的工作模式,不能直接从用户模式
12、切换到其它模式系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式快中断模式:用于快速中断处理, 支持高速数据传输及通道处理, 只有在 FIQ异常响应时,才进入此模式。中断模式:用于通用中断处理,只有在IRQ 异常响应时,才进入此模式。管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。中止模式:用于虚拟内存和/或存储器保护。未定义模式: 支持软件仿真的硬件协处理器, 只有在未定义指令异常响应时,才进入此模式。3、什么是引导程序?什么是启动程序?两者有什么区别?引导程序是 ARM 微处理器在上电或复位后首先运行Boot Block 中的一段代码;启动
13、程序是在运行引导程序后,正式运行用户main 函数之前,还需要运行一段代码引导程序由芯片厂商固化在芯片中,功能包括:判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能 (ISP)。启动程序由用户添加,功能包括:向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O 初始化、外围初始化,地址重映射等操作。4、简要描述 LPC2000 系列芯片内部 GPIO 的功能特点?(1) 可以独立控制每个GPIO 口的方向;(2) 可以独立设置每个GPIO 的输出状态;(3) 所有 GPIO 口在复位后默认位输入状态。5、试说明 LPC
14、2000 系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能?PINSEL0 控制引脚 P0.0P0.15的连接状态,每两位控制一个引脚。PINSEL1 控制引脚 P0.16P0.31的连接状态,每两位控制一个引脚。PINSEL2 控制 P1端口和 P2 端口。6、试说明 LPC2000 系列芯片的存储器映射的结构特点?(看图回答问题4)(1)0GB 向上为 128KB 或 256KB 的片内非易失性存储器;(2)1GB 向上为 16KB 片内静态 RAM ;(3)2GB 向下为 Boot Block 重映射;(4)3.5GB向上为 VPB 外设;(5)4GB 向
15、下为 AHB 外设 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 精品文档精品文档7、试说明 LPC2000 系列芯片内部向量中断控制器(VIC)的功能特点?(看图回答问题 5)(1) 可以管理最多 32 个中断请求,可将其编程为 FIQ、 向量 IRQ 或非向量IRQ;(2) 有 16 个向量 IRQ 中断;(3) 16 个优先级,可动态分配优先级;(4) 可产生软件中断。8、试说明 LPC2000 系列芯片的向量中断和
16、非向量中断的功能特点?向量中断支持 16 个向量 IRQ 中断; 16 个优先级;每个优先级指定一个服务程序入口地址。非向量中断支持 1 个非向量 IRQ 中断; 所有非向量 IRQ 的入口地址都相同。9、试说明 LPC2000 系列芯片内部定时器的功能特点?(看图回答问题6)(1) 各含有一个可编程32 位预分频器;(2) 具有 4 路捕获通道,当输入信号跳变时可取得定时器的瞬时值,也可选择使捕获事件产生中断。(3) 有 4 个 32 位匹配寄存器, 匹配时动作有 3 种:定时器继续工作, 可选择产生中断;停止定时器,可选择中断;复位定时器,可选择中断(4) 有 4 个对应于匹配寄存器的外部
17、输出,匹配时输出有4 种:设置为低电平;设置为高电平;翻转;无动作。10、 简要描述 LPC2000系列芯片内部定时器的预分频功能,匹配功能,捕获功能?预分频功能:通过设置某个常量来控制pclk(定时器的时钟源)的分频。匹配功能:当定时器值等于预设的匹配值时,从引脚输出特定的信号。捕获功能:如果输入信号满足设定的要求,将触发捕获动作,将定时器的计数值保存到捕获寄存器中。11、 试说明 LPC2000系列芯片内部都具有那些外设接口,及其特点?12、 试比较说明 JATG 工具和 ISP工具的异同点?两者都可以将程序下载到开发板上。JATG 通过计算机的并口和开发板的JATG 口下载程序; ISP
18、 通过计算机的串口和开发板的 UART0 下载程序。三、看图回答问题1、下图是 ARM7 处理器的当前程序状态寄存器,请简单说明各位的功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 精品文档精品文档NVCZF TIM4M1M2M316731204 3M05282930278ARM7 当前程序状态寄存器N:负标志位,运算结果的第31 位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,则置位。C:进位标志位
19、,记录无符号加法溢出,减法无错位,循环移位。V:溢出标志位,记录标志设置操作的有符号溢出。I:中断禁止标志位,置位时禁止IRQ 中断,否则允许 IRQ 中断使能。F:中断禁止标志位,置位时禁止FIQ 中断,否则允许FIQ 中断使能。T: 控制位,置位时处理器运行在Thumb 状态下,清零时处理器运行在ARM状态下。M0M4 :模式控制位,定义处理器的7 中模式。其余位为保留位,留作将来使用。2、下图是 LPC2000 内部的时钟发生系统图,试对该图进行简单的描述说明。外接晶体或外接时钟源产生稳定的时钟信号将Fosc提升到合适的频率PLL晶体VPB唤醒PLL晶体振荡器振荡器VPB分频器分频器FC
20、CLKFPCLKfOSCFOSCCPU 内核芯片外设唤醒定时器定时器ON/OFF1342LPC2000 内部的时钟发生系统图晶体振荡器为系统提供基本的时钟信号(Fosc) ;在复位或处理器从掉电模式唤醒时,唤醒定时器为输入的时钟信号做计数延时,使芯片内部有时间进行初始化;PLL 把 Fosc信号提高到一个符合用户需要的频率(Fcclk) ,用于 CPU 内核;VPB 分频器用于把 Fcclk 信号降低到一个合适的Fpclk(也可以不降低),用于外设部件。3、下图是 ARM7 系统内部的存储器加速模块(MAM )连接结构示意图,试针对该示意图说明 MAM 如何实现存储器加速功能。名师资料总结 -
21、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 精品文档精品文档分支跟踪缓存总FlashFlash分支跟踪缓存线接口存储器组 0存储器组 1预取指缓存预取指缓存数据缓存区选择ARM7局部总线2128 位2128 位存储器地址存储器数据 / 指令存储器加速模块中Flash存储器可以存放 4 个 32 位 ARM 指令或 8 个 16位Thumb 指令,它们被分成两组,轮番工作,及时的为CPU 提供需要的指令和数据,以防止 CPU 取指暂停。程序
22、顺序执行时, 一个 Flash组包含当前正在取指的指令和包含该指令的整个 Flash行,而另一个 Flash组则包含或正在预取指下一个连续的代码行。程序出现分支时,在预取指缓存区中保存着将要执行的指令,在分支跟踪缓存区中保存着程序跳转后可执行到的指令。程序获取数据时,如果数据不在MAM 的数据缓冲区,那么MAM 会执行一次 Flash读操作,把一个128位的数据行存入数据缓冲区,这样就加快了按顺序访问数据的速度。4、下图是 ARM7 系统存储器映射图,试对该映射图进行简单的描述说明。(问答题 6)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
23、- - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 精品文档精品文档0 x8400 00000 x0000 00002.0GB1.0GB0.0GB3.0GB3.5GB4.0GB3.75GB0 x0002 00000 x0004 00000 x4000 00000 x4000 40000 x7FFF E0000 x8000 00000 x8100 00000 x8200 00000 x8300 00000 xC000 00000 xE000 00000 xF000 00000 xFFFF FFFF256KB 片内非失忆性存储器(
24、 LPC2124/2214)2MB AHB 外设128KB 片内非失忆性存储器( LPC2114/2212)16KB 片内静态 RAM8KB Boot Block (片内ROM 存储器重映射)2MB VPB 外设16MB Bank0保留保留给片内 RAM 存储器保留给片内 FLASH 存储器16MB Bank116MB Bank216MB Bank3保留给片外存储器ARM7 系统存储器映射5、下图是 ARM7 系统中断向量控制器( VIC)内部结构示意图,试说明VIC 的功能特点。(问答题 7)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
25、 - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 精品文档精品文档向量向量地址默认向量地址寄存器向量向量地址硬向量地址寄存器优IRQFIQ中断选择寄存器中断使能寄存器中断使能清零寄存器中断源软件中断使能寄存器软件中断清零寄存器FIQ中断状态寄存器向量 IRQ0 使能中断源IRQ0 控制寄存器VICVectCntl00寄存器VICVectAddr0VICDefVectAddr向量 IRQ15 使能中断源IRQ15 控制寄存器VICVectCntl1515寄存器VICVectAddr15DefIRQIRQ0IRQ15VectAdd
26、r0VectAddr15DefVectAddr件优先级选择向量地址选择VICVectAddrIRQ0IRQ15DefIRQIRQ 中断信号向量 IRQ0向量 IRQ15非向量 IRQ高低先级中断状态寄存器VICIRQStatus中断信号VICIntSelectVICIntEnableVICIntEnClr31:0VICSoftIntVICSoftIntClear中断状态寄存器VICFIQStatusVICRawIntrIRQFIQ6、下图是 ARM7 系统每个 I/O 端口的内部寄存器控制结构示意图,看图填写下表的寄存器功能说明内容。序号通用名称功能说明1 IOPIN 从该寄存器中可以读出引脚
27、的当前状态,和方向模式无关2 IOSET 该寄存器控制引脚输出高电平,为1 时高电平,为 0 无效3 IODIR 该寄存器单独控制每个IO 口的方向,为 1 时输出,为 0 时输入4 IOCLR 该寄存器控制引脚输出低电平,为1 时低电平为 0 无效PINSELxIOxDIRPINSELxIOxDIRIOxCLRIOxPINIOxSETinout107、下图是 ARM7 系统内部的定时器结构示意图, 试说明内部定时器的功能特点。(问答题 9)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
28、 第 9 页,共 12 页 - - - - - - - - - 精品文档精品文档定时器控制寄存器捕获寄存器比定匹配寄存器预分频器(PR、PC)定时器、计数器(TC )PCLK使能0 x0000 0000(TCR)复位0(CR0)捕获寄存器 1(CR1)捕获寄存器 2(CR2)捕获寄存器 3(CR3)捕获控制寄存器(CCR)捕获功能匹配功能匹配控制寄存器(MCR )MAT3:0CAP3:0中断标志寄存器(IR)较器时器计数值0(MR0 )匹配寄存器 1(MR1 )匹配寄存器 2(MR2 )匹配寄存器 3(MR3 )外部匹配寄存器(EMR )四、计算题1、设有一个基于 LPC2114 的系统,所使
29、用的石英晶振为10MHz。请计算出最大的系统时钟 (Fcclk)频率为多少?此时PLL 的 M 值和 P 值各为多少?请列出计算公式,并编写设置PLL 的程序段。控制寄存器PLLCON保留位PLLEPLLC0127配置寄存器PLLCFG保留位MSEL 4:0PSEL 1:004576状态寄存器PLLSTAT保留位MSELPSEL08579PLLEPLLCPLOCK46101115依题得, Fosc=10MHz 因为 Fcclk 范围为 10MHz60MHz,所以最大的系统所时钟Fcclk=60MHz M=Fcclk/Fosc=60/10=6 因为 Fcco范围为 156MHz320MHz,P=
30、Fcco/(2Fcclk)所以当 Fcco取最小值时, P=156/(2*60)=1.3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 精品文档精品文档当 Fcco取最大值时, P=320/(2*60)=2.67 因为 P 的值必须是 1、2、4、8 中的一个,所以 P=2 uint8 PLLSet(uint32 Fcclk, uint32 Fosc, uint32 Fcco) uint8 i; uint32 plldat
31、; i = (Fcco / Fcclk); / 计算 PLL 分频值, i 的值为 2P switch(i) / 检测参数是否合法 case 2: / 2P 为 2,P为 1 plldat = (Fcclk / Fosc) - 1) | (0 5); / 设置 M 的值,实际写入 M-1 break; case 4: / P 为 2 plldat = (Fcclk / Fosc) - 1) | (1 5); / 设置 M 的值,实际写入 M-1 break; case 8: / P 为 4 plldat = (Fcclk / Fosc) - 1) | (3 5); / 设置 M 的值,实际写入
32、 M-1 break; case 16: / P 为 4 plldat = (Fcclk / Fosc) - 1) | (3 5); / 设置 M 的值,实际写入 M-1 break; default: / P 的值不是 1、2、4、8 中的一个,不合法return(FALSE); break; / 错误返回 PLLCON = 1; / 使能 PLL PLLCFG = plldat; / 设置 PLL 分频值PLLFEED = 0 xaa; / PLL 馈送序列名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
33、 - - - - - 第 11 页,共 12 页 - - - - - - - - - 精品文档精品文档PLLFEED = 0 x55; while(PLLSTAT & (1 10) = 0); / 等待 PLL 锁定PLLCON = 3; / 连接 PLL PLLFEED = 0 xaa; / PLL 馈送序列PLLFEED = 0 x55; return(TRUE); / 正确返回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -