嵌入式系统考试试卷及答案_第1页
嵌入式系统考试试卷及答案_第2页
嵌入式系统考试试卷及答案_第3页
嵌入式系统考试试卷及答案_第4页
嵌入式系统考试试卷及答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统考试答案嵌入式系统总分100分注:此页不作答题纸,请将答案写在答题纸上,各题必须标明题号。填空题(本题40分,每空1分)SRAM是利用(1)双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的;DRAM是利用(2)MOS(金属氧化物半导体)电容存储信息,必须通过不停地给电容充电来维持信息。(P5)ARM有3种含义:(3)它是一个公司的名称;(4)是一类微处理器的通称;(5)还是一种技术的名称。(P14)Cortex-A8提供了(6)10通道的12位混合ADC接口。(P42)从Thumb状态返回到ARM状态,使用(7)BX指令。(P62)对于5级流水线处理器,假设一条指令执行时间5ns,则执行完5条指令的时间为(8)9ns。(P35)S5pc100具有(9)130个多功能输入/输出接口,其中UART0属于GPIO的(10)GPA0分组。(P98)中断响应大致分为以下几个步骤:(11)保护断点;(12)寻找中断入口;(13)执行中断处理程序;(14)中断返回。(P118)当CPSR程序状态寄存器内容为0x00000031时,表明处理器的模式是(15)FIQ;程序运行在(16)THUMB状态;。(P39-41)S5pc100的GPIO的常用的寄存器分为(17)端口控制寄存器、(18)端口数据寄存器和(19)端口上拉寄存器等3类。(P98)S5pc100的通用异步收发(UART)可支持(20)4个独立的异步串行输入输出口,每个口皆支持(21)中断模式及(22)DMA模式,通道1和3最大传输速率可达(23)3兆波特,每个UART通道包含两个(24)64字节的收发FIFO。(P137)Cortex-A8提供了2种中断模式,即(25)IRQ模式和(26)FIQ模式。(P127)S5pc100处理器支持(27)大/小端模式存储字数据,其寻址空间可达(28)4GB。(P42)NANDFlash以(29)页为单位读/写数据,而以(30)块为单位擦除数据。(P193)LOAD/STORE内存访问指令表示在ARM(31)寄存器和(32)存储器之间传送数据。ARM指令中有3种基本的数据传送指令,分别是(33)单寄存器LOAD/STORE指令、(34)多寄存器LOAD/STORE内存访问指令和(35)单寄存器交换指令(P53)数据操作指令是指对存放在寄存器中的数据进行操作的指令,主要包括(36)数据传送指令、(37)算术指令、(38)逻辑指令、(39)比较与测试指令以及(40)乘法指令。(P44)简答题(本题30分,每小题6分)简述ARM处理器的流水线概念,并举例说明ARM9TDMI核的流水线情况。ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作。ARM9TDMI使用典型的5级流水线,分别为:(1)取指,从存储器中取出指令,并将其放入指令流水线;(2)译码,指令被译码,从寄存器堆中读取寄存器操作数;(3)执行,将其中的1个操作数移位,并在ALU中产生结果;(4)缓冲/数据,如果需要则访问数据存储器,否则ALU只是简单的缓冲1个时钟周期;(5)回写,将指令结果回写到寄存器组中。在执行第一条指令的同时对第二条、第三条、第四条、第五条指令按流程进行操作。(P36)试用C语言程序以及ARM汇编语言设计著名的Euclid最大公约数算法。C语言程序:intgcd(inta,intb){While(a!=b){if(a>b)a=a-b;elseb=b-a;}returna;}ARM汇编语言程序1:Gcd:CMPr0,r1BEQendBLTlessSUBr0,r0,r1BGcdLess:SUBr1,r1,r0BGcdARM汇编语言程序2:Gcd:CMPr0,r1SUBGTr0,r0,r1SUBLTr1,r1,r0BNEGcd(P84)简述看门狗软件程序设计的一般流程。一般流程:设置看门狗中断操作;设置看门狗控制寄存器;设置看门狗数据寄存器和计数寄存器;启动看门狗定时器(P156)简述过程调用标准中的ARM寄存器使用规则。寄存器的使用规则:(1)子程序通过寄存器R0~R3来传递参数。这时寄存器可以记作:A0~A3,被调用的子程序在返回前无需恢复寄存器R0~R3的内容。(2)在子程序中,使用R4~R11来保存局部变量,这时寄存器R4~R11可以记作:V1~V8。如果在子程序中使用到V1~V8的某些寄存器,子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值,对于子程序中没有用到的寄存器则不必执行这些操作。在THUMB程序中,通常只能使用寄存器R4~R7来保存局部变量。(3)寄存器R12用作子程序间scratch寄存器,记作ip;在子程序的连接代码段中经常会有这种使用规则。(4)寄存器R13用作数据栈指针,记做SP;在子程序中寄存器R13不能用做其他用途。寄存器SP在进入子程序时的值和退出子程序时的值必须相等。(5)寄存器R14用作连接寄存器,记作lr;它用于保存子程序的返回地址,如果在子程序中保存了返回地址,则R14可用作其它的用途。(6)寄存器R15是程序计数器,记作PC;它不能用作其他用途。(7)ATPCS中的各寄存器在ARM编译器和汇编器中都是预定义的。(P83)简述RISC和CISC的主要区别。程序设计(本题30分,每空2分)1、通过控制S5PC100的GPG3_0、GPG3_1、GPG3_2、GPG3_3实现对发光二极管LED1,LED2,LED3,LED4的轮流亮灭(第一状态点亮LED1、LED2,其他灭;第2状态点亮LED2、LED3,其他灭,第3状态点亮LED3、LED4,其他灭,第4状态点亮LED4、LED1,其他灭,再循环)的控制。且已知引脚输出高电平点亮发光二极管,要求将程序缺失的部分补全。#include“=1\*GB3①s5pc100.h”intmain(){inti;unsignedcharledtab[]={=2\*GB3②0x03,0x06,0x0C,0x18};GPG3.GPG3CON=(~(=3\*GB3③0xffff)<<0)&GPG3.GPG3CON|(0x1111<<0);while(1) { for(i=0;i<4;i++) { (GPG3.GPG3DAT==4\*GB3④ledtab[i];) Delay(70); } } return0;voidDelay(unsignedintx){ unsignedinti,j,k; for(i=0;i<=x;i++) for(j=0;j<=0xff;j++) for(k=0;k<=0xff;k++);}2、串行口通讯设计,采用S5PC100的UART0口实现收、送功能:要求波特率为115200BPS,UART系统时钟为60MHZ,7位数据位,2位停止位,无校验位,采用中断方式接收数据,并使用轮询方式发送数据实现回显通过串口到终端输入的字符,请补全程序:#include“s5pc100.h”typedefstruct{unsignedintGPA0CON;unsignedintGPA0DAT;unsignedintGPA0PULL;unsignedintGPA0DRV;unsignedintGPA0PDNCON;unsignedintGPA0PDNPULL;}gpa0;#defineGPA0(*(volatilegpa0*)0xE0300000)typedefstruct{unsignedintULCON0;unsignedintUCON0;unsignedintUFCON0;unsignedintUMCON0;unsignedintUTRSTAT0;unsignedintUERSTAT0;unsignedintUFSTAT0;unsignedintUMSTAT0;unsignedintUTXH0;unsignedintURXH0;unsignedintUBRDIV0;unsignedintUDIVSLOT0;unsignedintUINTP0;unsignedintUINTSP0;unsignedintUINTM0;}uart0;#defineUART0(*(volatileuart0*)0xEC000000)voiduart0_init(void){GPA0.GPA0CON=(GPA0.GPA0CON&~(0xff))|0x22;UART0.ULCON0==5\*GB3⑤0x06;(ob00000110)(7位数据位,2位停止位,无校验位),,,UART0.UCON0=(=6\*GB3⑥1<<2)|(1<<0);(接收和发送都是中断或查询方式)UART0.UFCON0=0x00;UART0.UMCON0=0x00;UART0.UBRDIV0==7\*GB3⑦0x1F;(=60000000/115200/16-1=31.55,31+0.55,取31)UART0.UDIVSLOT0=eq\o\ac(○,8)OxD555;(0.55*16=8.8,取9)Printf(“uart0deviceok\n”);}Voidputc(constchardata){UART0.UTXH0=data;While(!(eq\o\ac(○,9)UART0.UTRSTAT0&0x2));}Voiduart0_recv(){putc(eq\o\ac(○,10)UART0.URXH0);UART0.UINTP0=UART0.UINTP0|(1<<0);VIC1ADDRESS=0;VIC0ADDRESS=0;}Voiduart_int_init(){VIC1VECTADDR.VIC1VECTADDR10=(unsignedint)uart0_recv;VIC1INTERRUPT.VIC1INTENABLE=VIC1INTERRUPT.VIC1INTENABLE|(1<<10);UART0.UINTM0=0x0e;}intmain(){uart_int_init();uart0_init();While(1);}3、S5PC100控制K9F2G080U的程序设计中写一个页面的函数程序如下:#defineNFCONT_REG(0xE7200004)#defineNFCMD_REG(0xE7200008)#defineNFADD_REG(0xE720000C)#defineNFDATA_REG(0xE7200010)#defineNFSTAT_REG(0xE7200028)Staticintnand_write_page(unsignedchar*buf,unsignedlongaddr){Unsignedchar*ptr=(unsignedchar*)buf;Unsignedinti;NFCONT&=~(1<<1);NFSTAT|=(1<<24);NFCMD=eq\o\ac(○,11)0x80;addr=eq\o\ac(○,12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论