1、嵌入式系统复习题答案 第一章思考与练习()不是常规意义上的嵌入式系统。P6手机 MP3 PC机 数码相机可用作嵌入式操作系统的有()Linux(Vxworks,uc/os-II)windows2000 windowsXP DOS什么叫嵌入式系统 p7 第二章嵌入式系统项目开发生命周期的阶段没有() p4、51识别需求 提出方案 执行项目 系统规划 第三章ARM7TDMI中的T、D、M、I的含义是什么?p22不属于ARM7三级流水线的是()p241取指 译码 PC值递增 执行对于ARM7三级流水线,当一条指令被译码时,上一条指令正被()p24取指 译码 PC值递增 执行对于ARM7三级流水线,当
2、一条指令被译码时,下一条指令正被( )p24取指 译码 PC值递增 执行ARM7TDMI采用三级流水线?采用冯.诺依曼体系结构。ARM7有(两种)处理器状态 ,分别是(ARM)状态和(Thumb) 状态。P30ARM7有(7种)处理器模式,分别是(用户)、(快中断)、(中断)、(管理)、(中止)、(未定义)、(系统模式),其中5种异常模式是(快中断)、(中断)、(管理)、(中止)、(未定义)模式。P42p44(用户模式)是正常程序工作模式,特点是不能(直接)切换到其它模式。(管理模式)是“操作系统保护代码”,复位和软中断响应时进入此模式。系统模式用于支持操作系统的(特权)任务等,与用户模式类似
3、,但可以(直接)切换到其它模式。在ARM7 (37)个用户可见寄存器中,有(6)个状态寄存器,(31)个通用寄存器。程序计数器PC是(R15),程序状态寄存器是(CPSR),链接寄存器LR是(R14),堆栈指针SP是(R13)。P47p49CPSR有若干控制位和若干条件代码标志构成:T为0 表示处理器工作在(ARM状态).p80p87CPSR有若干控制位和若干条件代码标志构成:N为1表示前次运算结果(为负)。CPSR有若干控制位和若干条件代码标志构成:Z为1表示前次运算结果(为零)。CPSR有若干控制位和若干条件代码标志构成:C为1表示前次运算产生了(进位/借位)。CPSR有若干控制位和若干条
4、件代码标志构成:V为1表示前次运算(溢出)。若前次运算结果为负数,则CPSR的( )为1N Z C V 若前次运算结果为零,则CPSR的( )为1N Z C V 若前次运算产生了进位/借位,则CPSR的( )为1N Z C V 若前次运算溢出,则CPSR的( )为1N Z C V 欲使处理器禁止快中断,则应该使()1CPSR的F位为1 CPSR的F位为0 CPSR的I位为1 CPSR的I位为0欲使处理器禁止中断,则应该使( )CPSR的F位为1 CPSR的F位为0 CPSR的I位为1 CPSR的I位为0异常复习 p3p12子程序的最后一条指令必须是( )P3MOV PC,R14 MOV PC,
5、R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_irg,#4中断服务程序的最后一条指令必须是( )P3MOV PC,R14 MOV PC,R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_irg,#4 快中断服务程序的最后一条指令必须是( )MOV PC,R14 MOV PC,R14_und SUBS PC,R14_fig,#4 SUBS PC,R14_irg,#4 P3ARM7处理器响应中断时,处理器硬件修改PC为( )p220x00000000 0x00000000 0x00000018 0x0000001CARM7处理器响应快中断
6、时,处理器硬件修改PC为( )0x00000000 0x00000000 0x00000018 0x0000001C外部设备向处理器发出中断请求,处理器进入( )异常。快中断 中断 未定义指令 预取中止ARM7处理器收到快中断请求,则进入( )异常。快中断 中断 未定义指令 预取中止 第四章ARM7的寻址方式有( )种。P616 7 8 9条件码复习 p35p36使用指令条件码可实现高效的逻辑操作,提高代码效率。指令条件码表如表4.1所列。指令条件码表操作码条件码助记符标志含义0000EQZ=1相等0001NEZ=0不相等1000HIC=1,Z=0无符号数大于1001LSC=0,Z=1无符号数
7、小于或等于ARM指令的条件码的作用是满足了(条件)则执行指令。P39p41处理器从存储器读数据的指令(加载指令)的助记符是()LDR STR SWP SWPB 处理器往存储器写数据的指令(存储指令)的助记符是()LDR STR SWP SWPB将R0+0x12地址处的数据读出,保存到R1中LDR R1,R0,#0x12 将R1中数据保存到R0+0x12地址处STR R1,R0,#0x12 将R00x12地址处的数据读出,保存到R1中LDR R1,R0,#0x12 将R1中的数据保存到R00x12地址处 STR R1,R0,#0x12将R0+R2地址处的数据读出,保存到R1中LDR R1,R1,
8、R2 将R1中数据保存到R0+R2地址处 STR R1,R1,R2 将R0R2地址处的数据读出,保存到R1中LDR R1,R0,R2 将R1中的数据保存到R0R2地址处 STR R1,R0,R2 P60p62数据传送指令的助记符是()。1MOV SBC ADD SUB 代进位加法指令的助记符是( )ADC SBC ADD SUB代借位减法指令的助记符是( )ADC SBC ADD SUB求R1+R2,和放在R1中ADD R1,R1,R2 求R1R2,差放在R1中SUB R1,R1,R2 求R4R3R2R1,差放在R6R5中 SUBS R5,R3,R1 SBC R6,R4,R2求R4R3R2R1
9、,和放在R6R5中 ADDS R5,R3,R1 ADC R6,R4,R2求R4R31,差放在R6R5中 SUBS R5,R3,#1 SBC R6,R4,#0求R4R31,和放在R6R5中 ADDS R5,R3,#1 ADC R6,R4,#0 P69将R0最第4位数据保留,并影响标志位 ANDS R0,R0,#0x0F将R0的1,3,5位置1 ORR R0,R0,#0x2A将R0的1,3,5位置0 BIC R0,R0,0x2AP75,p76R1与99比较,设置相关标志位 CMP R1,#99 R1与R2比较,设置相关标志位 CMP R1,R2 P96跳转到标号waiter处 B waiter前次
10、运算结果为正,转到标号play处 BHI play前次运算结果为非正,转到标号play处 BLS play调用子程序whiet BL whiet前次运算结果为0,调用子程序ply BLEQ ply前次运算结果为非0,调用子程序ply BLNE ply调用子程序是用(BL)指令?子程序返回指令是(MOV PC,R14)编程题:写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。CMP R1,0x30SUBHI R1,R1,0x30编写实现两个寄存器R0,R1相加的子程序。ADD_SUBADDS R0,R0,R1 ;R0=R0+R1MOV PC,LR ;子程序返回END ;文件结束P
11、119p122将CPSR状态寄存器读取,保存到R1中MRS R1,CPSR将SPSR状态寄存器读出,保存到R2中MRS R2,SPSR 程序清单4.3 使能IRQ中断ENABLE-IRQ MRS R0,CPSR BIC R0,R0,#0X80 MSR CPSR_C,R0 MOV PC,LR程序清单4.4 禁能IRQ中断DISABLE_IRQ MRS R0 CPSR ORR R0,R0,#0X80 MSR CPSR_C,R0 MOV PC,LR ;LR即R14编一个简单的软件延时程序DELAYINOPNOPNOPSUBS R1,R1,#1BNE DELAYI第五章p6LPC2000系列单片机包含
12、四大部分:ARM7内核、ARM7局部总线及相关部件、AHB及相关部件、VPB总线及相关部件。LPC2000系列芯片内部单元有SRAM和FLASH、系统功能之系统时钟和复位、向量中断控制器VIC、外部存储器控制器EMC、异步收/发器UART、外部中断等。P14由设置寄存器( )来选择P1口的引脚功能。SINSEL0 SINSEL1 SINSEL2 SINSELxp21p23片内Flash编程方法不包括( )通过内置JTAG接口 通过在线系统编程(ISP),通过UART0通信通过在线应用编程(IAP) 运行Loader程序片内SRAM控制器包含一个(回写缓冲区),它总是保存着发生到内部SRAM的(
13、最后)一个字数据。P26片内存储器可能的最大地址是( )0x7FFFFFFF 0xDFFFFFFF 0xEFFFFFFF 0xFFFFFFFF片外存储器可能的最大地址是( )0x7FFFFFFF 0xDFFFFFFF 0xEFFFFFFF 0xFFFFFFFFVHB外设可能的最小地址是( )0x00000000 0xE0000000 0xE0000000 0xF0000000AHB外设可能的最大地址是( )0x7FFFFFFF 0xDFFFFFFF 0xEFFFFFFF 0xFFFFFFFFp31Boot lock映射到片内存储器(顶部),Flash映射到片内存储器(底部)P5758时钟产生单
14、元能产生供(内核)使用的时钟和供(外设)使用的时钟晶振输出的时钟频率最大为()MHz25 20 35 40锁相环输出的最大频率为(60 )MHz20 40 60 80p70p746与锁相环有关的寄存器有(PLLCON)、(PLLCFG)、(PLLSTA)、(PLLFEED)锁相环计算流程是:1、选择内核工作频率。2、选择振荡器频率。3、计算M值,配置MSEL位。4、计算P值,配置PSEL位。与VPB分频器有关的寄存器有(VPBDIV)为了正确使用时钟技术,必须设置好(PLLCON)、(PLLCFG)、(PLLFEED)、(VPBDIV)等寄存器。复位后程序计数器PC的值为( )0x000000
15、00 0x00000004 0x00000008 0x0000001Cp113为了使用好中断技术,要设置好(6)个寄存器。EXTPOLAR2位被设置为1,则( )引脚EINT1输入信号高电平或上升沿有效 引脚EINT2输入信号高电平或上升沿有效引脚EINT3输入信号高电平或上升沿有效 引脚EINT0输入信号高电平或上升沿有效EXTMODE2位设置为1,则( )引脚EINT1输入信号为边沿触发有效 引脚EINT2输入信号为边沿触发有效引脚EINT3输入信号为边沿触发有效 引脚EINT0输入信号为边沿触发有效要求外部中断2能将处理器从掉电模式唤醒,( )应该设置成1EXTWAKE0位 EXTWAK
16、E1位 EXTWAKE2位 EXTWAKE3位若引脚EINT1输入中断请求,会使( )中断标志寄存器EXTINT的第1位清0 中断标志寄存器EXTINT的第1位置1中断标志寄存器EXTINT的第0位清0 中断标志寄存器EXTINT的第0位置1p126,p127用C语言设置EINT0为低电平触发中断 PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01; EXTMODE=0X00; EXTPOLAR=0X00; .用C语言设置EINT0为下降沿触发中断 PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01; EXTMODE=0X01; EXTPOLAR=0X00; .
17、用C语言设置EINT1为高电平触发中断 PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01; EXTMODE=0X00; EXTPOLAR=0X02; .用C语言设置EINT1为上升沿触发中断 PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01; EXTMODE=0X02; EXTPOLAR=0X02;.p130p138 p137有错异常向量表保存在0x00000000起始处,则MAP1:0的值应该为( )。 00 01 10 11异常向量表保存在Boot Block中,则MAP1:0的值应该为( )。 00 01 10 11异常向量表保存在片内SRAM中,则M
18、AP1:0的值应该为( )。 00 01 10 11异常向量表保存在外部存储器中,则MAP1:0的值应该为( )。 00 01 10 11p150空闲模式特点:内核停止执行指令,系统时钟一直有效,外设功能保持设置PCON的IDL位为1,进入空闲模式;中断请求使处理器退出空闲模式。掉电模式特点:关闭时钟,仅相关数据保持、处理器和引脚状态保持。设置PCON的PD位为1,进入掉电模式;复位和无需时钟的中断使处理器退出中断。欲进入空闲模式,则应该使( )。IDL为1 IDL为0 PD为1 PD为0欲进入掉电模式,则应该使( )。IDL为1 IDL为0 PD为1 PD为0 p15外部存储器控制器输出地址
19、线(24)位,4位存储器组选择线是(CS3:0)。P18外部存储器分为(4)组,每组有(自己的)配置寄存器BCFGx,通过它分别可以设置每个寄存器组读写访问之间插入的等待周期(个数)、每个存储器组的总线(宽度)等。P2033配置寄存器BCFG0的WST1为( ),外部寄存器组BANK0的读操作周期为5个CCLK周期1 2 3 4配置寄存器BCFG0的WST2为( ),外部寄存器组BANK0的写操作周期为5个CCLK周期1 2 3 4配置寄存器BCFG1的MW为( ),外部寄存器组BANK1数据总线宽度为32位00 01 10 11当将PINSEL03:0设置成( )时,P0.0和P0.1为GP
20、IO脚。0000 0101 1010 1111 当将PINSEL03:0设置成( )时,P0.0和P0.1分别为TxD0和RxD0脚。0000 0101 1010 1111当将PINSEL03:0设置成( )时,P0.0和P0.1分别为PWM1、PWM3脚。0000 0101 1010 1111当将PINSEL03:0设置成( )时,P0.1脚为EINT0脚。0000 0101 1010 1111用C编程,将P0.0和P0.1分别设置为TxD0和RxD0脚 . PINSEL0=PINSEL0&0xFFFFFFF0 PINSEL0=PINSEL0|0x00000005 .P53、p56ARM7内
21、核具有(2)个中断输入,但经过向量中断控制器VIC最多可以接收(32)个中断输入请求。外部中断请求EINT0是向量中断控制器VIC的( )中断请求输入14 中断请求输入15 中断请求输入16 中断请求输入17p58、p59允许EINT0产生中断,应该使中断使能寄存器VICIntEnable的( )为1。14 15 16 17设置EINT0为快中断FIQ,应该使中断选择寄存器VICIntSelect的( )为1。14 15 16 17设置EINT0为中断IRQ,应该使中断选择寄存器VICIntSelect的( )为0。14 15 16 17用C语言编程开放外部中断EINT1,设置其为快中断FIQ
22、。 . VICIntEnableVICIntEnable|0x80 VICIntselectVICIntselect|0x80 p9P0为GPIO,欲使它的低8位为输出脚,而其他位为输入脚,则应该设置IO0DIR为( )0xFF 0xFF00 0xFF0000 0xFF000000P0为GPIO,欲使它的815位为输出脚,而其他位为输入脚,则应该设置IO0DIR为( )0xFF 0xFF00 0xFF0000 0xFF000000P0为GPIO,欲使它的1623位为输出脚,而其他位为输入脚,则应该设置IO0DIR为( )0xFF 0xFF00 0xFF0000 0xFF000000p11P0的低8位为输出脚。欲使其低4位输出高电平,则应该( ),设置IO0SET为0xF0,设置IO0CLR为0x0F设置IO0SET为0xF0,设置IO0CLR为0xF0设置IO0SET为0x0F,设置IO0CLR为0xF0设置IO0SET为0x0F,设置IO0CLR为0x0F设已经将P0口设置成GPIO,用C语言编程,使P0的低8位输出脚,低4位输出高电平。 IO0DIR=0xFF IO0SET=0x0F IO0CLR=0xF0 (注:可编辑下载,若有不当之处,请指正,谢谢!)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1