最新嵌入式系统原理及接口技术复习题Word格式文档下载.docx
《最新嵌入式系统原理及接口技术复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新嵌入式系统原理及接口技术复习题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。
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总线时序图,说明其操作过程。
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的串口逻辑方框图,试分析其组成和工作原理。
二、程序分析。
给以下程序主要过程加注释,幷写出程序功能
1.汇编程序:
IsrIRQ
subsp,sp,#4;
//堆栈指针—4送入sp
stmfdsp!
,{r8-r9}
ldrr9,=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<
//将EINT19信号方式配置为上升沿触发
//
rINTMSK&
=~(1<
0|1<
2|1<
5);
//EINT0,EINT2,EINT8_23对应屏蔽位置0,允许服务
中断初始化课本P255
3.C语言程序段
voidTest_Touchpanel(void)
{
rADCDLY=50000;
//Normalconversionmodedelayabout
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
rINTSUBMSK=~(BIT_SUB_TC);
Uart_Getch();
rINTSUBMSK|=BIT_SUB_TC;
rINTMSK|=BIT_ADC;
}
测试触摸屏
4.汇编语言
ldrr0,=REFRESH
ldrr3,[r0];
r3=rREFRESH
movr1,r3
orrr1,r1,#BIT_SELFREFRESH
strr1,[r0];
EnableSDRAMself-refresh
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<
dely(120);
data=~data;
return0;
2.根据NandFlash控制器工作原理,试在图中画出S3C2410A的NandFlash控制器与K9F2808U0C芯片的连接关系,并简单描述其操作过程。
3.S3C2410A的LCD控制器初始化程序主要包括配置LCD引脚用到的GPIO;
设置LCDCON寄存器参数等。
试配置C端口、D端口的相关引脚为LCD功能引脚。
写出端口配置初始化程序。
4.用S3C2410A或S3C2440的串口1实现串口通信。
试设计不带流量控制的简单收发程序,包括初始化程序,发送程序和接收程序。
所用寄存器描述如下:
ULCONn位
描述
[6]
0:
正常模式;
1:
红外模式
[5:
3]
0xx:
无奇偶校验;
100:
奇校验101:
偶校验
110:
强制奇偶校验/校验1;
111:
强制奇偶校验/校验0
[2]
每帧1个停止位;
每帧2个停止位
[1:
0]
5位;
6位;
7位;
8位
UCONn的位功能
位
波特率时钟选择
[10]
使用PCLK,1:
使用UEXTCLK
发送中断请求类型选择
[9]
脉冲;
电平
接收中断请求类型选择
[8]
Rx超时中断使能控制
[7]
禁止;
使能
接收错误状态中断使能控制
回送模式选择
[5]
回送模式
发送模式选择
[3:
2]
中断请求或查询模式;
接收模式选择
UMCONn的位功能
AFC使能
[4]
请求发送
[0]
RTS无效;
RTS有效
等等
已定义宏如下:
#defineWrUTXH0(ch)(*(volatileunsignedchar*)0x50000020)=(unsignedchar)(ch)
#defineRdURXH0()(*(volatileunsignedchar*)0x50000024)
程序设计(要求加注释):
5.使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换。
写出初始化函数和读取转换结果的函数。
ADCDAT0位名
XPDATA(正常ADC)
[9:
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芯片上的对应引脚名称。
简单描述工作原理:
(三)DIY手工艺品的“自助化”
4、如果学校开设一家DIY手工艺制品店,你是否会经常去光顾?
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
一、填空
1.“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。
2.
3.新材料手工艺品。
目前,国际上传统的金银、仿金银制成饰品的销售在逐步下降,与此形成鲜明对比的是,数年以前兴起的崇尚然风格、追求个性的自制饰品--即根据自己的创意将各种材质的饰珠,用皮、布、金属等线材串出的品,正在各国的女性中大行其道。
IP核分为软核、硬核、固核。
4.嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。
5.嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。
6.硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式微处理器是嵌入式系统硬件层的核心。
7.
8.在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。
在人民广场地下“的美”购物中心,有一家DIY自制饰品店---“碧芝自制饰品店”。
系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。
9.系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
10.
11.成功秘诀:
好市口+个性经营ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。
寄存器R13通常用作堆栈指针,称作SP。
寄存器R14用作子程序链接寄存器,也称为链接寄存器LK(LinkRegister)。
12.FIQ模式有7个分组的寄存器R8~R14,映射为R8_fiq~R14_fiq。
在ARM状态下,许多FIQ处理没必要保存任何寄存器。
User、IRQ、Supervisor、Abort和Undefined模式每一种都包含两个分组的寄存器R13和R14的映射,允许每种模式都有自己的堆栈和链接寄存器。
13.
14.
(一)DIY手工艺品的“多样化”寄存器R15用作程序计数器(PC)。
在ARM状态,位[1:
0]为0,位[31:
2]保存PC。
15.程序状态寄存器CPSR的N、Z、C、V分别指-------,I=1指------、F=1指------,M[4:
0]用做-------。
16.ARM指令集大致分为6类:
分支/跳转指令、存储器访问指令、数据处理指令、程序状态寄存器指令、异常中断指令、协处理器指令。
我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。
不过,对我们的小店来说还好,因为我们不需要太多的投资。
指令解析举例:
17.LDRR0,[R1];
将存储器地址为R1的字数据读入寄存器R0。
18.STRR0,[R1],#8;
将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。
19.ADDSR1,R1,#1;
加法指令,R1+1=R1影响CPSR寄存器,带有S
20.
21.随着社会经济、文化的飞跃发展,人们正从温饱型步入小康型,崇尚人性和时尚,不断塑造个性和魅力的现代文化价值观念,已成为人们的追求目标。
因此,顺应时代的饰品文化显示出强大的发展势头和越来越广的市场,从事饰品销售是有着广阔的市场空间。
LDMFDR13!
,{R0,R4-R12,PC};
将堆栈内容恢复到寄存器(R0,R4到R12,LR)。
22.S3C2410A的CPU内核采用的是16/32位ARM920T内核,同时还采用了AMBA(先进的微控制器总线体系结构)新型总线结构。
23.ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。
24.2个USB主设接口/1个USB从设接口
25.117位通用I/O口和24通道外部中断源;
26.电源控制模式有正常、慢速、空闲和电源关断4种模式;
27.ARM处理器支持用户、快中断、中断、管理、中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;
28.ARM微处理器支持四种类型的堆栈,即:
满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。
29.
30.8通道10位ADC和触摸屏接口;
31.支持小/大端方式
32.ARM体系结构使用单一、线性地址空间。
将字节地址做为无符号数看待,范围为(0~232-1)。
33.地址空间:
8个存储器bank,每bank128MB(byte)(总共1GB)。
34.对于字对齐的地址A,地址空间规则要求如下:
地址位于A的字由地址为A、A+1、A+2和A+3的字节组成;
地址位于A的半字由地址为A和A+1的字节组成;
地址位于A+2的半字由地址为A+2和A+3的字节组成;
地址位于A的字由地址为A和A+2的半字组成。
35.ARM系统使用存储器映射I/O。
I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。
36.bank0~bank6都采用固定的bank起始地址。
37.每个bank支持可编程的8/16/32位数据总线宽度。
38.总线宽度和等待寄存器BWSCON:
用来设置总线宽的和等待状态。
39.Bank控制寄存器BANKCONn:
控制各bank的片选,访问周期。
40.刷新控制寄存器REFRESH:
SDRAM的刷新控制寄存器。
41.BANKSIZE寄存器:
用来设置BANK的容量。
42.支持从NANDFlash存储器和NORFlash两种启动方式。
在NANDFlash模式下,采用4KB内部缓冲器用于启动引导
43.Cache存储器采用写直达(Write-through)或写回(Write-back)操作来更新主存储器。
44.每个引脚端的功能通过端口控制寄存器(PnCON)来定义(配置)。
45.与配置I/O口相关的寄存器包括:
端口控制寄存器(GPACON~GPHCON)、端口数据寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。
46.在ARM系统中,支持复位、未定义指令、软中断、预取中止、数据中止、IRQ和FIQ7种异常,每种异常对应于不同的处理器模式,有对应的异常向量(固定的存储器地址)。
47.S3C2410A通过对程序状态寄存器(PSR)中的F位和I位进行设置控制CPU的中断响应。
如果设置PSR的F位为1,则CPU不会响应来自中断控制器的FIQ中断;
如果设置PSR的I位为1,则CPU不会响应来自中断控制器的IRQ中断。
如果设置PSR的F位或I位设置为0,同时将中断屏蔽寄存器(INTMSK)中的相对应位设置为0,CPU响应来自中断控制器的IRQ或FIQ中断请求。
48.S3C2410A中的中断控制器能够接收来自56个中断源的请求;
49.S3C2440A中的中断控制器能够接收来自60个中断源的请求;
50.每个DMA控制器可以处理以下4种情况:
(1)源和目的都在系统总线上;
(2)源在系统总线上,目的在外围总线上;
(3)源在外围总线上,目的在系统总线上;
(4)源和目的都在外围总线上。
51.S3C2410A每个DMA通道有9个控制寄存器,4个通道共有36个寄存器。
每个DMA通道的9个控制寄存器中有6个用于控制DMA传输,另外3个用于监控DMA控制器的状态。
52.如果在一个存储系统中,指令预取时使用的一个cache,数据读写时使用的另一个cache,各自是独立的,这时称系统使用了独立的cache,用于指令预取的cache称为指令cache,用于数据读写的cache称为数据cache。
53.存储器按存储信息的功能,分为随机存取存储器(RandomAccessMemory,RAM)和只读存储器(ReadOnlyMemory,ROM)。
54.Flashmemory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
55.Bank控制寄存器BANKCONn:
混合编程技术中,子程序之间的调用必须遵循一定的调用规则,这些规则统称为ATPCS
1.ARM的异常