嵌入式 考试题1.docx

上传人:b****5 文档编号:3755971 上传时间:2022-11-25 格式:DOCX 页数:14 大小:216.40KB
下载 相关 举报
嵌入式 考试题1.docx_第1页
第1页 / 共14页
嵌入式 考试题1.docx_第2页
第2页 / 共14页
嵌入式 考试题1.docx_第3页
第3页 / 共14页
嵌入式 考试题1.docx_第4页
第4页 / 共14页
嵌入式 考试题1.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

嵌入式 考试题1.docx

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

嵌入式 考试题1.docx

嵌入式考试题1

一、简答题

1.什么是嵌入式系统?

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

答案:

嵌入式系统的定义:

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

嵌入式系统明显特点:

1.嵌入式系统是一个专用计算机系统,有微处理器,可编程;2、嵌入式系统有明确的应用目的3、嵌入式系统作为机器或设备的组成部分被使用。

嵌入式系统特点:

1、与应用密切相关2、实时性3、复杂的算法4、制造成本5、功耗6、开发和调试7、可靠性8、体积小

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

答案:

硬件组成:

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

软件组成:

嵌入式应用程序、应用程序接口、嵌入式实时操作系统、板级支持包

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

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

答案:

AHB总线上连接的控制器:

LCD控制器,总线控制器,USB主控制器,中断控制器,存储器控制器,NandFlash控制器,时钟与电源管理,ExtMaster。

APB总线上连接的控制器:

通用异步收发器,通用I/O端口,定时器/脉宽调制,实时时钟,看门狗定时器,A/D转换器与触摸屏,IIC总线接口,IIS总线接口,SPI串行外设接口,MMC/SD/SDIO主控制器,USB设备控制器。

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

答案:

7种异常,异常种类处理模式优先级

复位管理程序模式最高

数据中止中止模式次之

快速中断请求快速中断请求模式次之

中断请求中断请求模式次之

指令预取中止中止模式次之

未定义指令未定义模式最低

软件中断管理程序模式最低

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

各有什么特点?

答案:

满递减堆栈(特点是栈指针指向堆栈的最后一个已使用的地址,堆栈向存储器地址减小方向生长)、满递增堆栈(特点是指针指向堆栈的最后一个已使用的地址,堆栈向存储器地址增大方向生长)、空递减堆栈(特点是指SP指向堆栈的第一个没有使用的地址,堆栈向存储器地址减小方向生长)、空递增堆栈(特点是指SP指向堆栈的第一个没有使用的地址,堆栈向存储器地址增大方向生长)

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

答案:

存储系统分为三个层次:

高速缓冲存储器cache,主存储器和辅助存储器构成。

特点:

Cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列,存放的是最近一段时间微处理器使用最多的程序代码和数据,Cache一般集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的存储容量大小依不同处理器而定。

主存储器用来存放系统和用户的程序及数据,是嵌入式微处理器能直接访问的存储器。

主存储器包含有ROM和RAM,可以位于微处理器的内部或外部。

辅助存储器通常指硬盘、NANDFlash、CF卡、MMC和SD卡等,用来存放大数据量的程序代码或信息,一般容量较大,但读取速度与主存相比要慢一些。

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

答案:

启动IIS:

rIISCON|=0x1;While(!

Uart_GetKey());

停止:

Delay(10);rIISCON|=0x0;rDMASKTRIG2=(1<<2);rIISFCON=0x0;

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

答案:

处理过程:

1)将PC的值保存到IRQ方式下的连接寄存器LR中

2)将当前程序状态寄存器CPSR内容保存到IRQ方式下的保留程序状态寄存器SPSR中

3)强制设置程序状态寄存器的方式位和状态为,系统进入IRQ方式ARM状态

4)设置中断禁止位,禁止再次中断

5)设置PC为相应的异常向量

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

各运行模式有什么特点?

答案:

7种模式,

用户模式:

用于执行大部分应用程序

快速中断模式:

支持数据传送或通道处理

中断模式:

用于一般中断处理

管理程序模式:

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

中止模式:

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

系统模式:

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

未定义模式:

当一条未定义指令被执行时进入的模式

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

掌握方法

下面以时钟分频为1/2时为例子:

(见书上P275-P276页例题)必须先知道分辨率和最大定时区间的定义

答案:

最小分辨率:

定时器输入时钟的频率=PCLK/{prescaler值+1}/{divider值}

=66.5/{0+1}/{2}=33.2500(MHz)

一个计数脉冲的时间=1/33.2500(MHz)=0.0300(us)

最大分辨率:

定时器输入时钟的频率=PCLK/{prescaler值+1}/{divider值}

=66.5/{255+1}/{2}=129.8828(MHz)

一个计数脉冲的时间=1/129.8828MHz)=7.6992(us)

最大定时区间:

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

所以65536*7.6992(us)=0.5045(sec)

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

答案:

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

答案:

传输过程:

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

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

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

答案:

组成:

REGBANK寄存器组,一个专用DMA即LCDCDMA,像素数据传输VIDPRCS,定时产生器TIMEGEN,三星专用定时控制逻辑单元,视频多路开关VIDEOMUX.

数据流描述:

在LCDCDMA中有FIFO存储器,当FIFO为空或部分空,LCDCDMA请求从帧存储器(也称帧缓冲区)装入数据。

装入数据使用突发(burst)存储器传送方式,每一次突发请求,连续从存储器取4个字,即16字节数据。

在总线传输期间,不允许总线主设备权转让给别的总线主设备。

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

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

使用FIFOL和FIFOH,用来支持双扫描显示模式。

在单扫描显示模式,仅有FIFO中的1个,即FIFOH能够被使用。

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

答案:

组成:

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

工作原理:

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

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

二、程序分析。

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

1.汇编程序:

IsrIRQ

subsp,sp,#4;//sp=sp-4

stmfdsp!

,{r8-r9}

ldrr9,=INTOFFSET

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

ldrr8,=HandleEINT0;//装入HandleEINT0数据到r8

addr8,r8,r9,lsl#2;//r8=r8+r9<<2;

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

strr8,[sp,#8];//r8数据写入sp+8作地址的存储器中,不回写

ldmfdsp!

,{r8-r9,pc};//将sp指向的存储器单元的数据,装入r8-r9和pc的寄存器中

程序实现的功能:

中断响应进入中断和中断返回的过程

2.C语言程序段

rGPFCON|=2<<0|2<<4;//设置GPF0、GPF2为EINT0、EINT2的功能

rGPGCON|=2<<6|2<<22;//设置GPG3、GPG11为EINT11、EINT19的功能

rINTMOD=0;//中断模式寄存器设置为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,允许服务

程序实现的功能:

中断的初始化程序

3.C语言程序段

voidTest_Touchpanel(void)

{

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

rADCCON=(1<<14)+(ADCPRS<<6);//A/D转换器预分频值允许,-//A/D转换器预分频值为ADCPRS

rADCTSC=0xd3;//等待中断模式,通常ADC转换,XP上拉允许,nXPON输出时1,

//XP与AIN[7]连接,XMON输出是0,XM=高阻,nYPON输出是1,

//YP与AIN[5]连接,YMON输出是1,YM=GND

pISR_ADC=(int)AdcTsAuto;

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

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

Uart_Getch();

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

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

}

程序实现的功能:

分别X/Y位置转换测试程序

4.汇编语言

ldrr0,=REFRESH//把刷新控制寄存器的值装入到r0

ldrr3,[r0]//r3=rREFRESH,从r0的地址读值装入r3中

movr1,r3//把r3值送r1中

orrr1,r1,#BIT_SELFREFRESH//把刷新控制寄存器的自动刷新位置为1

strr1,[r0]//读r1的数据存入r0中

movr1,#16;waituntilself-refreshisissued.maynotbeneeded.

0subsr1,r1,#1//r1=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:

保留

程序代码:

intMain(intargc,char**argv)

{

inti;

U8key;

U32mpll_val=0;

intdata;

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

(1);

ChangeMPllValue((mpll_val>>12)&0xff,(mpll_val>>4)&0x3f,mpll_val&3);

ChangeClockDivider(key,12);

MMU_DisableICache();

MMU_DisableDCache();

rGPBCON=0x;

data[0]=0x0e;

data[1]=0x0d;

data[2]=0x0b;

data[3]=0x07;

while

(1)

{

Inti=0;

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

{

rGPBDAT=(data[i]<<0);

dely(120);

}

}

return0;

}

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

答案:

连接图在课本189页

操作过程:

首先,通过特殊功能寄存器NFCONF进行NandFlash配置;其次要写NandFlash命令到NFCMD寄存器,之后送NandFlash地址到NFADDR寄存器;然后通过检查NFSTAT寄存器状态,读写数据。

每次读操作前或写操作后,都应该检查R/nB信号。

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

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

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

#defineMVAL(13)

#defineMVAL_USED(0)

#defineM5D(n)((n)&0x1fffff)

#defineMODE_STN_4BIT(0X1004)

#defineLCD_XSIZE_STN(320)

#defineLCD_YSIZE_STN(240)

#defineSCR_XSIZE_STN(LCD_XSIZE_STN*2)

#defineSCR_YSIZE_STN(LCD_YSIZE_STN*2)

#defineHOZVAL_STN(SCR_XSIZE_STN/4-1)

#defineLINEVAL_STN(LCD_YSIZE_STN-1)

#defineWLH_STN(0)

#defineWDLY_STN(0)

#defineLINEBLANK_GRAY(13&0xff)

#defineCLKVAL_STN_GRAY(10)

#defineBIT_LCD(0x1<<16)

ExternU32(*frameBuffer4Bit)[SCR_XSIZE_STN/8];

//配置LCD控制器引脚用到的GPIO

rGPCUP=0xffffffff;

rGPCCON=0xaaaaaaaa;

rGPDUP=0xffffffff;

rGPDCON=0xaaaaaaaa;

//设置LCD控制器特殊功能寄存器参数

rLCDCON1=(CLKVAL_STN_GRAY<<8)|\(MVAL_USED<<7)|(1<<5)|(2<<1)|0;

rLCDCON2=(0<<24)|(LINEVAL_STN<<14)|(0<<6)|(0<<0);

rLCDCON3=(WDLY_STN<<19)|(HOZVAL_STN<<8)|\(LINEBLANK_GRAY);

rLCDCON4=(MVAL<<8)|(WLH_STN<<0);

rLCDCON5=0;

rLCDSADDR1=(((U32)frameBuffer4Bit>>22)<<21)|\M5D((U32)frameBuffer4Bit>>1);

rLCDSADDR2=M5D(((U32)frameBuffer4Bit+\(SCR_XSIZE_STN*LCD_YSIZE_STN/2))>>1);

rLCDSADDR3=(((SCR_XSIZE_STN-LCD_XSIZE_STN)/4)<<11)|\(LCD_XSIZE_STN/4);

rDITHMODE=0x0;

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*)0x)=(unsignedchar)(ch)

#defineRdURXH0()(*(volatileunsignedchar*)0x)

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

书上308页类似对比着写就行了

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

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

ADCDAT0位名

描述

XPDATA(正常ADC)

[9:

0]

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

取值范围:

0~3FF

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

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

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

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

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

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

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

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

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

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

 

简单描述工作原理:

 

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

当前位置:首页 > 小学教育 > 语文

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

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