嵌入式复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0subs r1,r1,#1
bne %B0
四、设计与编程(每题10分,共20分)
1.设计程序,写出实现LED1~LED4轮流闪烁的主程序代码。
已知FCLK=400M,不考虑分频函数,FCLK:HCLK:PCLK按1:2:4计算,使用端口GPB0、1、2、3为LED控制端口,低电平点亮。
GPBCON功能描述
rINTSUBMSK=~(BIT_SUB_TC);//不屏蔽子中断INT_TC
Uart_Getch();//等待键盘输入,等待期间可以按下触摸屏触针,进入中断处理程序
rINTSUBMSK|=BIT_SUB_TC;//屏蔽子中断INT_TC
rINTMSK|=BIT_ADC;//中断屏蔽寄存器中,屏蔽INT_ADC
ChangeClockDivider(key, 12);
MMU_DisableICache();
MMU_DisableDCache();
rGPBCON = 0x155555;
data = 0x06;
while(1)
{
rGPBDAT = (data<<5);
dely(120);
data =~data;
答:硬件组成:微处理器,存储器,输入设备和输出设备。
软件组成:操作系统,文件系统,图形用户接口,网络系统,通用组建模块。
3.S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件?
AHB:LCD控制器,LCD DMA,总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。
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);
答,支持7种类型的异常
异常处理过程:(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。
Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止>未定义指令和软件中止。
一个计数脉冲时间=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个计数脉冲,
ldmfd sp!,{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功能
APB:通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),
定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。
4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?
//EINT0,EINT2,EINT8_23对应屏蔽位置0,允许服务
程序实现的功能:
中断初始化课本P255
3. C语言程序段
void Test_Touchpanel(void)
{
rADCDLY=50000;//Normal conversion mode delay aboutADC开始或区间延时
rADCCON=(1<<14)+(ADCPRS<<6); //ADCPRS En, ADCPRS Value
二、程序分析。给以下程序主要过程加注释,幷写出程序功能
1.汇编程序:
IsrIRQ
sub sp,sp,#4;//堆栈指针—4送入sp
stmfd sp!,{r8-r9}//保存R8,R9
ldr r9,=INTOFFSET//取出中断偏移寄存器INTOFFSET地址
ldr r9,[r9];//将该r9内容作为地址,读该单元数据送r9。
}
rBiblioteka Baiduturn 0;
}
2.根据Nand Flash控制器工作原理,试在图中画出S3C2410A的Nand Flash控制器与K9F2808U0C芯片的连接关系,并简单描述其操作过程。
3.S3C2410A的LCD控制器初始化程序主要包括配置LCD引脚用到的GPIO;设置LCDCON寄存器参数等。试配置C端口、D端口的相关引脚为LCD功能引脚。写出端口配置初始化程序。
7.简述I2S总线接口的启动与停止过程。
通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止);当控制寄存器IISCON的地址为1=I2S允许(开始)。
8.简述ARM系统中的中断处理过程。
中断处理过程包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回
所以65536*7.6992=0.5045(sec)。
11.分析如图所示I2S总线时序图,说明其操作过程。
在I2SLRCK改变后经过1个时钟周期之后,发送器发送下一个字的最高有效位。串行数据通过发送器发送,虽然同步可以使用时钟信号的后沿(从高到低)或前沿(从低到高),然后在串行时钟信号的前沿,串行数据必须被锁存到接收器。由于这个限制,传送数据被同步只能使用时钟信号的前沿。左右声道选择线指示正在传送的数据所在的声道。I2SLRCK能够在串行时钟信号的后沿或前沿改变,而它的长度不需要对称。在从设备,I2SLRCK信号在时钟信号的前沿被锁存。I2SLRCK在最高有效位被传送的前一个周期改变。
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)
rADCTSC=0xd3; //Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
pISR_ADC = (int)AdcTsAuto;//设置中断程序入口地址
rINTMSK=~BIT_ADC; //ADC Touch Screen Mask bit clear中断屏蔽寄存器中,不屏蔽INT_ADC
配置端口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)
一、简答题
1.什么是嵌入式系统?嵌入式系统的特点是什么?
答:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统
特点:与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可靠性,体积
2.简要说明嵌入式系统的硬件组成和软件组成。
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做地址的寄存器中,不回写。
9.ARM微处理器支持哪几种运行模式?各运行模式有什么特点?
User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。
FIQ:快速中断模式。支持数据传送或通道处理。
IRQ:普通中断模式。用于一半中断处理。
Supervisor:管理模式。一种操作系统受保护的方式。
Abort:中止模式。在访问数据中止后或指令预取中止后进入中止方式。
5.存储器生长堆栈可分为哪几种?各有什么特点?
4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。
6.简述存储器系统层次结构及特点。
答:层次结构主要体现在“Cache-主存”层次和“主存-辅存”(Cache,主存储器,辅助存储器),前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储器系统的问题。在存储器体系中Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都能交换信息。
void Lcd_Port_Init(void)
{
rGPCUP=0xffffffff;
rGPCCON=0xaaaaaaaa;
rGPDUP=0xffffffff;
rGPDCON=0xaaaaaaaa;
rGPCCON|=2<<12|2<<14|2<<16;
12.S3C2410A与UAD1341通过I2S总线接口连接,试述音频数据传送过程。
答:处理器通过IIS总线接口,控制音频数据在s3c2410内存与UDA1341TS之间传送。连接在UDA1314TS上的麦克风信号在UDA1314内部经过A/D转换器,转换成二进制数,串行通过DATAO引脚送到S3C2410的IIS模块,在IIS模块中数据转换成并行数据然后使用通常存取方式或DMA存取方式,将并行数据保存的内存中,而内存中要输出的音频数据使用通常存取方式或DMA存取方式,将数据并行传送到IIS模块在IIS中转换成串行数据,串行通过DATAI引脚送到UDA1314TS,在片内经过D/A转换器,变成模拟信号,经过驱动器,驱动扬声器。
{
int i;
U8 key;
U32 mpll_val=0;
int data;
mpll_val = (92<<12)|(1<<4)|(1);
//init FCLK=400M, so change MPLL first
ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
13.简述LCD控制器组成及数据流描述。
LCD控制器包括:REGBBANK,LCDCDMA,TMEGEN,LPC定时控制逻辑单元,VIDPRCS以及VIDEOMUX组成。
当传送请求由总线仲裁器接收时,4个连续的字数据由系统存储器帧缓冲区传送到LCDCDMA内的FIFO。全部FIFO大小为28个字,分别由12个字的FIFOL和16个字的FIFOH组成。使用FIFOL和FIFOH,用来支持双扫描显示模式,在单扫描显示模式,仅有FIFO中一个,即FIFOH能够被使用。
}
程序实现的功能:测试触摸屏
4.汇编语言
ldr r0,=REFRESH
ldr r3,[r0];r3=rREFRESH
mov r1, r3
orr r1, r1, #BIT_SELFREFRESH
str r1, [r0];Enable SDRAM self-refresh使SDRAM自动刷新
mov r1,#16;wait until self-refresh is issued. may not be needed.等待刷新,也可能不需要
14.以下是S3C2410A的串口逻辑方框图,试分析其组成和工作原理。
一个波特率发生器、一个发送器、一个接收器和一个控制单元。波特率发生器使用PCLK或UEXTCLK时钟。发送器和接收器各有一个16字节的FIFO寄存器和移位器。在FIFO方式,要发送的数据先写入FIFO寄存器,然后复制到发送移位器,通过发送数据引脚TxDn移位输出;而接收数据从接收数据引脚RxDn输入并移位,然后从接收移位器复制到FIFO寄存器、
相关文档
最新文档