当前位置:文档之家› 计算机三级嵌入式要点及试题总结

计算机三级嵌入式要点及试题总结

要点嵌入式系统及三要素定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

简单定义:嵌入到对象体系中的专用计算机系统。

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

(1)嵌入性是把软件嵌入到Flash存储器中,(2)专用性是指针对某个具体应用领域和场合,量体裁衣式的定制适用该场合的专用系统,(3)计算机系统是指必须具有计算机系统的组成,核心是计算机系统。

三个要素决定了嵌入式系统是嵌入到对象体系中的一种专用的计算机系统。

嵌入式系统設計与开发原则与步驟1.設計与开发原則既然嵌入式系统是嵌入到对象体系中的专用的计算机系统,因此嵌入式系统设计的基本原则:物尽其用。

这一原则表明,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,以最小成本实现更高的性能,同时尽可能采用高效率的设计算法,以提高系统的整体性能,换句话说同,“物尽其用”就是“够用就好”,以最高性价比来设计嵌入式应用系统。

2、设计与开发步骤嵌入式系统的设计步骤包括需求分析、体系结构设计、硬件设计,软件设计,执行机构设计、系统集成和系统测试。

各个阶段之间往往要求不断的修改,直至完成最终设计目标。

ARM存储模式关于存储模式:大端模式和小端模式,靠GPE8(ENDIAN)高低电平决定,高电平大端模式,低电平小端模式。

让GPE8工作于功能1模式控制。

掌握大小端模式存储结构。

已知一个32位的一个字0x87654321,存放在内存0x12000004~0x12000007中,指出对于大端模式和小端模式下,字节0x65存放的地址。

ARM指令流水线关于指令流水线:ARM采用指令流水线技术。

不同内核指令流水线的级数不同。

采用指令流水线的作用是提高指令执行效率。

有3、5、6、7、8级不等。

对于一个具有1条8级指令流水线的ARM处理器,假设每1级所需要的时间为1ns,求这种ARM处理器执行4000条指令最快所需要的时间。

如果有两条这样的指令流水线那?ARM常用指令MOVMNVLDR、LDRB、LDRHSTRORRANDB 注意条件域ARM伪指令 LDRADDMULCMPTSTB BCC BHI BEQ BCS BLS BGE BLT BGT BLEARM指令条件域ARM芯片选型基本方法:根据需求,对照ARM芯片的技术要点去按照够用就好,略有余量的基本原则来选择。

S3C44B0的端口組件及应用多功能GPIO的配置方法:1、端口配置寄存器PCONA~PCONG决定A~G端口的功能2、端口数据寄存器PDATA~PDATG端口A~G的数据,可输入输出3、上拉电阻寄存器PUPC~PUPG决定C~G端口是否内部上拉4、特殊上拉电阻寄存器SPUPR决定数据总线是否上拉S3C44B0的UART开发应用对于S3C44B0,已知MCLK=60MHz,阅读程序回答问题:ARM汇编语言如下,试说明完成的功能。

LDR R0,=rPCONALDR R1,=0x3FFSTR R1,[R0] ;A口功能2LDR R0,=rPCONBLDR R1,=0x7FFSTR R1,[R0] ;B口功能2LDR R0,=rPCONDMOV R1,=0x0055STR R1,[R0] ;D口中GPD7~GPD4输入,GPD3~GPD0输出LDR R0,=rPCONFLDR R1,=0x120000STR R1,[R0] ;GPF6,7为UART1RXD和TXD,其余GPF为输出LDR R0,=rPCONGMOV R1,#0xFFFFSTR R1,[R0] ;F口为外部中断解答:具体功能见注释!S3C44B0的UART組件及开发應用常用UART寄存器1、UART线路控制寄存器ULCON0和ULCON1决定字符格式(数据位数、停止位、奇偶校验位,红外和正常模式)2、UART控制寄存器UCON0和UCON1决定中断类型、发送和接收触发方式、接收和发送中断允许等)3、UART发送接收状态寄存器UTRSTAT0和UTRSTAT1反映接收和发送状态4、 UART发送接收数据寄存器UTXH0和UTXH1保持发送和接收的数据5、UART波特率发生器决定通信波特率UBRDIVn =INT(MCLK/(波特率×16)+0.5)-1S3C44B0的UART开发应用利用S3C44B0进行串行通信,已知MCLK=60MHz,阅读程序回答问题:LDR R0,=rPCONEORR R1,R0,#0x28 00 10 10 00STR R1,[R0];写PCONE使GPE1GPE2为TXD0和RXD0用于串行通信功能LDR R0,rUFCON0MOV R1,#0STR R1,[R0] ;UFCON0=0禁止FIFOLDR R0,rULCON0ORR R1,#0x23 ;00100011STR R1,[R0] ;字符格式为:8位数据,1位停止位,奇校验LDR R0,=rUCON0ORR R1,R0,#0xC1STR R1,[R0] ;写UART0控制寄存器使允许接收中断正常接收发送LDR R0,=rUBRDIV0LDR R1,=325STR R1,[R0] ;设定波特率为11520BPS1、说明本程序完成的功能2、串行通信波特率是多少?3、对程序进行注释解答:1、本程序段完成的是对UART0进行初始化,使用GPE1和GPE2用于UART0的TXD0和RXD0进行串行通信,通信字符格式为8位数据,1位停止位,奇校验,禁止FIFO,允许接收中断,正常接收和发送。

2、串行通信波特率根据UBRDIV0=[MCLK/(波特率×16)-0.5]怪整数所以:波特率=MCLK/((UBRDIV0+0.5)*16)=60000000/(325.5*16)=11520bpsS3C44B0的PWM組件及开发应用常用PWM寄存器1、定时器配置寄存器TCFG0决定输入给定时器的时钟频率的预分频系数2、定时器配置寄存器TCFG1决定输入给定时器的时钟频率的除数值3、定时器控制寄存器TCON决定定时器是否自动重装、是否开始定时停止定时,是否输出反转,是否允许死区控制等。

4、定时器计数寄存器TCNTB0~TCNTB5和比较寄存器TCMPB0~TCMPB5S3C44B0的PWM开发应用用PWM的TOUT1和TOUT2分别控制两个指示灯LED1和LED2,要求TOUT1=1时LED1亮,TOUT2=1时LED2亮,编程让LED1以0.5秒闪亮(即0.5秒亮,0.5秒灭,循环),LED2以2秒闪亮。

T1/T2定时器指定预分频系数199,除法器值16,MCLK=60MHz。

解答:LED1闪亮0.5秒:T1设置0.5S定时且反转;LED2闪亮:T2设置2S定时且反转配置寄存器TCFG0=0xC7C7 (T1和T2为199=0xC7预分频)配置寄存器TCFG1=0x330 (T1和 T2除法器值为16)定时器输入时钟频率=MCLK/(预分频值+1)/(除法器值)=60000000/(199+1)/16=18750Hz定时0.5秒,T1计数缓冲寄存器TCNTB1的值=0.5×18750=9375定时2秒,T2计数缓冲寄存器TCNTB2的值=2×18750=37500LDR R0,rTCFG0MOV R1,#0xC7C7 或LDR R1,=0xC7C7STR R1,[R0] ;写TCFG0,分频系数为199=0xC7LDR R0,=rTCFG1LDR R1,=0x330STR R1,[R0] ;写TCFG1,除法器值16LDR R0,=rTCNTB1LDR R1,=9375STR R1,[R0] ;写TCNTB1LDR R0,=rTCNTB2LDR R1,=37500STR R1,[R0] ;写TCNTB2LDR R0,=rTCON ;ORR R1,R0, #0xDD00 ;T1和T2自动重装/反转、启动定时器STR R1,[R0] ;写TCONS3C44B0的WDT組件及开发應用常用WDT寄存器1、WDT控制寄存器WTCON决定是否允许复位、是否允许中断以及决定预分频系数和时钟因子2、WDT数据寄存器WTDAT和计数寄存器WTCNT3、WDT定时输入时间:T_WDT=1/(MCLK/预分频系数+1)/分频系数4、WDT复位时间:T_RST=WTCNT×T_WDTS3C44B0的WDT开发應用如果MCLK=40 MHz,采用预分频值为99,分频系数为64,要使WDT的定时时间为10秒,允许复位,禁止中断,写出WDT初始化程序片段。

解答:t_watchdog = 1/( MCLK / (预分频值+1) /分频系数 )= 1/(40000000/100/64)= 160us溢出时间t = WTCNT*t_watchdog=10S= WTCNT*160us=10000000usWTCNT=62500LDR R0,rWTCONLDR R1,=0xF939STR R1,[R0];写WDT控制寄存器使禁止中断,允许复位,预分频系数99,分频系数64LDR R0,rWTCNTLDR R1,=62500STR R1,[R0] ;写WDT计数寄存器使计数值为62500,定时10秒S3C44B0的ADC組件及开发应用常用ADC寄存器1、ADC控制寄存器ADCCON决定是否允许启动、选择ADC通道、反映ADC转换状态2、ADC预分频寄存器ADCPSR决定预分频系数3、ADC转换时间:TADC=2×(ADCSPR的值+1)×16/MCLK4、ADC数据寄存器寄存转换后的10位数字量5、对ADC操作三要素:(1)选择通道并启动AD变换(2)查询状态(是否转换结束)(3)读取转换结果S3C44B0的ADC开发应用如果MCLK=64MHz1、让ADC转换时间为10uS,写出程序片段解答:ADC转换时间:TADC=2×(ADCSPR的值+1)×16/MCLK ADCPSR=10/32*64-1=19主要是写ADCPSR寄存器,写寄存器三条指令:LDR R0,=rADCPSRMOV R1,#19STR R1,[R0]解答续:CMP R2,#30BCC LPSET0CMP R2,#90BHI LPSETFFMOV R3,R2B LPGOLPSET0:MOV R3,#0B LPGOLPSETF:MOV R3,#0xFFFFFFFFLPGO: B START真题1.选择题1.以下哪个不是嵌入式系统的设计的三个阶段之一:(A)A 分析B 设计C 实现D 测试2.以下哪个不是RISC架构的ARM微处理器的一般特点:(C )A 体积小、低功耗B 大量使用寄存器C采用可变长度的指令格式,灵活高效D 寻址方式灵活简3.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的( A )格式的可执行代码。

相关主题