




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上ARM嵌入式系统设计参考复习题(2017-11)主要知识点:第1章1. 嵌入式系统:“以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统” 根据应用的要求,沿着“体积小、低功耗、高可靠”方向发展,对运算速度、存储容量没有统一要求。三要素:嵌入、专用、计算机。2. 嵌入式系统有哪些部分组成?一般由硬件层,中间层(HAL或BSP)和软件层组成。粗略划分:嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件 稍细划分:嵌入式处理器、外围设备、驱动程序、嵌入式操作系统、应用接口、嵌入式应用软件3.
2、 嵌入式系统特点:系统内核小专用性强系统精简高实时性。4. 嵌入式处理器的分类:嵌入式微处理器(MPU):就是和通用计算机的处理器对应的CPU,可以认为是“增强型”通用微处理器 。嵌入式微控制器(MCU):就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM、RAM、总线,总线逻辑、定时/计数器、Watchdog、I/O、串行口、A/D等各种必要功能和外设。嵌入式DSP处理器(DSP):是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令执行速度。嵌入式片上系统(SOC):是追求产品系统最大包容的集成器件。绝大多数系统构件都
3、在一个系统芯片内部。第二章 1. ARM:是Advance RISC Machine 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。2. 在ARM9TDMI中 “9TDMI”的含义: 9:采用版本为9的ARM微处理器 T:支持16为压缩指令集Thumb,D: 支持片上Debug,称为D变种 M:内嵌硬件乘法器 Multiplier,称为M变种 I: 嵌入式ICE,支持片上断点和调试,称为I变种。3. ARM Cortex-A8处理器的三种工作状态:ARM状态,处理器执行32位的字对齐的ARM指令;Thumb状态:处理器执行16位的半字对齐的T
4、humb指令和ThumbEE状态:执行16位的半字对齐的Thumb指令集变种。8种工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys)和监控模式(mon)。特权模式:除usr之外的其它的7种工作模式都是特权模式。异常模式:除usr和sys之外的其它的6种工作模式都是持权模式。4. ARM A8寄存器分成哪几类?各类有哪些寄存器?寄存器LR有什么用途?分两类:33个通用寄存器和7 个状态寄存器。33个通用寄存器:R0R15;R13_svc、R14_svc;R13_abt、R14_abt;R1
5、3_und、R14_und;R13_irq、R14_irq;R8_fiq-R14_fiq、R13_mon、R14_mon;。7 个状态寄存器:CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq和SPSR_mon。LR (R14):也称作子程序链接寄存器或链接寄存器LR,当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt、R14_und和R14_mon用来保存R15的返回值。5.CPSR
6、各位是意义:N:正负号/大小 标志位 0表示:正数/大于;1表示:负数/小于 Z:零标志位 0表示:结果不为零;1表示:结果为零C:进位/借位/移出位0表示:未进位/借位/移出0;1表示:进位/未借位/移出1 V:溢出标志位 0表示:结果未溢出;1表示:结果溢出I、I和F:irq和fiq中断允许和禁止控制位,1 禁止irq或fiq中断 0 允许irq或fiq中断。T: 控制(标志)位反映处理器的运行状态T=1时,程序运行于Thumb状态,T=0时,程序运行于ARM状态。TM:控制位决定了处理器的运行模式模式 TM4:0用户 10000快中断 10001中断 10010管理 10011中止 10
7、111未定义 11011系统 11111监控 101106.ARM 异常响应过程(进入异常)执行哪些操作。保存返回地址、保存当前状态寄存器CPSR的内容、设置当前状态寄存器CPSR中的相应位、转去执行中断处理程序。第三章 1.ARM指令中的第二操作数“operand2”有哪些具体形式:三种:寄存器、寄存器移位、8位位图立即数。 2.对于ARM的变址寻址方式,有基地址和偏倚地址两部分组成。(1)基地址可以是哪些寄存器?(2)偏移地址可以有哪些形式?(3)总地址的计算方法有哪些?怎么表示?(4)变址寻址应用于哪些指令?(1)基地址可以是通用寄存器R0-R15中的任意一个。(2) 偏移地址
8、可以有三种形式:12位立即数、寄存器、寄存器移位。(3) 总地址的计算方法有三种: 前变址(前索引):先基址+偏址,生成操作数地址,做指令指定的操作。如:LDR Rd,Rn,#m后变址模式(修改基址寄存器): 基址寄存器不加偏移作为操作数地址。 完成指令操作后,用(基址+偏移)的值修改基址寄存器。如:LDR Rd,Rn,#m自动变址模式(修改基址寄存器): 先基址+偏移,生成操作数地址,做指令指定的操作。然后自动修改基址寄存器。如:LDR Rd,Rn,#m !(4) 有4条指令: LDR、STR、LDM、STM3ARM 有寻址方式:立即寻址、寄存器寻址、寄存器间接寻址、变址寻址、多寄
9、存器寻址、堆栈寻址、块拷贝寻址、相对寻址4. ARM 伪指令:ADR:小范围的地址读取伪指令、ADRL:中等范围的地址读取伪指令、LDR:大范围的地址读取伪指令、NOP:空操作伪指令。 5. ARM 指令集分为哪几种类型?各类有哪些指令(可以不考虑协处理器指令)。五类:存器访问指令、数据处理指令、跳转指令、协处理器指令、杂项指令。存储器访问指令:单存储器存取指令,多存储器存取指令。数据处理指令:算术运算指令,逻辑运算指令,数据传送指令,比较指令,测试指令。跳转指令:B跳转指令 BL带链接的跳转指令 BX带状态切换的跳转指令 BLX带链接和状态切换的跳转指令。杂项指令:程序状态寄存器操作指令,中
10、断操作指令。6. ARM 有哪些条件码?各个条件码的符号及意义。(比较常用的应该会)。条件码 0000 0001 0010 0011 0100 0101 0110 0111助记符 EQ NE CS/HS CC/LO MI PL VS VC含 义 相等 不相等 无符号数大于或等于 无符号数小于 负数 非负数 溢出 没有溢出标 志 Z=1 Z=0 C=1 C=0 N=1 N=0 V=1 V=01000HI无符号数大于C=1且Z=01001LS无符号数小于或等于C=0或Z=11010GE有符号数大于或等于N=V1011LT有符号数小于N!=V1100GT有符号数大于Z=0且N=V1101LE有符号数
11、小于或等于Z=1或N!=V1110AL无条件执行arm采用32位架构,基本数据类型4种,填空Byte 8位 字节HalfWord 16 半字 2字节对齐Word 32 字 4DoubleWord 64 双字 8内核工作模式,cortex a8,(课本8种)8种usrfiqirqsvc特权模式abt数据访问中止模式und未定义指令中止模式sysmon监控模式, 可在安全模式和非安全模式切换8个模式中,除用户模式usr, 其他7个全部特权模式7个特权模式中,除了系统模式,剩下6个都属于异常模式异常模式:快速中断请求模式(FIQ) 用于高速数据传输 外部
12、中断请求模式(IRQ) 用于通常的中断处理特权模式(SVC) 数据访问终止模式(abt) 当数据或指令预取终止时进入该模式,可用于虚拟内存及存储保护 未定义指令中止模式(und) 用于支持硬件协处理器的软件仿真监控模式(mon)Arm微处理器工作模式,分别为: 1 用户模式(Usr) 用于正常执行程序2 快速中断模式(FIQ)
13、60; 用于高速数据传输3 外部中断模式(IRQ) 用于通常的中断处理4 特权管理模式(SVC) 使用的保护模式(高权限),复位和软件中断进入5 数据访问中止模式(abt) 当数据或指令预取终止时进入该模式,可用于虚拟内存及存储保护6 系统模式(sys)
14、; 运行拥有特权的操作系统任务7 未定义指令终止模式(und) 用于支持硬件协处理器的软件仿真(浮点、微量运算)8 监控模式(mon), 可在安全模式和非安全模式切换异常模式优先级如下:1(最高) SVC 复位2 abt 数据中止3 FIQ(快速中断请求)4 IRQ(外部中断请求)5 abt 预取指令中止6(最低) und 未定义指令, SWI 软件中断 arm7为止使用流水线3级取指令,从寄存器装载一条指令译码 为下一周期准备控制信号执行 处理指令,结果写会寄存器arm9,五级流水线 3
15、级+缓冲/数据 回写arm10 6级流水线 寄存器R13用作数据栈指针,记作SP。 寄存器R14称为链接寄存器,记作LR,它用于保存子程序的返回地址。 寄存器R15是程序计数器,记作PC,不能用作其它用途。CPSR 当前程序状态寄存器 理解CPSR格式,里面标志位含义等等跳转指令,bl跳转32mb范围,跳转pc,如ldrb pc,.可以4GB范围AAPCS标准 子程序调用,用R0-R3存储参数,R0存返回值I2C总线,通过串行数据线(SDA)和串行时钟线 (SCL)在连接到总线的器件间传递信息。传输时包含寻址和数据信息,每个字节8位,每个字节后必须跟一个响应位。 A_D转换结束的表达式是 !(
16、TSAADCCON0&(1<<15)获取AD转换结果的表达式是 (TSDATX0&0xfff) LCD 16M色的像素颜色的数据格式是怎样的4个字节,前3个字节分别为红,绿,蓝三原色的色号。64K色的数据则用16位表示一个像素的颜色,三原色配比是5/6/5。android操作系统的源码结构分为3个部分:核心工程(Core Project),扩展工程(External Project),包(Package),应用程序(Application)在package/apps 目录中。二、简答题: 1、Cortex-A8是ARMv7-A 架构的,共有哪几种工作模式,其中哪几种
17、属于异常模式?usr用户模式fiq快速中断模式irq 外部中断模式svc特权模式abt数据访问中止und未定义指令中止模式sys系统模式mon监控模式,安全模式切换8种工作模式,除用户模式,都是特权模式特权模式里面,除系统模式,其他都是异常模式。即异常模式6种:Fiq 快速中断异常模式Irq 外部中断请求模式svc特权模式abt数据访问中止模式und未定义指令中止模式mon监控模式2.寄存器CPSR,SPSR的功能各是什么?CPSR(当前程序)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。 中断时,保存当前程序状态,处理器模式等等。每一
18、种处理器模式下都有一个专用的物理状态寄存器,称为(备份程序状态寄存器)。当特定的异常中断发生时,这个用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSRCPSR格式CPSR格式如下所示。和CPSR格式相同。31 30 29 28 27 26 7 6 5 4 3 2 1 0N Z C V Q IT1:0J I F T M4 M3 M2 M1 M0*条件标志位*Nn=1表示运算结果为负数,n=0表示结果为正数或零。zz=1表示运算的结果为零;z=0表示运算的结果不为零。C进位,标志VV=1表示符号位溢出JThumbEE状态位 M4-0 模式位3、简述S5PV210 外部
19、中断处理和响应的流程。中断发生后,处理: 通过堆栈和spsr寄存器,入栈保存现场,设置cpsr模式位,处理器模式变成外部中断模式。外部中断中断发生后,VIC0IRQSTATUS相应位置改变,中断向量地址VIC0ADDRESS相应位改变,pc跳到向量表的特定地址,从该地址开始执行,跳转调用我们写的中断处理函数,执行中断处理程序。/*4.使能向量地址通道16中断*/rVIC0INTENABLE|=(1<<16);/*5.向量地址通道16选择为IRQ中断*/rVIC0INTSELECT|=(1<<16);/0为fiq模式,1 irq/* 5.安装中断服务函数到VIC0VECT
20、ADDR16 ,强制转换提取EINT16_31_IRQHandler函数地址*/rVIC0VECTADDR16 = (unsigned int)EINT16_31_IRQHandler;void EINT16_31_IRQHandler(void)。三、编程应用题:(阅读分析,加注释、填空与编程)1.将存储器中0x开始的200字节的数据,传送到0x开始的区域。解: MOV R0,#0x LDR R1,=0xMOV R7,#200LP: LDRB R2,R0,#1STRB R2,R1,#1SUBS R7, R7,#1BNE LP HERE: B HERE2.编写一程序,查找存
21、储器从0x开始的100个字中为0的数目,将其结果存到0x中。解: MOV R0,#0x MOV R1,#0 MOV R7,#100LP: LDR R2,R0,#4 CMP R2,#0 BNE NEXT ADD R1,R1,#1NEXT: SUBS R7,R7,#1 BNE LP STR R1,R0 HERE : B HERE3. 编写一简单ARM汇编程序段,实现1+2+100的运算。 MOV R2,#100 MOV R1,#0LOOP ADD R1,R1,R2 ;R1中为累加和 SUBS R2,R2,#1 ;R2控制循环 BNE LOOP5. 用ARM汇编语言和C语言写一个初始值为0x的延时函
22、数。汇编的为:delay:ldr r0,=0xtemp:sub r0,r0,#1cmp r0,#0bne tempbx lr 上面程序参考c语言的写法void delay()volatile int i,j;for(i=0;i<0x;i+);6. 请对如下程序解释 按k2按键,松手,led闪烁#include "stdio.h"#include "s5pv210.h"#define rGPJ2CON *(volatile unsigned long *)0xe) #define rGPJ2DAT *(volatile unsigned long *
23、)0xe) void key_init()rGPH2CON &=(0xf<<0); /全部清0,设置输入模式,然后按键被按值变成0void led_init()rGPJ2CON &=(0xf<<0);rGPJ2CON |=(0x1<<0);rGPJ2DAT |=(0x1<<0);void delay()int i,j;for(i=0;i<100;i+)for(j=0;j<100;j+);int keyled(void)printf("按键灯测试n");key_init();led_init();wh
24、ile(1)if(rGPH2DAT &(0x1<<0) = 0) /如果按键2按下,按键值0,/printf("key2 put down!n");delay();if(rGPH2DAT &(0x1<<0) = 0) /重新判断消抖动影响/printf("key really put down!n");while(!(rGPH2DAT&(0x1<<0); /松手检测rGPJ2DAT &=(0x1<<0); /亮delay();rGPJ2DAT |=(0x1<<0)
25、; /led暗return 0;ARM部分实验程序(仅供参考):<实验一> ARM开发平台使用入门.equnum,2.section .text.global _start_start:Reset_Handler:movr0, #0;/* set up the three parameters */movr1, #3movr2, #2blarithfunc;/* call the function */stop:bstop;# *;# * According R0 valude to execute the code *;# *arithfunc:;/* label the fun
26、ction */cmpr0, #num;/* Treat function code as unsigned integer */bhsDoAdd;/* If code is >=2 then do operation 0. */adrr3, JumpTable;/* Load address of jump table */ldrpc, r3,r0,LSL#2;/* Jump to the appropriate routine */JumpTable:.wordDoAdd.wordDoSubDoAdd:addr0, r1, r2;/* Operation 0, >1 */bxl
27、r ;/* Return */DoSub:subr0, r1, r2;/* Operation 1 */bxlr<实验二> GPIO LED接口控制实验(LED显示灯控制)控制实验平台的发光二极管LED1,LED2,LED3,LED4,使它们有规律的点亮和熄灭,具体顺序如下:LED1 亮->LED2 亮->LED3 亮->LED4 亮->LED1 灭->LED2 灭->LED3 灭->LED4 灭->全亮->全灭,如此反复。/* name:* func: led_on turn on the leds one by one*/
28、void led_on(void)int i,nOut; nOut = 0xF0; rGPFDAT = nOut & 0x70; for(i=0;i<i+); rGPFDAT=nOut & 0x30; for(i=0;i<i+); rGPFDAT=nOut & 0x10; for(i=0;i<i+); rGPFDAT=nOut & 0x00; for(i=0;i<i+);/* name:* func: led_off turn off the leds one by one */ void led_off(void)int i,nOut;
29、 nOut=0;rGPFDAT = 0; for(i=0;i<i+); rGPFDAT = nOut | 0x80; for(i=0;i<i+); rGPFDAT |= nOut | 0x40; for(i=0;i<i+); rGPFDAT |= nOut | 0x20; for(i=0;i<i+); rGPFDAT |= nOut | 0x10; for(i=0;i<i+);/* name:* func: led_on_off turn on the 4 leds and then turn off the 4 leds*/void led_on_off(voi
30、d)int i; rGPFDAT=0; for(i=0;i<i+); rGPFDAT=0xF0; for(i=0;i<i+);/* name:* func: led_test i/o control test(led) */void led_test(void)rGPFCON=0x; 2 / PORTF7/6/5/4 OUTPUTuart_printf("n I/O (Diode Led) Test Examplen"); led_on(); led_off(); led_on_off(); delay(1000); uart_printf(" end
31、.n");<实验三> LED数码管综合实验#include "s5pc210.h"#include "uart.h"#define U8 unsigned charunsigned char seg7table16 = /* 0 1 2 3 4 5 6 7*/ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, /* 8 9 A B C D E F*/ 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e,;/*/ Function name: de
32、lay/ Description : 延时子程序/ Return type: void/ Argument : count,延时的数值*/void delay( int count )int cnt;for( count = count; count>0; count-)for( cnt = 0; cnt < 1000; cnt+);void Gpio_init()GPH2.GPH2CON = 0x;GPH2.GPH2DAT = 0xff;GPH3.GPH3CON = 0xff;GPH3.GPH3DAT = GPH3.GPH3DAT | 0x3;int main()int temp
33、,i,j,lp,flag = 0; int segN=0; int sg5; uart_init();printf("CVT S5PV210 Jtag KeyPad Test.n");Gpio_init();flag = 1; while (flag != 0) && (lp<6) for(j=0;j<lp;j+) *(U8*) 0x) = (0x01<<j); *(U8*) 0x) = seg7tablesgj; delay (30); for(i=0;i<8;i+)/*GPH2.07引脚输出高电平,那么GPH3.01将始终是
34、高电平,依次将GPH2.07设置成低电平,那么,当按键按下时,该键对应GPH3.01的引脚将会变成低电平,由此判断按键*/GPH2.GPH2DAT = 0xff;/ GPH2.07引脚输出高电平GPH2.GPH2DAT &= (0x1<<i);/ GPH2.07设置成低电平delay(10);temp = GPH3.GPH3DAT & 0x3;delay(10);/GPH3.01的引脚将会变成低电平,由此判断按键if(temp != 0x3)switch (i) case 0:if(temp = 0x1)printf("VOL+ Pressn")
35、; segN=9;sglp = segN;break;case 1:if(temp = 0x1)printf("VOL- Pressn");segN=7;sglp = segN;else if(temp = 0x2)printf("DOWN Pressn");segN=8;sglp = segN;break;case 2:break;case 3:if(temp = 0x1)printf("UP Pressn");segN=2;sglp = segN;break;case 4:if(temp = 0x2)printf("SL
36、EEP Pressn"); segN=0;sglp = segN;break;case 5:if(temp = 0x1)printf("MENU Pressn");segN=1;sglp = segN;else if(temp = 0x2)printf("RIGHT Pressn");segN=6;sglp = segN;break;case 6:if(temp = 0x1)printf("BACK Pressn");segN=3;sglp = segN;else if(temp = 0x2)printf("ENT
37、ER Pressn");segN=5;sglp = segN;break;case 7:if(temp = 0x2)printf("LEFT Pressn");segN=4;sglp = segN;break;default:break;/switch flag = 0; /if if (flag = 0) *(U8*) 0x) = (0x01<<lp); *(U8*) 0x) = seg7tablesegN; delay (500); lp=(lp+1)%6; flag =1; /while lp flagwhile(1); return 0;<
38、;实验四> A/D转换控制实验部分程序#include "s5pc210.h"#include "uart.h"#include "clock.h"int adc_test(void);int main(void) int jn,jn1;/系统时钟初始化clock_init();/ 初始化串口 uart_init();/ 设置ADC 读取AIN7while(1)jn=adc_test();jn1 = jn/1000;GPD0.GPD0CON = (GPD0.GPD0CON & (0xF000) | (0x2 <&l
39、t; 12);/设置Tout3输出TIMER.TCFG0 = (TIMER.TCFG0 & 0xFF ) | 0xFF; /配置预分频值为256/TIMER.TCFG1 = (TIMER.TCFG1 & 0xF000) | 4 <<12;/配置分频的值为1/16分频TIMER3.TCNTB3 = jn;/设置基数缓冲器的值switch(jn1)case 1:TIMER.TCFG1 = (TIMER.TCFG1 & 0xF000) | 1 <<12;TIMER3.TCMPB3 = jn /1; break;case 2:TIMER.TCFG1 =
40、(TIMER.TCFG1 & 0xF000) | 2 <<12;TIMER3.TCMPB3 = jn /3; break;case 3:TIMER.TCFG1 = (TIMER.TCFG1 & 0xF000) | 3<<12;TIMER3.TCMPB3 = jn /6; break;case 4:TIMER.TCFG1 = (TIMER.TCFG1 & 0xF000) | 4 <<12;TIMER3.TCMPB3 = jn /8; break;/设置比较缓冲器的值TIMER.TCON = 0x0e << 16; /手动更新
41、,是缓冲器的值到计数器里面,双缓冲机制TIMER.TCON = 0x0d << 16;/清除手动更新位,并启动定时器3 delay(1000);return 0;<实验五> LCD 触摸屏显示控制实验#include "s5pc210.h"#include "clock.h"#include "uart.h"#include "lcd.h"#include "ts_ft5x06.h"#define WIDTHEIGHT800#define HEIGHT480extern
42、struct ts_event Touch_MSG;/保存触控点信息#define ROW(480)#define COL(800)int main()unsigned int i,j,n;unsigned char points;/触控点数量字符信息unsigned char xch53;/触控点坐标字符信息unsigned char ych53;uart_init();Uart_Select(2);printf("CVT S5PV210 Uart_Touch Test.n");iic_init();lcd_init();lcd_clear_screen(0x);/ 使用
43、黑色清除屏幕lcd_draw_hline(ROW/2, 100, COL-100, 0xff0000);/ 红色横线lcd_draw_vline(COL/2, 50, ROW-50, 0x00ff00);/ 绿色竖线while(1)get_ts_msg();/获取当前触控信息output_ts_xy();/串口打印信息/lcd_clear_screen(0x);if(Touch_MSG.point_num = 0) /如果触控点数为0,则不显示continue;/坐标信息转化为字符points = Touch_MSG.point_num + '0'for(n=0; n <
44、 Touch_MSG.point_num; n+)xchn0 = (Touch_MSG.Touch_xyn.x / 100) + '0'xchn1 = (Touch_MSG.Touch_xyn.x / 10) % 10) + '0'xchn2 = (Touch_MSG.Touch_xyn.x % 10) + '0'ychn0 = (Touch_MSG.Touch_xyn.y / 100) + '0'ychn1 = (Touch_MSG.Touch_xyn.y / 10) % 10) + '0'ychn2 = (To
45、uch_MSG.Touch_xyn.y % 10) + '0'/显示坐标信息字符lcd_draw_char(16,0,'',0xffff00);lcd_draw_char(16,8,points,0xffff00);lcd_draw_char(16,16,'',0xffff00);for(i=16,j=40,n=0; n < Touch_MSG.point_num; j+=80,n+)lcd_draw_char(i,j+8*0,'(',0xffff00);lcd_draw_char(i,j+8*1,xchn0,0xffff0
46、0);lcd_draw_char(i,j+8*2,xchn1,0xffff00);lcd_draw_char(i,j+8*3,xchn2,0xffff00);lcd_draw_char(i,j+8*4,',',0xffff00);lcd_draw_char(i,j+8*5,ychn0,0xffff00);lcd_draw_char(i,j+8*6,ychn1,0xffff00);lcd_draw_char(i,j+8*7,ychn2,0xffff00);lcd_draw_char(i,j+8*8,')',0xffff00);lcd_draw_circle(Tou
47、ch_MSG.Touch_xyn-1.x, Touch_MSG.Touch_xyn-1.y,100,0x68228B) ;/紫/手动刷新坐标信息的显示区delay(3000);for(i=16; i< 32; i+)for (j = 0; j < COL; j+)lcd_draw_pixel(i, j, 0x);return 0;ARM嵌入式系统设计模拟试题 一、填空题(请将答案填入题后括号中):每空2分,满分20分。1、对于嵌入式系统来说,(低功耗)设计是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动式较强的产品中,而且大多数嵌入式设备都有(体积和质量)
48、约束。2、ARM Cortex-A8处理器的三种工作状态:(ARM)状态,处理器执行32位的字对齐的ARM指令;Thumb状态:处理器执行16位的半字对齐的Thumb指令和(ThumbEE)状态:执行16位的半字对齐的Thumb指令集变种。3、R14也称作子程序链接寄存器或链接寄存器LR,当执行(BL或BLX)子程序调用指令时,R14中得到R15(程序计数器PC)返回地址的备份。其他情况下,R14可用作(通用寄存器)。4、设R0,R1寄存器对应变量a和b,如下ARM指令:CMP R0,R1; ADDHI R0,R0,#1; ADDLS R1,R1,#1;对应的C 语言程序段为(if(a>
49、b) a+;else b+;) 5、 ARM7TDMI中,T表示支持16位(Thumb)指令集,D表示在片可调试,M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。6、 当多个异常同时发生时,有优先级系统决定异常处理顺序,优先级最高的是(Reset)异常。二、简答题:共4小题,每小题10分,满分40分。1、 嵌入式系统的主要特点有哪些?嵌入式系统主要特点如下:1) 嵌入式系统是面向具体应用的产品,专用性强2) 嵌入式系统软件、硬件生命周期都比较长,内核小、可裁剪。3) 需要软硬件开发工具和环境,需要应用专家参与开发4) 嵌入式系统需具有高实时性和可靠性。 2、 ARM A8寄存器分成哪几类?各类有哪些寄存器?寄存器LR有什么用途?分两类:33个通用寄存器和7 个状态寄存器。33个通用寄存器:R0R15;R13_svc、R14_sv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习乐理考试的动机与目标试题及答案
- 幼儿园数学概念应用试题及答案
- 新能源汽车的数字化转型策略试题及答案
- 电商平台运营能力验证试题及答案
- 新能源汽车电池交换技术的可行性与未来展望试题及答案
- 理清音高与音阶中的关系2025年乐理考试试题及答案
- 幼儿园数字与颜色的综合测量题试题及答案
- 教育理论试题及答案语文
- 玉林信息技术试题及答案
- 脾气指数测试题及答案
- 湖南中医药大学学位英语历年真题及答案
- DL-T+1860-2018自动电压控制试验技术导则
- 单螺杆泵说明书
- JT-T-1213-2018陆港设施设备配置和运营技术规范
- 五年级劳动课件收纳
- 行政复议法-形考作业2-国开(ZJ)-参考资料
- 2023-2024学年人教版数学八年级下册期中复习卷
- (高清版)TDT 1044-2014 生产项目土地复垦验收规程
- MBA-组织行为学课件
- 白云枕头-模板参考
- 奥迪汽车介绍
评论
0/150
提交评论