《2022年ARM嵌入式系统基础教程第二版不完整答案[参 .pdf》由会员分享,可在线阅读,更多相关《2022年ARM嵌入式系统基础教程第二版不完整答案[参 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一周作业1 写出下列英文简称对应的中文含义答 MMR 存取 DSP 的寄存器PDA 个人数 字助理DSP 嵌入式数字信号处理器EMPU 嵌入式微处理器MCU 微控制器SoC 片上系统RTOS 实时操作系统ISR 中断服务子程序2 什么是嵌入式系统,有什么特点?答嵌入式系统: 嵌入到对象体系中的专用计算机应用系统特点:嵌入性,内含计算机,专用性4 IEEE 的实时UNIX 分委会认为实时操作系统应具备哪些特点?答 1,异步的事件响应2,切换时间和中断延时时间确定3,优先级中断和调度4,抢占式调度5,内存锁定6 连续文件7 同步5 前后台系统的概念答 对于基于芯片开发来说应用程序一般是一个无限的
2、循环,可称为前后台系统6 非占先式内核和占先式内核工作时有何不同答 1 非占先式内核要求每个任务自我放弃CPU 的所有权,非占先式调度法耶称作合作型多任务,每个任务彼此合作共享一个CPU,异步事件还是由中断服务来处理,中断服务也可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后,控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU 的使用权时,高优先级的任务才能获得CPU 的使用权。2 对于占先式内核,最高优先级的任务一旦就绪,总能得到CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU 使用权就被剥夺了,那个高优先级的任务立刻得到
3、了CPU 的控制权。7 名词解释资源: 程序运行时可使用的软,硬件环境。共享资源: 可以被一个以上任务使用的资源代码临界区: 指处理时不可分割的代码,运行这些代码不允许被打断任务: 一个任务也称为一个线程,是一个简单的程序内核:多任务系统中,内核负责管理各个任务,或者说每个任务分配CPU 时间,并且负责任务之间的通信调度: 调度是内核的主要职责之一,调度就是决定该轮到哪个任务运行了。第二章作业1 ARM内核采用什么体系结构?ARM体系结构有什么特性?答ARM内 核 采 用 精 简 指 令 集 计 算 机( RISC )体系结构。特点 1 具有大量的通用寄存器2通过装载,保存结构使用独立的loa
4、d和 store指令完成数据在寄存器与外部存储器之间的传达, 处理器只处理寄存器中的数据,从而可以避免多次访问存储器3 寻址方式非常简单,多有装载、保存的地址只由寄存器内容和指令域决定4 使用统一和固定长度的指令格式5 每一条数据处理指令都可以同时包含算术逻辑单元的运算和移位处理,以实现对 ALU 和移位器的最大利用6 地址自动增加和自动减少的寻址方式优化了程序中的循环处理7load,store 指令可以批量传输数据,从而实现了最大数据吞吐量8 大多数ARM 指令时可 条件执行的通过条件执行可以减少指令的数目,从而改善程序的执行效率和提高代码密度2 ARM7TDMI-S中的 T、 D、 M、I
5、 和 S的含义是什么?答T 高密度16 位 Thumb 指令集扩展D 支持片上调试M 64 位乘法指令I Embeded ICE 硬件仿真模块3 ARM7TDMI的存储器使用什么结构?字、半字和字节有什么关系?答ARM 处理器采用了冯。诺依曼结构, 以能被 4整除的地址开始连续的4个字节构成1 个字,字的数据类型为4 个连续字节,从偶数地址开始连续的2 个字节称为一个半字,半字的数据类型为2 个连续的字节。4 ARM7TDMI有几级流水线?程序计数器PC 指向流水线中的哪个指令?在ARM 状态和Thumb 状态时, PC 与当前程序执行的位置有何不同?名师资料总结 - - -精品资料欢迎下载
6、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 答3 级流水线, 3 个阶段取指,译码,执行。PC 值总指向正在取值的指令。ARM 状态, PC 值 =当前程序执行位置+8 字节。Tumb 状态, PC 值 =当前程序执行位置+4字节5 ARM 状态和Thumb 状态有何不同? 答 ARM 指令集为32 位(字)长度,具有最完整的功能。 Thumb 指令集为16 位(半字)长度,能实现ARM 指令集的大部分功能,功能上可认为Thumb 是 ARM 指令集的子集,却具有极
7、高的代码密度6 ARM 处理器支持的七种模式是什么?各有什么特点?7 ARM 的异常模式分几种?各种异常是怎样进入的?答 管理模式,中止模式,未定义模式,中断模式和快速中断模式。1 处理器复位之后进入管理模式,操作系统内核通常处于管理模式2 当处理器访问存储器失败时,进入数据访问中止模式3 当处理器遇到不支持的指令时,进入未定义模式4 中断模式和快速中断模式分别对ARM处理器两种不同级别的中断作出响应8 简述 ARM 状态与Thumb 状态下,各种模式实际访问的寄存器. 9 什么是堆栈、 栈顶、 栈底?什么情况下会进行堆栈操作?答 堆栈:是内存中划分出的一段存储空间,用于暂时保存一些数据。栈顶
8、:通常指堆栈指针指向的存储单元栈底:堆栈区域中保存第一个堆栈数据的存储单元。情况:堆栈操作通常会发生在子程序调用,异常发生或者是程序运行过程中寄存器数量不够时。10 链接寄存器LR 的作用是什么?答 1 当使用BL 指令调用子程序时,返回地址将自动存入到R14 中2 当发生异常中断时,LR 保存异常处理程序的返回地址。11 名 词 解 释RISC精 简 指 令 集 计 算 机CISC 复杂指令集计算机CPSR 程 序 状 态 寄 存 器SPSR 备 份 程 序 状 态 寄 存 器MIPS MIPS/MHz 12 写出 CPSR 的数据格式,并分析其具体含义答NZCV IFTM4M3M2M1M0
9、 具体含义一,4 个条件代码标志(负标志N,零标志Z,进位标志C,溢出标志V)二, 2 个中断禁止位(IRQ 禁止和 FIQ 禁止)三, 5 个对当前处理器模式进行编码的位( M【 4:0】 )四, 1 个用于指示当前执行指令状态的位( ARM 指令还是Thumb 指令)13 预取中止异常和数据中止异常有何不同答1,预取指中止: 由程序存储器引起的中止异常2,数据中止: 由数据存储器引起的中止异常14 大端存 储格式和小端存储格式如何定义?答1 在小端格式中,一个字当中最低地址的字节被看作室最低位字节,最高地址的字节被看作室最高位的字节,存储器系统字节0 连接到数据线70。2 在大端格式中,A
10、RM 处理器将最高位字节保存在最低地址,最低位字节保存在最高位地址。 存储器系统字节0 连接到数据线 3124 第三章作业1ARM7TDMI有哪几种寻址方式?指出下列指令的寻址方式答 1寄存器寻址2 立即寻址3 寄存器移位寻址 4寄存器间接寻址5基址寻址 6 多寄存器寻址 7 堆栈寻址 8 相对寻址(1)ADD R0,R1,R2 寄存器寻址(2) MOV R0,R2,LSR #2寄存器移位寻址(3)SUBS R2,R2,#2 立即寻址(4) LDR R1,R0 寄存器间接寻址(5)STR R0,R1,#-5 基址 寻址(6) LDMIAR1!, R2-R7,R9 多寄存器寻址(7)STDMED
11、 SP!,R1-R7,LR 堆 栈 寻 址(8) BNEQ LOOP 相对寻址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 2已知 R1=8,R2=64,求下列指令之后的结果(1)ADD R1,R1,R1,LSL #3 R 的值左移3 位,结后与R 求和,结果放入R 中,R1=R1+R1*8=72 (2) SUB R0,R1,R1,LSR #2 R0=R1-R1*4=-24 (3) SUB R0,R1, R1, LSR #2
12、R0=R1-R1/4=6 (4)ADD R1,R1,R1,LSL R2 R1=R1+R1*2(R2)=2(3)+2(67) 3 ARM 指令的条件码有多少个?默认的条件码是什么?答,16 条,默认条件码是AL 4LDR/STR 指令的偏移形式有哪四种?答 1 零漂移 2 前索引偏移3 程序相对偏移4后索引偏移5调用子程序使用B 指令还是BL 指令?请写出返回子程序的指令。答 BL 指令。 MOV PC LR 6判断下列8 位位图是否合法(1) 0 x0103C000 不合法(2) 0 x12800000 合法,由0X4A000000 2 (3)0 x4000003B 合法 ,由 0XED 2
13、7已知R1=0X40000000,内存0X40000000=0 x01, 0X40000004=0 x02, 0X40000008=0 x03, 0X4000000c=0 x04,执行 指 令LDMIAR1!,R2-R4,R6 后 ,R2-R4,R6 的内容为多少?答 0X01,0X02,0X03,.R6=0X04 8CMP 指令是如何执行的?写一程序,判断 R1 的值是否大于0 x30,是则将R1 减去0 x30. 答 CMP,Rn,operand2,比较指令,即将寄存器 Rn 的值减去operand2 的值,根据操作的结果更新CPSR 中的相应条件标志位。CMP R1, # 0X30 .
14、. SUBS R1,R1,#0X30 第四章作业1、 LPC2114 在使用 PLL 与不使用PLL 功能时,对应的晶振范围是多少?答 使用PLL 晶振范围为10MHZ25MHZ,不使用 PLL 范围为 1MHZ30MHZ 。2、 如何启动LPC2000 系列 ARM7 的微控制器的 ISP 功能?相关电路如何设计?答1,将芯片的 P0.14 功能引脚拉低后,复位芯片乐意进入到ISP 状态 2 在芯片内部无有效代码时,BooEBlock 取进入 ISP 状态。3、LPC2000 系列ARM7微控制器片内的FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH 的访问速度?答片内的
15、FLASH 是 128 位宽度的接口, 通过存储器加速模块MAM 来提高 FLASH 的访问速度。8、若 LPC2210/LPC2220 的 bank0 存储块使用 32 位总线,访问bank0 时,地址线A1、A0 是否有效? EMC 模块中的BLS0BLS3具有什么功能?答:1 访问 bank0 时,地址线 A1、A0 无效。2,字节 0 地址LPC2200/2 外部地址总线的地址位A0=06 字节 1 地址LPC2200 外部地址总线的地址位 A0A1=01c 字节 2 地址LPC220 外部地址总线的地址位 A0A1=10b 字节 3 地址LPC2200 外部地址总线的地址位 A0A1
16、=11b 9、LPC2000 系列 ARM7 微控制器具有哪两种低功耗模式?如何降低系统功耗?答 1,空闲模式:处理器停止执行指令2,掉电模式: 振荡器关闭, 这样芯片没有任何内部时钟10、存储器重映射(1)LPC2210/2220 具有哪几种存储器映射模式? 1, BootBlock模式2,用户片内FLASH 3,用户片内RAM 模式 4,用户外部存储器模式。(2)当程序固化到片内FLASH ,向量表保存在 0 x0000 0000 起始处,则MAP1:0 为_01_. (3)LPC2000 系列 ARM7 微控制器存储器重映射的目标起始地址为_0X0000 0000_,共有_8_个字。11
17、、外部中断唤醒掉电设计。以下代码时初始 化 外 部 中 断0 , 用 它 来 唤 醒 掉 电 的LPC2114.。PINSEL0=0 x0000 0000; PINSEL1=_(PINSEL1&0XFFFFFFFC)/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 0X01; EXTMODE=_0X00 EXTPOLAR=_0X00; EXTWAKE=_0X01_; EXTINT=_0X0F_; 12、假设 VPB 时钟为 15
18、M ,用定时器0 产生一个1S 的中断信号,中断服务函数为TIMER0_ISR 。完成下列的初始化程序。void TIME0INIT(void) VICIntSelect=_ VICIntSelect &((14_)_)_; VICVectCntl0=0X2014_; VICVectAddr0=_(unsigned int)Timer0-ISR_; VICIntEnable=_(14_)_; T0TC=0;/ 从 0 开始计数T0PR=14;/15 分频,计数时钟为1000k T0MCR=_0X03_;/ 设置 T0MCR 匹配后复位 T0TC ,并产生中断T0MR0=_1000000;/ 设
19、置 1s 的匹配值T0TCR=_0X01;/ 启动定时器ARM 第 6 章作业1.任务函数按照执行方式可划分为几类,各有什么特点。答 方式:单次执行类,周期执行类,事件触发类。特点:单次执行类,创建后只执行一次,结束时自己删除自己周期执行类, 按一个固定的周期来执行。事件触发类, 此任务平时处于等待状态,当某个事件产生时执行一次任务。2.任务的优先级安排的原则是什么。答 1 中断关联性,与中断服务程序(ISR) 有关联的任务应安排尽可能高的优先级。2 紧迫性,在所有紧迫任务中,按响应时间要求排序, 越紧迫的任务安排的优先级越高3 关键性,任务越关键,优先级越高4 频繁性, 执行越频繁, 周期越
20、短, 优先级越高5 快捷性,越快捷的任务优先级越高6 传递性,信息传递的上游任务的优先级高于下游任务的优先级。3.系统函数使用的基本原则是什么。答1 配对性原则2 中断服务程序调用函数的限制 3 任务必须调用某个系统函数4.时间函数有什么作用。答1控制任务的执行周期2 控制任务的运行节奏 3 状态查询5.简述资源同步与行为同步的概念答资源同步: 使得不同任务访问共享资源时能够确保共享资源信息可靠和完整的措施。资源同步实现手段1,进入然后退出临界区 2,禁止然后允许调度3,使用信号量与互斥信号量。行为同步: 一个任务的运行过程需要和其他任务的运行相配合,才能达到预定的效果,任务之间的这种动作配合
21、和协调关系。6.时间管理函数有哪些,有什么用途?答1 系统延时函数OSTimeDly() ,用途:调用该函数会使 OSII进行一次任务调度, 并且执行下一个优先级最高的处于就绪的任务2 系统延时函数OSTimeDly,用途同上。3 强 制 延 时 的 任 务 结 束 延 时 函 数OSTimeDlyResume( ) ,用途, OSII允许用户结束正处于延时期的任务,延时的任务可以不等待延时期满,而是通过取消其他任务的延时来使自己处于就绪态,可以通过调用OSTimeDlyResume( )函数和指定要恢复的任务的优先级来完成。4获得系统时间函数OSTimeGet()和设置系统时间函数OSTim
22、eSet() ,用途,用户可以通过调用OSTimeGet() 函数来获得该计 数 器 的 当 前 值 , 也 可 以 通 过 调 用OSTimeSet()函数来改变该计数器的值。7.事件使用的规则是什么答1 相似性 2 先创建后使用3 配对使用4 在中断服务程序中使用8.优先级反转在什么情况下会发生,如何解决。答情况:当低优先级任务占有某个共享资源而高优先级任务又要使用时,就会发生优先级反转。解决方法: 1 占用一个空闲优先级2 内名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4
23、页,共 5 页 - - - - - - - - - 核可以将低优先级任务的优先级提升到不低于那个高优先级任务的优先级,直到低优先级的任务使用完占用的共享资源。9.事件标志组中独立型同步和关联型同步有什么区别答 1 若任务需要与任何事件之一发生同步,可称为独立型同步(逻辑或关系)2 任务也可以与若干事件都发生了同步,称之为关联型(逻辑与关系)10.计数信号量与互斥信号量有什么区别答 它们最大的区别是:互斥信号量是一个二值信号,因此只能为0 和 1,仅用于资源同步以实现对共享资源的独占。计数信号量的取值范围为065535,不仅可以用于资源同步以实现对共享资源的独占,而且还可以实现任务间以及中断与任务间的同步。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -