《嵌入式试题(总)(共14页).doc》由会员分享,可在线阅读,更多相关《嵌入式试题(总)(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、 嵌入式处理器分类、ARM系列分类、ARM技术演进一、嵌入式处理器可以有哪些分类?答:嵌入式处理器基本上可以分为嵌入式微处理器(EMPU)、嵌入式微控制器(EMCU)、嵌入式数字信号处理器(EDSP)、嵌入式片上系统(ESoC)二、ARM系列的分类有哪些?答:(1)ARM V4T系列:包括ARM7TDMI、ARM720T、ARM7EJ;(2)ARM V5TE系列:ARM9E、ARM10E;(3)ARM V6系列:ARM11;(4)ARM V7系列:Cortex系列都属于V7系列,主要有Cortex-A8、Cortex-R4、Cortex-M3和Cortex-M1等
2、处理器。三、ARM技术的演进中都改变了什么?答:ARM核心的体系结构从ARMV1发展到ARMV7;ARM系列的处理器从ARM1发展到了ARM11乃至Cortex系列;ARM系列的指令集包括了32位的ARM指令集、16位的Thumb指令集、16/32位的Thumb-2指令集;流水线从ARM7的3级发展到了Cortex-A8的13级;制造工艺从0.18um发展到32nm;内部的其他技术也在不断地升级和发展。四、典型嵌入式系统的组成结构答:从硬件上大致分为:处理器内核层、芯片级外设层、用户级外设层;从软件上大致分为:启动层、操作系统层、应用层。二、 ARM7TDMI的工作模式、工作方式、CPSR1.
3、 ARM7TDMI有几种处理器工作模式,分别是什么? ARM7TDMI处理器一共有7种工作模式用户模式(usr)快速中断模式(fiq)外部中断模式(irq)管理模式(svc)数据访问中止模式(abt)未定义指令中止模式(und)系统模式(sys)2. ARM7TDMI有几种工作方式,分别是什么?ARMARM7TDMI有两种工作方式:ARM方式和Thumb方式3. ARM7TDMI的CPSR中的条件标志位有哪些,分别表示什么意义?N:负标志位,运算结果的第31位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,则置位。C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。V:
4、溢出标志位,记录标志设置操作的有符号溢出。4. 编程实现将CPSR的值保存到通用寄存器R0中,将SPSR保存到R1中,然后使用通用寄存器R2的值修改CPSR,使用R3修改SPSR。MRS R0,CPSRMRS R1,SPSRMSR CPSR,R2MSR SPSR,R3三、 ARM7TDMI的寄存器文件、CPSR1. ARM处理器是_RISC_结构,共有_37_个寄存器,其中_31_个通用寄存器,_6_个状态寄存器。2.ARM状态寄存器和Thumb状态寄存器之间的关系Thumb状态寄存器与ARM状态寄存器有如下的关系 (1) Thumb状态r0- r7与ARM状态r0- r7相同 (2) Thu
5、mb状态CPSR和SPSR与ARM状态CPSR和SPSR相同(3) Thumb状态SP映射到ARM状态r13(4) Thumb状态LR映射到ARM状态r14(5) Thumb状态PC映射到ARM状态PC(r15)3. 列出ARM处理器的37个32位物理寄存器。答:未分组寄存器R0R7;分组寄存器R8_fiqR12_fiq,R8_usrR12_usr,R13_usr、R13_fiq、R13_irq、R13_svc、R13_abt、R13_und, R14_usr、R14_fiq、R14_irq、R14_svc、R14_abt、R14_und;程序计数器PC(R15);CPSR,SPSR_fiq、
6、SPSR _irq、SPSR _svc、SPSR _abt、SPSR _und。4. 用汇编语言编写程序读取存储器0x地址上的数据,将数据加1。参考答案: COUNTEQU0x ; 定义一个变量,地址为0xAREAExample2,CODE,READONLY ; 声明代码段Example2 ENTRY; 标识程序入口CODE32; 声明32位ARM指令STARTLDRR1,=COUNT; R1 = COUNTMOVR0,#0; R0 = 0 STRR0,R1 ; R1 = R0,即设置COUNT为0LDRR1,=COUNTLDRR0,R1; R0 = R1 ADDR0,R0,#1; R0 2)
7、 = 0xEA + 0x3FE6 = 0xEA003FE64、#define crINTCON (*(volatile unsigned *)(0x01e00000) #define ccINTCON (0x) #define crINTMOD (*(volatile unsigned *)(0x01e00008) #define ccINTMOD (0x) #define crINTMSK (*(volatile unsigned *)(0x01e0000c) #define ccINTMSK (0x07ffffff) intINTC_init(void) crINTCON=ccINTCON
8、; crINTMOD=ccINTMOD; crINTMSK=ccINTMSK; return0; 十三、S3C44B0X 时钟电源管理功能及开发试题简答题1. S3C44B0X中的功耗管理提供哪几种模式?(1)正常模式(Normal Mode)(2)慢速模式(Slow Mode)(3)空闲模式(Idle Mode)(4)停止模式(Stop Mode)(5)LCD的SL空闲模式(SL Idle Mode)2. S3C44B0X的时钟电源管理部件具有哪几个SFR?功能是什么?PLLCON 控制寄存器CLKCON时钟控制寄存器CLKSLOW时钟低速控制寄存器LOCKTIME锁时计数寄存器3. 请写出
9、PLL输出频率计算公式。 Fpllo = (m * Fin)/(p*2s)程序设计题4. 编写程序,对CLK完成4个SFR初始化,4个SFR如下表所示寄存器名称地址状态初始值PLLCON0x01D80000R/W 0x38080CLKCON0x01D80004R/W 0x7ff8CLKSLOW0x01D80008R/W 0x9LOCKTIME0x01D8000CR/W 0xfffCLK_init LDR R4,=CLKC_DATA LDMIA R4!,R0-R3 LDR R4,=0x01d80000 STMIA R4!,R0-R3CLK_DATA DCD 0x DCD 0x00007ff8 D
10、CD 0x DCD 0x00000fff MOV PC,LR十四、 S3C44B0X的UARTC、SFR初始化与程序设计、printf1 UART的基本构成?输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。 输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率把数据逐位移出,即将并行数据转换为串行数据输出。 输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并行数据。 输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。控制寄存器,它接收CPU送来的控制字,由控制字
11、的内容,决定通信时的传输方式以及数据格式等。状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否空,输入字符是否准备好等。2 UART提供两个独立的异步串行通信端口,每个端口都可以在_中断_和_DMA_两种模式下工作。3 S3C44B0X的每个UART都有7个状态信号:_溢出错误、_奇偶校验错误_、_帧错误、_中止状态_、_接受FIFO/缓冲区数据准备好、发送FIFO/缓冲区空和_发送移位寄存器空.4 将以下c程序改用ARM汇编实现。其中,a,b皆为无符号数。if(ab)a+;elseb+;答案:MOVR0,#aMOVR1,#bCMPR1,R0ADDHIR0,#1ADDLSR1
12、,#十五、 S3C44B0X的GPIO、SFR初始化与应用程序设计1.S3C44B0X具有多少个通用可编程多功能输入/输出脚GPIO,分为哪7类?答案:S3C44B0X具有71个通用可编程多功能输入/输出脚GPIO。共分为7类:1个10位输入/输出端口:PortA;1个11位输入/输出端口:PortB;1个16位输入/输出端口:PortC;2个9位输入/输出端口:PortE、PortF;2个8位输入/输出端口:PortD、PortG;2.S3C44B0X的I/O端口怎么通过多路开关,控制引脚的功能选择?答案:当开关接在“1”上时,PINn是GPIO;当开关接在“2”上时,PINn是TxD0;当
13、开关接在“3”上时,PINn是PWM1输出3. S3C44B0X具有多少个GPIO端口SFR。每个端口一般会有哪3个寄存器?答案:S3C44B0X具有22个GPIO端口SFR。每个端口都会有一个配置寄存器、数据寄存器、上拉寄存器。4.S3C44B0X的GPIO端口SFR初始化汇编程序设计。初始化值如下表:寄存器名称地址状态赋值PCONA0x01D20000R/W0xPDATA0x01D20004R/W0xPCONB0x01D20008R/W0xPDATB0x01D2000CR/W0xPCONC0x01D20010R/W0xPDATC0x01D20014R/W0xaPUPC0x01D20018R
14、/W0xaPCOND0x01D2001CR/W0xPDATD0x01D20020R/W0xPUPD0x01D20024R/W0xPCONE0x01D20028R/W0xPDATE0x01D2002CR/W0xPUPE0x01D20030R/W0xPCONF0x01D20034R/W0xPDATF0x01D20038R/W0xPUPF0x01D2003CR/W0xPCONG0x01D20040R/W0xPDATG0x01D20044R/W0xPUPG0x01D20048R/W0xaSPUCR0x01D2004CR/W0xEXTINT0x01D20050R/W0xEXTINTPND0x01D200
15、54R/W0x答案:GPIO_init LDR R11,=GPIODATA1 LDMIA R11!,R0-R10 LDR R11,=0x01d20000 STMIA R11!,R0-R10 LDR R11,=GPIODATA2 LDMIA R11!,R0-R10 LDR R11,=0x01d2002c STMIA R11!,R0-R10GPIODATA1 DCD 0x DCD 0x DCD 0x DCD 0x DCD 0x DCD 0xa DCD 0xa DCD 0x DCD 0x DCD 0x DCD 0xGPIODATA2 DCD 0x DCD 0x DCD 0x DCD 0x DCD 0x DCD 0x DCD 0x DCD 0xa DCD 0x DCD 0x DCD 0x MOV PC,LR专心-专注-专业