嵌入式复习题.docx

上传人:b****7 文档编号:11366078 上传时间:2023-02-28 格式:DOCX 页数:21 大小:224.01KB
下载 相关 举报
嵌入式复习题.docx_第1页
第1页 / 共21页
嵌入式复习题.docx_第2页
第2页 / 共21页
嵌入式复习题.docx_第3页
第3页 / 共21页
嵌入式复习题.docx_第4页
第4页 / 共21页
嵌入式复习题.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

嵌入式复习题.docx

《嵌入式复习题.docx》由会员分享,可在线阅读,更多相关《嵌入式复习题.docx(21页珍藏版)》请在冰豆网上搜索。

嵌入式复习题.docx

嵌入式复习题

一、简答题

1.什么是嵌入式系统?

嵌入式系统的特点是什么?

答:

以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统

特点:

与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可靠性,体积

2.简要说明嵌入式系统的硬件组成和软件组成。

答:

硬件组成:

微处理器,存储器,输入设备和输出设备。

软件组成:

操作系统,文件系统,图形用户接口,网络系统,通用组建模块。

3.S3C2410A的AHB总线上连接了那些控制器?

APB总线上连接了那些部件?

AHB:

LCD控制器,LCDDMA,总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。

APB:

通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),

定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。

4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?

答,支持7种类型的异常

异常处理过程:

(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。

Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止>未定义指令和软件中止。

5.存储器生长堆栈可分为哪几种?

各有什么特点?

4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。

6.简述存储器系统层次结构及特点。

答:

层次结构主要体现在“Cache-主存”层次和“主存-辅存”(Cache,主存储器,辅助存储器),前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储器系统的问题。

在存储器体系中Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都能交换信息。

7.简述I2S总线接口的启动与停止过程。

通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止);当控制寄存器IISCON的地址为1=I2S允许(开始)。

8.简述ARM系统中的中断处理过程。

中断处理过程包括:

中断请求、中断排队或中断判优、中断响应、中断处理和中断返回

9.ARM微处理器支持哪几种运行模式?

各运行模式有什么特点?

User:

用户模式。

绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。

FIQ:

快速中断模式。

支持数据传送或通道处理。

IRQ:

普通中断模式。

用于一半中断处理。

Supervisor:

管理模式。

一种操作系统受保护的方式。

Abort:

中止模式。

在访问数据中止后或指令预取中止后进入中止方式。

System:

系统模式。

是操作系统一种特权级的用户方式。

Undef:

未定义模式。

当执行未定义指令时会进入这种操作模式。

10.当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。

答:

最小分辨率:

定时器输入时钟频率=PCLK/{prescaler+1}/{divider值}=66.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.6992(us)

最大定时区间:

由于TCNTBn=65535,计数到0共65536个计数脉冲,

所以65536*7.6992=0.5045(sec)。

11.分析如图所示I2S总线时序图,说明其操作过程。

在I2SLRCK改变后经过1个时钟周期之后,发送器发送下一个字的最高有效位。

串行数据通过发送器发送,虽然同步可以使用时钟信号的后沿(从高到低)或前沿(从低到高),然后在串行时钟信号的前沿,串行数据必须被锁存到接收器。

由于这个限制,传送数据被同步只能使用时钟信号的前沿。

左右声道选择线指示正在传送的数据所在的声道。

I2SLRCK能够在串行时钟信号的后沿或前沿改变,而它的长度不需要对称。

在从设备,I2SLRCK信号在时钟信号的前沿被锁存。

I2SLRCK在最高有效位被传送的前一个周期改变。

12.S3C2410A与UAD1341通过I2S总线接口连接,试述音频数据传送过程。

答:

处理器通过IIS总线接口,控制音频数据在s3c2410内存与UDA1341TS之间传送。

连接在UDA1314TS上的麦克风信号在UDA1314内部经过A/D转换器,转换成二进制数,串行通过DATAO引脚送到S3C2410的IIS模块,在IIS模块中数据转换成并行数据然后使用通常存取方式或DMA存取方式,将并行数据保存的内存中,而内存中要输出的音频数据使用通常存取方式或DMA存取方式,将数据并行传送到IIS模块在IIS中转换成串行数据,串行通过DATAI引脚送到UDA1314TS,在片内经过D/A转换器,变成模拟信号,经过驱动器,驱动扬声器。

 

13.简述LCD控制器组成及数据流描述。

LCD控制器包括:

REGBBANK,LCDCDMA,TMEGEN,LPC定时控制逻辑单元,VIDPRCS以及VIDEOMUX组成。

当传送请求由总线仲裁器接收时,4个连续的字数据由系统存储器帧缓冲区传送到LCDCDMA内的FIFO。

全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的FIFOH组成。

使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。

14.以下是S3C2410A的串口逻辑方框图,试分析其组成和工作原理。

一个波特率发生器、一个发送器、一个接收器和一个控制单元。

波特率发生器使用PCLK或UEXTCLK时钟。

发送器和接收器各有一个16字节的FIFO寄存器和移位器。

在FIFO方式,要发送的数据先写入FIFO寄存器,然后复制到发送移位器,通过发送数据引脚TxDn移位输出;而接收数据从接收数据引脚RxDn输入并移位,然后从接收移位器复制到FIFO寄存器、

二、程序分析。

给以下程序主要过程加注释,幷写出程序功能

1.汇编程序:

IsrIRQ

subsp,sp,#4;//堆栈指针—4送入sp

stmfdsp!

,{r8-r9}//保存R8,R9

ldrr9,=INTOFFSET//取出中断偏移寄存器INTOFFSET地址

ldrr9,[r9];//将该r9内容作为地址,读该单元数据送r9。

ldrr8,=HandleEINT0;//读中断向量表首地址

addr8,r8,r9,lsl#2;//r9的值逻辑左移2位,加r8,和送r8。

ldrr8,[r8];//将该r8内容作为地址,读该单元数据送r8。

strr8,[sp,#8];//先索引,r8数据写入sp+8做地址的寄存器中,不回写。

ldmfdsp!

,{r8-r9,pc};//将sp指向的储存单元多字数据,装入r8-r9地址单元,pc中。

程序实现的功能:

IRQ中断服务程序课本P257

 

2.C语言程序段

rGPFCON|=2<<0|2<<4;//将GPF0配置成EINT0和将GPF2配置成EINT2

rGPGCON|=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信号方式配置为上升沿触发

//

rINTMSK&=~(1<<0|1<<2|1<<5);

//EINT0,EINT2,EINT8_23对应屏蔽位置0,允许服务

程序实现的功能:

中断初始化课本P255

3.C语言程序段

voidTest_Touchpanel(void)

{

rADCDLY=50000;//NormalconversionmodedelayaboutADC开始或区间延时

rADCCON=(1<<14)+(ADCPRS<<6);//ADCPRSEn,ADCPRSValue

rADCTSC=0xd3;//Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En

pISR_ADC=(int)AdcTsAuto;//设置中断程序入口地址

rINTMSK=~BIT_ADC;//ADCTouchScreenMaskbitclear中断屏蔽寄存器中,不屏蔽INT_ADC

rINTSUBMSK=~(BIT_SUB_TC);//不屏蔽子中断INT_TC

Uart_Getch();//等待键盘输入,等待期间可以按下触摸屏触针,进入中断处理程序

rINTSUBMSK|=BIT_SUB_TC;//屏蔽子中断INT_TC

rINTMSK|=BIT_ADC;//中断屏蔽寄存器中,屏蔽INT_ADC

}

程序实现的功能:

测试触摸屏

4.汇编语言

ldrr0,=REFRESH

ldrr3,[r0];r3=rREFRESH

movr1,r3

orrr1,r1,#BIT_SELFREFRESH

strr1,[r0];EnableSDRAMself-refresh使SDRAM自动刷新

movr1,#16;waituntilself-refreshisissued.maynotbeneeded.等待刷新,也可能不需要

0subsr1,r1,#1

bne%B0

四、设计与编程(每题10分,共20分)

1.设计程序,写出实现LED1~LED4轮流闪烁的主程序代码。

已知FCLK=400M,不考虑分频函数,FCLK:

HCLK:

PCLK按1:

2:

4计算,使用端口GPB0、1、2、3为LED控制端口,低电平点亮。

GPBCON功能描述

配置端口B引脚端,使用位[21:

0],分别对端口B的11个引脚端进行配置。

00:

输入;01:

输出;10:

第2功能;11:

保留

程序代码:

 

voiddely(U32tt)

{

U32i;

for(;tt>0;tt--)

{

for(i=0;i<10000;i++){}

}

}

intMain(intargc,char**argv)

{

inti;

U8key;

U32mpll_val=0;

intdata;

mpll_val=(92<<12)|(1<<4)|

(1);

//initFCLK=400M,sochangeMPLLfirst

ChangeMPllValue((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;

}

return0;

}

 

2.根据NandFlash控制器工作原理,试在图中画出S3C2410A的NandFlash控制器与K9F2808U0C芯片的连接关系,并简单描述其操作过程。

 

3.S3C2410A的LCD控制器初始化程序主要包括配置LCD引脚用到的GPIO;设置LCDCON寄存器参数等。

试配置C端口、D端口的相关引脚为LCD功能引脚。

写出端口配置初始化程序。

voidLcd_Port_Init(void)

{

rGPCUP=0xffffffff;

rGPCCON=0xaaaaaaaa;

rGPDUP=0xffffffff;

rGPDCON=0xaaaaaaaa;

rGPCCON|=2<<12|2<<14|2<<16;

Uart_Printf(”InitializingGPIOports\n”);

 

4.用S3C2410A或S3C2440的串口1实现串口通信。

试设计不带流量控制的简单收发程序,包括初始化程序,发送程序和接收程序。

所用寄存器描述如下

 

ULCONn位

描述

[6]

0:

正常模式;1:

红外模式

[5:

3]

0xx:

无奇偶校验;100:

奇校验101:

偶校验

110:

强制奇偶校验/校验1;111:

强制奇偶校验/校验0

[2]

0:

每帧1个停止位;1:

每帧2个停止位

[1:

0]

00:

5位;01:

6位;10:

7位;11:

8位

UCONn的位功能

描述

波特率时钟选择

[10]

0:

使用PCLK,1:

使用UEXTCLK

发送中断请求类型选择

[9]

0:

脉冲;1:

电平

接收中断请求类型选择

[8]

0:

脉冲;1:

电平

Rx超时中断使能控制

[7]

0:

禁止;1:

使能

接收错误状态中断使能控制

[6]

0:

禁止;1:

使能

回送模式选择

[5]

0:

正常模式;1:

回送模式

发送模式选择

[3:

2]

00:

禁止;01:

中断请求或查询模式;

接收模式选择

[1:

0]

00:

禁止;01:

中断请求或查询模式;

UMCONn的位功能

描述

AFC使能

[4]

0:

禁止;1:

使能

请求发送

[0]

0:

RTS无效;1:

RTS有效

等等

已定义宏如下:

#defineWrUTXH0(ch)(*(volatileunsignedchar*)0x50000020)=(unsignedchar)(ch)

#defineRdURXH0()(*(volatileunsignedchar*)0x50000024)

程序设计(要求加注释):

voidUart_Init(intpclk,intbaud){

inti;

if(pclk==0)pclk=PCLK;

Switch(nchannel)

{

caseUART0:

//UART0

rUFCON0=0x0;//UART0FIFO控制寄存器,FIFO禁止

rUMCON0=0x0;//UART0MODEM控制寄存器,AFC禁止

rULCON0=0x3;//行控制寄存器:

正常模式,无奇偶校验,1位停止位,8位数据位rUCON0=0x245;//控制寄存器

rUBRDIV0=((int)(pclk/16./baud+0.5)-1);//波特率因子寄存器

break;

caseUART1:

...//UART1

caseUART2:

...//UART2

default:

break;}

for(i=0;i<100;i++);

}

voidUart_SendByte(intdata)

if(whichUart==0)

if(data==’\n’)

while(!

(rUTRSTAT0&0x2));

Delay(10);//延时,与终端速度有关

WrUTXH0(’\r’);

while(!

(rUTRSTAT0&0x2));//等待,直到发送状态就绪

Delay(10);

WrUTXH0(data);

}

charUart_GetKey(void)

if(whichUart==0)

{if(rUTRSTAT0&0x1)//UART0接收到数据

returnRdURXH0();

elsereturn0;

}

 

5.使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换。

写出初始化函数和读取转换结果的函数。

ADCDAT0位名

描述

XPDATA(正常ADC)

[9:

0]

X位置的转换数据值(包括正常A/D转换的数据值)。

取值范围:

0~3FF

定义与A/D转换相关的寄存器

#definerADCCON(*(volatileunsigned*)0x58000000)//ADC控制寄存器

#definerADCTSC(*(volatileunsigned*)0x58000004)//ADC触摸屏控制寄存器

#definerADCDLY(*(volatileunsigned*)0x58000008)//ADC启动或间隔延时寄存器

#definerADCDAT0(*(volatileunsigned*)0x5800000c)//ADC转换数据寄存器0

#definerADCDAT1(*(volati1eunsigned*)0x58000010)//ADC转换数据寄存器

程序设计(要求加注释):

6.S3C2440的bank6使用32位数据总线与SDRAM芯片HY57V561620连接,每片SDRAM为32MB存储空间,16位数据线。

试画出二者之间的连接电路图。

在下图中SDRAM芯片引脚引出线上标出连接到S3C2440芯片上的对应引脚名称。

 

简单描述工作原理:

地址总线ADDR[25:

24]分别与SDRAM的BA1、BA0连接,选择芯片内部的bank3~bank0。

由于数据总线为32位,所以地址总线ADDR[1:

0]被忽略,地址总线ADDR[14:

2]与SDRAM的A[12:

0]连接,,传送行地址和列地址。

数据总线U6连接低十六位,U7连接高十六位。

一、填空

1.“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。

2.IP核分为软核、硬核、固核。

3.嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。

4.嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。

5.硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。

嵌入式微处理器是嵌入式系统硬件层的核心。

6.系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。

7.系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

8.ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。

寄存器R13通常用作堆栈指针,称作SP。

寄存器R14用作子程序链接寄存器,也称为链接寄存器LK(LinkRegister)。

9.FIQ模式有7个分组的寄存器R8~R14,映射为R8_fiq~R14_fiq。

在ARM状态下,许多FIQ处理没必要保存任何寄存器。

User、IRQ、Supervisor、Abort和Undefined模式每一种都包含两个分组的寄存器R13和R14的映射,允许每种模式都有自己的堆栈和链接寄存器。

10.寄存器R15用作程序计数器(PC)。

在ARM状态,位[1:

0]为0,位[31:

2]保存PC。

11.程序状态寄存器CPSR的N、Z、C、V分别指-------,I=1指------、F=1指------,M[4:

0]用做-------。

12.ARM指令集大致分为6类:

分支/跳转指令、存储器访问指令、数据处理指令、程序状态寄存器指令、异常中断指令、协处理器指令。

指令解析举例:

13.LDRR0,[R1];将存储器地址为R1的字数据读入寄存器R0。

14.STRR0,[R1],#8;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。

15.ADDSR1,R1,#1;加法指令,R1+1=R1影响CPSR寄存器,带有S

16.LDMFDR13!

,{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.电源控制模式有正常、慢速、空闲和电源关断4种模式;

22.ARM处理器支持用户、快中断、中断、管理、中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;

23.ARM微处理器支持四种类型的堆栈,即:

满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。

24.

25.8通道10位ADC和触摸屏接口;

26.支持小/大端方式

27.ARM体系结构使用单一、线性地址空间。

将字节地址做为无符号数看待,范围为(0~232-1)。

28.地址空间:

8个存储器bank,每bank128MB(byte)(总共1GB)。

29.对于字对齐的地址A,地址空间规则要求如下:

地址位于A的字由地址为A、A+1、A+2和A+3的字节组成;

地址位于A的半字由地址为A和A+1的字节组成;

地址位于A+2的半字由地址为A+2和A+3的字节组成;

地址位于A的字由地址为A和A+2的半字组成。

30.ARM系统使用存储器映射I/O。

I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。

31.bank0~bank6都采用固定的bank起始地址。

32.每个bank支持可编程的8/16/32位数据总线宽度。

33.总线宽度和等待寄存器BWSCON:

用来设置总线宽的和等待状态。

34.Bank控制寄存器BANKCONn:

控制各bank的片选,访问周期。

35.刷新控制寄存器REFRESH:

SDRAM的刷新控制寄存器。

36.BANKSIZE寄存器:

用来设置BANK的容量。

37.支持从NANDFlash存储器和NORFlash两种启动方式。

在NANDFlash模式下,采用4KB内部缓冲器用于启动引

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1