嵌入式复习题.docx
- 文档编号:2482640
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:28
- 大小:70.82KB
嵌入式复习题.docx
《嵌入式复习题.docx》由会员分享,可在线阅读,更多相关《嵌入式复习题.docx(28页珍藏版)》请在冰点文库上搜索。
嵌入式复习题
嵌入式复习题
一、简答题
1.什么是嵌入式系统?
嵌入式系统的特点是什
么?
答:
以应用为中心,以计算机技术为基础,
软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统
特点:
与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可靠性,体积
2.简要说明嵌入式系统的硬件组成和软件组成。
答:
硬件组成:
微处理器,存储器,输入设备和输出设备。
软件组成:
操作系统,文件系统,图形用户接口,网络系统,通用组建模块。
3.S3C2410A的AHB总线上连接了那些控制器?
APB总线上连接了那些部件?
AHBLCD控制器,LCDDM,总线控制器,
USB主控制器,中断控制器,ExtMaster,
电源管理,Nandflash控制器,储存器控制
APB通用异步收发器,内部集成电路总线
(lie),USB设备控制器,集成电路内部声
音总线(IIS),MMC/SD/SDI主控制器,通
用I/O端口(GPIO,看门狗定时器(WDT,
定时时钟(RTC,总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。
4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?
答,支持7种类型的异常
异常处理过程:
(进入异常)PSLRCPRS
fSPSR设置CPSR的运行模式位,跳转到相应的异常处理程序,(异常返回)LFH-PC,SPSR>CPSR若在进入异常处理时设置中断
禁止位,要在此清楚,复位异常处理程序不
需要返回
Reset>数据中指〉快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止〉未定义指令和软件中止。
5.存储器生长堆栈可分为哪几种?
各有什么特点?
4种,满递增堆栈,满递减堆栈,空递增堆
栈,空递减堆栈
6.简述存储器系统层次结构及特点
答:
层次结构主要体现在“Cache-主存”层次和“主存-辅存”(Cache,主存储器,辅助存储器),前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储器系统的问题。
在存储器体系中Cache主存能与CPU直接交换信息,辅存则要通过主存与
CPU交换信息;主存与CPUCache辅存都能交换信息。
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)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。
答:
最小分辨率:
定时器输入时钟频率=PC
LK/{prescaler+1}/{di
vider值}=6
6.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内存与UDA134仃之间传送。
连接在UDA1314T上的麦克风信号在UDA1314内部经过A/D转换器,转换成二进制数,串行通过DATAO引脚送到S3C2410的IIS模块,在IIS模块中数据转换成并行数据然后使用通常存取方式或DMA存取方式,将并行数据保存的内存中,而内存中要输出的音频数据使用通常存取方式或DMA存取方式,将数据并行传送到IIS模块在IIS中转换成串行数据,串行通过DATAI引脚送到UDA1314TS在片内经过D/A转换器,变成模拟信号,经过驱动器,驱动扬声器。
13.简述LCD控制器组成及数据流描述
LCD控制器包括:
REGBBANKLCDCDM,
TMEGE,LPC定时控制逻辑单元,VIDPRC©及VIDEOMU组成。
当传送请求由总线仲裁器接收时,4个连续
的字数据由系统存储器帧缓冲区传送到
LCDCDM内的FIFO。
全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的FIFOH组成。
使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。
14.以下是S3C2410A勺串口逻辑方框图,试分析其组成和工作原理。
InFIFOmode,all16ByteofBufferregisterareusedesFIFOregister.
Innon-FlFOmode,only1ByteofBufferregisterisu&edasHoldingregister.
一个波特率发生器、一个发送器、一个接收器和一个控制单元。
波特率发生器使用PCLK
或UEXTCLK时钟。
发送器和接收器各有一
个16字节的FIFO寄存器和移位器。
在
FIFO方式,要发送的数据先写入FIFO寄存器,然后复制到发送移位器,通过发送数据引脚TxDn移位输出;而接收数据从接收数据引脚RxDn输入并移位,然后从接收
移位器复制到FIFO寄存器、
:
、程序分析。
给以下程序主要过程加注释,幷写出程序功能
1.汇编程序:
IsrIRQ
subsp,sp,#4;
—4送入spstmfdspldrr9
//
堆栈指针
!
{r8-r9}//
=INTOFFSET
保存R8,R9
//
取出中
断偏移寄存器INTOFFSE■地址ldrr9,[r9];//
r9内容作为地址,读该单元数据送ldrr8,=HandleEINTO;
向量表首地址
addr8,r8,r9,lsl#2;〃r9的值
逻辑左移2位,加r8,和送r8ldrr8,[r8];//
内容作为地址,读该单元数据送
[sp,#8];//
将该
r9。
//读中断
strr8
r8数据写入
写。
Idmfdsp!
将该r8
r8。
先索引,
sp+8做地址的寄存器中,不回
,{r&r9,pc};//将sp指
向的储存单元多字数据,装入r8-r9地址单
元,pc中。
程序实现的功能:
IRQ中断服务程序课本
P257
2.C语言程序段
rGPFCON|=2vvO|2v<4;//
将GPF0配置
成EINT0和将GPF2配置成
EINT2
rGPGCON|=2vv6|2v<22;//
将GPG3GPG1
配置成EINT11,EINT19功能
rlNTMOD=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=(1vv14)+(ADCPRSv<6);
//ADCPRSEn,ADCPRSValuerADCTSC=0xd3;
〃Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
pISR_ADC=(int)AdcTsAuto;//设置
中断程序入口地址
rINTMSK=〜BIT_ADC;//ADCTouch
ScreenMaskbitclear中断屏蔽寄存器中,不屏蔽INT_ADC
rINTSUBMSK=〜(BIT_SUB_TC);//不屏蔽子中断INT_TC
Uart_Getch();〃等待键盘输入,等待期间
可以按下触摸屏触针,进入中断处理程序
rlNTSUBMSK|=BIT_SUB_TC;//屏蔽子中断INT_TC
rlNTMSK|=BIT_ADC;//中断屏蔽寄存器中,屏蔽INT_ADC
}
程序实现的功能:
测试触摸屏
4.汇编语言
ldrrO,=REFRESH
ldrr3,[r0];r3=rREFRESH
movr1,r3
orrr1,r1,#BIT_SELFREFRESH
SDRAM
strr1,[rO];Enable
self-refresh使SDRAI自动刷新
movr1,#16;waituntil
self-refreshisissued.maynotbeneeded.等待刷新,也可能不需要
0subsr1,r1,#1
bne%B0
四、设计与编程(每题10分,共20分)
1.设计程序,写出实现LED1〜LED轮流闪烁的主程序代码。
已知FCLK=400M不考虑分频函数,
FCLK:
HCLK:
PCLI按1:
2:
4计算,使用端口
GPB01、2、3为LED控制端口,低电平点亮。
GPBCO功能描述
配置端口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=O;
intdata;
mpll_val=(92 (1); (mpll_val>>4)&0x3f, //initFCLK=400M,sochangeMPLLfirst ChangeMPIIValue((mpll_val>>12)&0xff,mpll_val&3); ChangeClockDivider(key,12); MMU_DisablelCache();MMU_DisableDCache();rGPBCON=0x155555; data=0x06; while (1) { rGPBDAT=(data<<5);dely(120); data=~data; } return0; 2.根据NandFlash控制器工作原理,试在图中画出S3C2410A的NandFlash控制器与K9F2808U0C芯片的连接关系,并简单描述其操作过程。 DATA[? ^tC-tE S3C24WA闭七nFWEnFRF OM[0] 0M(1} 3.S3C2410A的LCD控制器初始化程序主要包 括配置LCD引脚用到的GPIQ设置LCDCON 寄存器参数等。 试配置C端口、D端口的相 关引脚为LCD功能引脚。 写出端口配置初始化程序 voidLcd_Port_lnit(void) { rGPCUP=Oxffffffff; rGPCCON=0xaaaaaaaa;rGPDUP=0xffffffff;rGPDCON=0xaaaaaaaa; GPIO rGPCCON|=2v<12|2vv14|2vv16; Uart_Printf(”Initializingports\n”); 4.用S3C2410A或S3C2440的串口1实现串口 通信。 试设计不带流量控制的简单收发程序,包括初始化程序,发送程序和接收程序。 所用寄存器描述如下 ULCONr 位 '描述 ⑹ 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位 UCON的位功能 位 描述 波特率时钟选择 [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: 中断 请求或查询模式; UMCON的位功能 位 描述 AFC使能 [4]0 : 禁止;1: 使能 请求发送 [0]0 : RTS无效;1: RTS有效 等等 已定义宏如下: #defineWrUTXHO(ch)(*(volatileunsigned char*)0x50000020)=(unsignedchar)(ch) #defineRdURXHO()(*(volatileunsigned char*)0x50000024) 程序设计(要求加注释): voidUart_Init(intpclk,intbaud){ inti; if(pclk==0)pclk=PCLK; Switch(nchannel) { caseUART0//UART0 rUFCON0=0x0;//UART0FIFO控制寄存器,FIFO禁止 rUMCON0=0x0;//UART0MODE控制寄存 器,AFC禁止 rULCONQOx3;//行控制寄存器: 正常模式, 无奇偶校验,1位停止位,8位数据位 rUCON®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(! (rUTRSTAT&0x2)); Delay(10);//延时,与终端速度有关 WrUTXH0('\r'); } while(! (rUTRSTATO&0x2));// 等待,直到发送状态就绪 Delay(10); WrUTXH0(data); } } charUart_GetKey(void) { if(whichUart==0) {if(rUTRSTAT&0x1)//UARTO接收到数据 returnRdURXHO(); elsereturn0; } } 5.使用S3C2410A勺A/D转换器进行模拟信号到数字信号的转换。 写出初始化函数和读取转换结果的函数。 ADCDA 0位名 「 位 描述 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芯片上的对应引脚名称。 24 25 26 29 30 31 32 33 22 35 36 20 ~TT 15 39 37 38 28 41 54 6 12 46 52 AO.j, A1山 DQODQ1 A2 DQ2 A3A4 DQ3 DQ4 A5A6 DQ5 DQ6 A7 DQ7 A8 DQ8 A9 DQ9 A10 DQ10 All DQ11 A12 DQ12 DQ13 BAO DQ14 BAI LXJ15 LDQM nSCS UDQM nSR-XS nSCAS SCKE n\VE SCLK VDDO vsso VDD1 VSSI VDD2 VSS2 VDDQO VSSQO VDDQ1 VSSQl VDDQ2 VSSQ2 VDDQ3 VSSQ3 4 5 7 g 10 11 13 42 44 45 47 48 50 51 "35" 19 18 17 16 "Vl 1 14 "57" J 9 43 49 2 24 25 26 29 30 31 竝 JJ 34 12 35 36 20 21 15 势 弛 2S 41 54 & ]2 46 V AOU7 □QU Al DQ] A2 1W A' EX)j A4 IKN A5 BQ5 A6 DQ6 A7 DQT AR DQK 心 A10 IXM Alt bQii A12 DQU HAO DQ14 iiAl LMJ1J LOQM nSCS UDQM r.^CAS SCKE 日WE 轧LK VDtX) VS30 VDD1 VSS1 VDD2 VSS? XD1W VSSQO VDDQ] VSSQ1 MJDQ2 VSSQ2 VDDQm VSSQ3 4 1 5 1 Mi I 1 務 10 11 诂 1 42 44 45 47 n n 50 51 n 勺1 19 1A 17 1 14 27 3 g 43 4Q 简单描述工作原理: 地址总线ADDR[25: 24]分别与SDRAM勺BA1BA0连接,选择芯片内部的bank3~bankO。 由于数据总线为32 位,所以地址总线ADDR[1: 0]被忽略,地址总线ADDR[14: 2]与SDRAIM勺A[12: 0]连接,,传送行地址和列地址。 数据总线U6连接低十六位,U7连接高十六位。 1•“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 2.IP核分为软核、硬核、固核。 3.嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。 4.嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。 5.硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。 嵌入式微处理器是嵌入式系统硬件层的核心。 6.系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。 7.系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTO$、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。 RTOS是嵌入式应用软件的基础和 开发平台。 8.ARM处理器共有37个寄存器,31个通用寄 存器,6个状态寄存器。 寄存器R13通常用作堆栈指针,称作SP。 寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Li
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 复习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)