嵌入式复习题_第1页
嵌入式复习题_第2页
嵌入式复习题_第3页
嵌入式复习题_第4页
嵌入式复习题_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、一、 简答题1. 什么是嵌入式系统?嵌入式系统的特点是什么?答:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统特点:与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可靠性,体积2. 简要说明嵌入式系统的硬件组成和软件组成。答:硬件组成:微处理器,存储器,输入设备和输出设备。软件组成:操作系统,文件系统,图形用户接口,网络系统,通用组建模块。3. S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件?AHB:LCD控制器,LCD DMA,总线控制器,USB主控制器,中断控制器,ExtMas

2、ter,电源管理,Nandflash控制器,储存器控制器。APB:通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。4. ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?答,支持7种类型的异常异常处理过程:(进入异常)PCLR,CPRSSPSR,设置CPSR的运行模式位,跳转到相应的异常处理程序,(异常返回)LRPC,SPSRCPSR,若在进入异常处理时设置中断禁止位,要

3、在此清楚,复位异常处理程序不需要返回。Reset数据中指快速中断请求()中断请求(IRQ)指令预取中止未定义指令和软件中止。5. 存储器生长堆栈可分为哪几种?各有什么特点?4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。6. 简述存储器系统层次结构及特点。答:层次结构主要体现在“Cache-主存”层次和“主存-辅存”(Cache,主存储器,辅助 存储器),前者主要解决 CPU 和主存速度不匹配的问题,后者主要解决存储器系统 的问题。在存储器体系中Cache、主存能与CPU 直接交换信息,辅存则要通过主存 与CPU 交换信息;主存与CPU、Cache、辅存都能交换信息。7. 简述I2S总线

4、接口的启动与停止过程。通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止);当控制寄存器IISCON的地址为1=I2S允许(开始)。8. 简述ARM系统中的中断处理过程。中断处理过程包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回9. ARM微处理器支持哪几种运行模式?各运行模式有什么特点?User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。FIQ:快速中断模式。支持数据传送或通道处理。IRQ:普通中断模式。用于一半中断处理。Supervisor:管理模式。一种操作系统受保护的方式。Abort:中止模式。在访

5、问数据中止后或指令预取中止后进入中止方式。System:系统模式。是操作系统一种特权级的用户方式。Undef:未定义模式。当执行未定义指令时会进入这种操作模式。10. 当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。答:最小分辨率:定时器输入时钟频率=值.5/0+1/2=33.2500(MHz)一个计数脉冲时间=1/33.2500MHz=0.0300(us)最大分辨率:定时器输入时钟频率=PCLK/255+1/2=66.5/256/2=129.8828一个计数脉冲的时间=1/129.8828=7.69

6、92(us)最大定时区间:由于TCNTBn=65535,计数到0共65536个计数脉冲,所以65536*7.6992=0.5045(sec)。11. 分析如图所示I2S总线时序图,说明其操作过程。在I2SLRCK 改变后经过1 个时钟周期之后,发送器发送下一个字的最高有效位。 串行数据通过发送器发送,虽然同步可以使用时钟信号的后沿(从高到低)或前 沿(从低到高),然后在串行时钟信号的前沿,串行数据必须被锁存到接收器。由 于这个限制,传送数据被同步只能使用时钟信号的前沿。 左右声道选择线指示正在传送的数据所在的声道。I2SLRCK 能够在串行时钟信号的 后沿或前沿改变,而它的长度不需要对称。在从

7、设备,I2SLRCK 信号在时钟信号的前沿被锁存。I2SLRCK 在最高有效位被传送的前一个周期改变。12. S3C2410A与UAD1341通过I2S总线接口连接,试述音频数据传送过程。答:处理器通过IIS总线接口,控制音频数据在s3c2410内存与UDA1341TS之间传送。连接在UDA1314TS上的麦克风信号在UDA1314内部经过A/D转换器,转换成二进制数,串行通过DATAO引脚送到S3C2410的IIS模块,在IIS模块中数据转换成并行数据然后使用通常存取方式或DMA存取方式,将并行数据保存的内存中,而内存中要输出的音频数据使用通常存取方式或DMA存取方式,将数据并行传送到IIS

8、模块在IIS中转换成串行数据,串行通过DATAI引脚送到UDA1314TS,在片内经过D/A转换器,变成模拟信号,经过驱动器,驱动扬声器。13. 简述LCD控制器组成及数据流描述。LCD控制器包括:REGBBANK,LCDCDMA,TMEGEN,定时控制逻辑单元,VIDPRCS以及VIDEOMUX组成。当传送请求由总线仲裁器接收时,4个连续的字数据由系统存储器帧缓冲区传送到LCDCDMA内的FIFO。全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的FIFOH组成。使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。

9、14. 以下是S3C2410A的串口逻辑方框图,试分析其组成和工作原理。一个波特率发生器、一个发送器、一个接收器和一个控制单元。波特率发生器使用PCLK 或UEXTCLK 时钟。发送器和接收器各有一个16 字节的FIFO 寄存器和移位器。在FIFO 方式,要 发送的数据先写入FIFO 寄存器,然后复制到发送移位器,通过发送数据引脚TxDn 移位输出; 而接收数据从接收数据引脚RxDn 输入并移位,然后从接收移位器复制到FIFO 寄存器、二、 程序分析。给以下程序主要过程加注释,幷写出程序功能1.汇编程序:IsrIRQsub sp,sp,#4; /堆栈指针4送入spstmfd sp!,r8r9

10、/保存R8,R9ldr r9, INTOFFSET /取出中断偏移寄存器INTOFFSET地址ldr r9,r9; /将该r9内容作为地址,读该单元数据送r9。ldr r8,HandleEINT0;/读中断向量表首地址add r8,r8,r9,lsl #2;/r9的值逻辑左移2位,加r8,和送r8。ldr r8, r8; /将该r8内容作为地址,读该单元数据送r8。str r8,sp,#8; /先索引,r8数据写入sp+8做地址的寄存器中,不回写。ldmfd sp!,r8-r9,pc; /将sp指向的储存单元多字数据,装入r8-r9地址单元,pc中。程序实现的功能:IRQ中断服务程序 课本P2

11、572. C语言程序段rGPFCON|=2<<0|2<<4; / 将GPF0配置成EINT0和将GPF2配置成EINT2rGPGCON|=2<<6|2<<22; / 将GPG3,GPG11配置成EINT11,EINT19功能rINTMOD=0; / 中断模式配置为IRQ中断rEXTINT0|=4<<0|4<<8; / 将EINT0和EINT2信号方式设置为上升沿触发rEXTINT1|=4<<12; / 将EINT11信号方式配置为上升沿触发rEXTINT2|=4<<12; / 将EINT19信号方式

12、配置为上升沿触发 / rINTMSK&=(1<<0|1<<2|1<<5); / EINT0,EINT2,EINT8_23对应屏蔽位置0,允许服务程序实现的功能:中断初始化 课本P2553. C语言程序段void Test_Touchpanel(void) rADCDLY=50000; /Normal conversion mode delay about ADC 开始或区间延时 rADCCON=(1<<14)+(ADCPRS<<6); /ADCPRS En, ADCPRS Value rADCTSC=0xd3; /Wfait,

13、XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En pISR_ADC = (int)AdcTsAuto; /设置中断程序入口地址rINTMSK=BIT_ADC; /ADC Touch Screen Mask bit clear中断屏蔽寄存器中,不屏蔽 INT_ADCrINTSUBMSK=(BIT_SUB_TC); /不屏蔽子中断INT_TCUart_Getch();/等待键盘输入,等待期间可以按下触摸屏触针,进入中断处理程序rINTSUBMSK|=BIT_SUB_TC; /屏蔽子中断INT_TCrINTMSK|=BIT_ADC; /中断屏蔽寄存器中,屏蔽INT_ADC程序实现的功

14、能:测试触摸屏4. 汇编语言ldr r0,=REFRESHldr r3,r0;r3=rREFRESHmov r1, r3orr r1, r1, #BIT_SELFREFRESHstr r1, r0;Enable SDRAM self-refresh 使SDRAM自动刷新mov r1,#16;wait until self-refresh is issued. may not be needed.等待刷新,也可能不需要0subs r1,r1,#1bne %B0四、设计与编程(每题10分,共20分)1. 设计程序,写出实现LED1LED4轮流闪烁的主程序代码。已知FCLK=400M,不考虑分频函数

15、,FCLK:HCLK:PCLK按1:2:4计算,使用端口GPB0、1、2、3为LED控制端口,低电平点亮。GPBCON功能描述配置端口B引脚端,使用位21:0,分别对端口B的11个引脚端进行配置。00:输入;01:输出;10:第2功能;11:保留程序代码:void dely(U32 tt) U32 i; for(;tt>0;tt-) for(i=0;i<10000;i+) int Main(int argc, char *argv)int i;U8 key;U32 mpll_val=0;int data;mpll_val = (92<<12)|(1<<4)|

16、(1);/init FCLK=400M, so change MPLL firstChangeMPllValue(mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);ChangeClockDivider(key, 12); MMU_DisableICache(); MMU_DisableDCache(); rGPBCON = 0x155555; data = 0x06; while(1) rGPBDAT = (data<<5); dely(120); data =data; retu

17、rn 0;2. 根据Nand Flash控制器工作原理,试在图中画出S3C2410A的Nand Flash控制器与K9F2808U0C芯片的连接关系,并简单描述其操作过程。 3. S3C2410A的LCD控制器初始化程序主要包括配置LCD引脚用到的GPIO;设置LCDCON寄存器参数等。试配置C端口、D端口的相关引脚为LCD功能引脚。写出端口配置初始化程序。void Lcd_Port_Init(void) rGPCUP=0xffffffff; rGPCCON=0xaaaaaaaa; rGPDUP=0xffffffff; rGPDCON=0xaaaaaaaa; rGPCCON|=2<<

18、;12|2<<14|2<<16; Uart_Printf(”Initializing GPIO ports n”);4. 用S3C2410A或S3C2440的串口1实现串口通信。试设计不带流量控制的简单收发程序,包括初始化程序,发送程序和接收程序。所用寄存器描述如下:ULCONn位描述60:正常模式;1:红外模式5:30xx:无奇偶校验;100:奇校验101:偶校验110:强制奇偶校验校验1;111:强制奇偶校验校验020:每帧1个停止位;1:每帧2个停止位1:000:5位;01:6位;10:7位;11:8位UCONn的位功能位描述波特率时钟选择100:使用PCLK ,

19、1:使用UEXTCLK发送中断请求类型选择90:脉冲;1:电平接收中断请求类型选择80:脉冲;1:电平Rx超时中断使能控制70:禁止;1:使能接收错误状态中断使能控制60:禁止;1:使能回送模式选择50:正常模式;1:回送模式发送模式选择3:200:禁止;01:中断请求或查询模式;接收模式选择1:000:禁止;01:中断请求或查询模式;UMCONn的位功能位描述AFC使能40:禁止;1:使能请求发送00:RTS无效;1:RTS有效等等已定义宏如下:#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char

20、)(ch)#define RdURXH0() (*(volatile unsigned char *)0x50000024)程序设计(要求加注释):void Uart_Init (int pclk,int baud) int i; if (pclk= =0) pclkPCLK; Switch(nchannel) case UART0: /UART0 rUFCON0=0x0; /UART0 FIFO 控制寄存器,FIFO 禁止 rUMCON0=0x0; /UART0 MODEM控制寄存器,AFC 禁止 rULCON00x3; /行控制寄存器:正常模式,无奇偶校验,1 位停止 位,8 位数据 位

21、rUCON00x245 ; /控制寄存器 rUBRDIV0 =(int)(pclk/16/baud+0.5)-1) ; /波特率因子寄存器 break; case UART1: . /UART1 case UART2: . /UART2 default: break; for(i0; i< 100; i+); void Uart_SendByte(int data) if(whichUart= =0) if(data= =n) while(!(rUTRSTAT00x2); Delay(10); /延时,与终端速度有关 WrUTXH0(r); while(!(rUTRSTAT00x2);

22、/等待,直到发送状态就绪 Delay(10); WrUTXH0(data); char Uart_GetKey(void) if(whichUart0) if(rUTRSTAT00x1) /UART0 接收到数据 return RdURXH0(); else return 0; 5. 使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换。写出初始化函数和读取转换结果的函数。ADCDAT0位名位描述XPDATA(正常ADC)9:0X位置的转换数据值(包括正常A/D转换的数据值)。取值范围:03FF定义与AD转换相关的寄存器#define rADCCON(*(volatile unsig

23、ned*)0x58000000)/ADC控制寄存器#define rADCTSC(*(volatile unsigned*)0x58000004)/ADC触摸屏控制寄存器#define rADCDLY(*(volatile unsigned*)0x58000008)/ADC启动或间隔延时寄存器#define rADCDAT0(*(volatile unsigned*)0x5800000c)/ADC转换数据寄存器0#define rADCDAT1(*(volati1e unsigned*)0x58000010)/ADC转换数据寄存器 程序设计(要求加注释):6. S3C2440的 bank6使用

24、32位数据总线与SDRAM芯片HY57V561620连接,每片SDRAM为32MB存储空间,16位数据线。试画出二者之间的连接电路图。在下图中SDRAM芯片引脚引出线上标出连接到S3C2440芯片上的对应引脚名称。 简单描述工作原理:地址总线ADDR25:24分别与SDRAM 的BA1、BA0 连接,选择芯片内部 的bank3bank0。由于数据总线为32 位,所以地址总线ADDR1:0被忽略,地址总线ADDR14:2与SDRAM 的A12:0连接,传送行地址和列地址。数据总线 U6 连接低十六位,U7 连接高 十六位。一、 填空1. “嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基

25、本要素。2. IP核分为软核、硬核、固核。3. 嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。4. 嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。5. 硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。嵌入式微处理器是嵌入式系统硬件层的核心。6. 系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。7. 系统软件层通常包含有实时多任务操作系统(Real-time Operation System,RTOS)、文件

26、系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。8. ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register)。9. FIQ模式有7个分组的寄存器R8R14,映射为R8_fiqR14_fiq。在ARM状态下,许多FIQ处理没必要保存任何寄存器。User、IRQ、Supervisor、Abort和Undefined模式每一种都包含两个分组的寄存器R13和R14的映射,

27、允许每种模式都有自己的堆栈和链接寄存器。10. 寄存器R15用作程序计数器(PC)。在ARM状态,位1:0为0,位31:2保存PC。11. 程序状态寄存器CPSR的N、Z、C、V分别指-,I=1指-、F=1指-,M4:0用做-。12. ARM指令集大致分为6类:分支/跳转指令、存储器访问指令、数据处理指令、程序状态寄存器指令、异常中断指令、协处理器指令。指令解析举例:13. LDR R0,R1 ;将存储器地址为R1的字数据读入寄存器R0。14. STR R0,R1,8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R18写入R1。 15. ADDS R1,R1,#1 ;加法指令,R1

28、1R1 影响CPSR寄存器,带有S16. LDMFD R13!,R0,R4-R12,PC ;将堆栈内容恢复到寄存器(R0,R4到R12,LR)。17. S3C2410A的CPU内核采用的是16/32位ARM920T 内核,同时还采用了AMBA(先进的微控制器总线体系结构)新型总线结构。18. ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。19. 2个USB主设接口/1个USB从设接口20. 117位通用I/O口和24通道外部中断源;21. 电源控制模式有正常、慢速、

29、空闲和电源关断4种模式;22. ARM处理器支持用户、快中断、中断、 管理 、 中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;23. ARM微处理器支持四种类型的堆栈,即:满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。24.25. 8通道10位ADC和触摸屏接口;26. 支持小大端方式27. ARM体系结构使用单一、线性地址空间。将字节地址做为无符号数看待,范围为( 02321 )。28. 地址空间:8个存储器bank,每bank 128 MB(byte)(总共1GB)。29. 对于字对齐的地址A,地址空间规则要求如下:地址位于A的字由地址为A、A1、A2和A3的字

30、节组成;地址位于A的半字由地址为A和A1的字节组成;地址位于A2的半字由地址为A2和A3的字节组成;地址位于A的字由地址为A和A2的半字组成。30. ARM系统使用存储器映射I/O。I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。31. bank0bank6都采用固定的bank起始地址。32. 每个bank支持可编程的8/16/32位数据总线宽度。33. 总线宽度和等待寄存器BWSCON:用来设置总线宽的和等待状态。34. Bank控制寄存器BANKCONn:控制各bank的片选,访问周期。35. 刷新控制寄存器REFRESH:SDRAM的刷新控制寄存器。36. BANKSIZE寄存器:用来设置BANK的容量。37. 支持从NAND Flash存储器和NOR Flash两种启动方式。在NAND Flash模式下,采用4 KB内部缓冲器用于启动引导38. Cache存储器采用写直达(Write-through)或写回(Write-back)操

温馨提示

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

评论

0/150

提交评论