三级嵌入式系统开发技术-3(总分:100.00,做题时间:90分钟)一、综合题(总题数:4,分数:100.00)1.以下不完整的程序完成的功能是取内存单元0x38000000的值(无符号数),如果该值超过0x80000000,则循环累加队列中的所有元素(由Array2指示),直到遇到结束标志0xAA55为止,结果放在R4,R0指向队列头,使用命令LDR R1,[R0,#2]!来装载,累加结束转到NEXT2;否则把一个含64个带符号的16位数据组成的队列(由Array1指示)求平方和放到R5中。
试填写ARM汇编程序片段中的空白,完善该程序。
AREA MyExCode,CODE,READONLYENTRYCODE32 ;32位ARM模式代码Addr1 ______0x38000000 ; 定义Addr1地址为0x38000000Data1 EQU 0x80000000START LDR R1,=Addr1 ;将内存地址装入寄存器R1中______ ; 取内存数据到R0中CMP R0,#0x80000000______ ; 超过0x80000000转向GOING1MOV R7,#64 ;64个带符号数据,数据个数LDR R0,=Array1 ;取数据队列首地址MOV R5,#0 ;平方和初始化为0NEXT1 ______ ; 取16位的数(半字)到R1且R0←R0+2MUL R6,R1,R1 ;求数据平方放R6中______ ; 求平方和放R5中______ ; 数据个数减1BNE______ ; 64个数据未处理完则继续GOING1 MOV R4,#0 ;累加和初始化为0______ ; 取待累加的数据首地址到R0LOOPM LDR R1,[R0,#2]! ;取待累加的数据放R1中,地址自动更新,R0=R0+2______ ; 判断是不是结束了(特征0xAA55)BEQ NEXT2 ;如果遇到结束标志则转NEXT2ADD R4,R4,R1 ;累加数据到R4中______LOOPM ; 直接返回LOOPM继续累加NEXT2 B STARTAREA BUFDATA,DATA,READWRITE ;定义一个可读/写的数据段BUFDATAArray1 DCW 0x0123,1,4,0x6789,0xof,… ;64个16位有符号数Array2 DCD 0x11 ;若干个32位无符号数,以0为结束DCD 0x22DCD 0x33…DCD 0END ;整个程序结束(分数:30.00)__________________________________________________________________________________________ 正确答案:()解析:EQULDR RO,[R1]LDRH R1,[R0+2]!ADD R5,R5,R6SUB R7,R7,#1NEXT1LDR RO,=Array2CMP R1,#0xAA55B采用S3C2410构成一个嵌入式应用系统,主要用于车辆行车事件记录。
已知重要信息提示部件用I 2 s总线与S3C2410连接,GPS模块采用UART1与S3C2410连接,LCD模块采用与S3C2410兼容的LCD接口连接,操作键盘使用GPF0~GPF7引脚,分别接8个按键F0~F7,RS-232接口连接UART0,行车记录信号采集用模拟量输入接S3C2410的AIN[0]~AIN[7],IC卡读/写器采用I 2 C总线与S3C2410连接,车速传感器接口采用SPI接口与S3C2410连接,如下图所示。
嵌入式应用系统组成图(综合实例用图)(分数:20.00)(1).如果将GPE端口配置为I 2 C、SPI、I 2 S以及支持SD卡,则GPECON的值为______。
(分数:5.00)__________________________________________________________________________________________正确答案:()解析:0xAAAAAAAA(2).UART0采用UEXTCLK作为时钟且UEXTCLK=18.432MHz,如果UBRDIV0=9,则波特率为______。
(分数:5.00)__________________________________________________________________________________________正确答案:()解析:115200bps(3).如果UART0均采用1位停止位,无校验,8位数据,则ULCON0=______。
(分数:5.00)__________________________________________________________________________________________正确答案:()解析:0x03(4).以下程序片段完成后,8个按键采用的读键方式是______。
LDR R0,=GPFCON ;假设已经定义GPFCON地址为0x56000050LDR R1,=0x00STR R1,[R0](分数:5.00)__________________________________________________________________________________________正确答案:()解析:查询方式2.阅读以下程序片段,功能是先初始化UART1为一位停止位,7位数据,奇校验,波特率为9600b/s,当按下F0按键时,通过UART1以查询方式接收数据并存入R7中,当按下F1按键时,通过UART1发送存放在R6中的字符,继续接收UART1数据,当按下F7时返回。
在空白处填写正确的指令或操作数以完成上述功能。
LDR R0,=GPHCON ;假设已经定义GPFCON地址为0x56000070LDRH R1,[R0]AND R1,R1,#0xFAFFORR R1,R1,#0x0A00STRH R1,[R0]LDR R0,=ULCON1______STR R1,[R0]LDR R0,=UBRDIV1 ;已知UCLK=11.0592MHzSTR R1,[R0] ;波特率9600b/sMLOOP LDR R0,=GPFDAT ;指向GPF数据端口LDRB R1,[R0] ;取GPF端口数据TSTS R1,#0x01BEQ RECEIVDTSTS R1,______BEQ SENDDTSTS R1,#0x80BEQ RERUNRECEIVD LDR R0,=UTRSTAT1READLP LDR R1,[R0]______BEQ READLPLDR R0,=URXH1LDRB R7,[R0] ;读接收数据存入R7中B MLOOPSENDD LDR R0,=UTRSTAT1WRITELP LDR R1,[R0]ANDS R1,R1,#0x02BEQ______LDR R0,=UTXH1______ ;发送R6中的数据到UTXH1LDR R0,=UTRSTAT1WRITEWT1 LDR R3,[R0] ;取状态______ ;屏蔽无关位,保留发送缓冲器状态位BEQ WRITEWT1 ;等待发送完B MLOOPRERUN MOV PC,LR(分数:30.00)__________________________________________________________________________________________ 正确答案:()解析:LDR R1,=0x220x02ANDS R1,R1,#0x01或TSTS R1,R1,#1WRITELPSTRB R6,[R0]AND R3,R3,#0x02或TSTS R3,#0x02假设小区中每个住宅单元的门禁子系统由1个门厅控制器和若干个住户终端组成。
本题要求设计一个门厅控制器,其基本功能有:(1)本单元住户可以通过刷IC卡将单元门解锁,解锁10s之后门自动上锁。
(2)访客可以通过按键来呼叫单元内的住户,若住户未响应,30s后自动结束本次呼叫;若住户响应,发送访客的视频图像给住户终端,并进行对话。
(3)住户响应后,若允许进入,住户控制单元门解锁,解锁10s后门自动上锁;若禁止进入,住户控制结束本次呼叫。
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建门厅控制器的硬件平台,并在无操作系统环境下构建其应用软件,请完善下面的叙述(程序)和回答有关的问题。
(分数:20.00)(1).硬件构件设计时,除了需要设计电源电路、时钟电路、复位电路、存储器子系统、键盘及其接口电路、单元门解锁驱动电路、与住户终端的通信接口电路等硬件构件外,还需要设计的硬件构件是:______电路、______电路和IC卡读卡模块等。
(分数:5.00)__________________________________________________________________________________________正确答案:()解析:视频采集电路音频采集及回放电路(2).若单元门解锁驱动电路由GPC0引脚控制,GPC0引脚输出“0”信号时为上锁,GPC0引脚输出“1”信号时为解锁。
GPC0引脚的初始化语句为rGPCCON= ( (rGPCCON | 0x00000001) &OxFFFFFFFD); //rGPCCON是端口C的控制寄存器则上锁控制语句和解锁控制语句分别为rGPCDAT =______ //rGPCDAT是端口C的数据寄存器rGPCDAT =______(分数:5.00)__________________________________________________________________________________________正确答案:()解析:rGPCDAT & 0xFFFErGPCDAT | 0x0001(3).设计门厅控制器的应用程序时,需要设计3个任务函数,分别是:Main_Task() (主任务函数)、Key_Task() (键盘任务函数)、Card_Task() (读卡任务函数)。
应用程序主函数的代码可以编写如下:int main(void){ARMTargetlnit(); //初始化ARM CPU的硬件______; //初始化μC/OS-ⅡOSTaskCreate(Main_Task,(void * )0,(OS_STK * )&Main_Stack[30],5);OSTaskCreate(______,(void * )0,(OS_STK * )&Key_Stack[30],6);OSTaskCreate(Card_Task,(void * )0,(OS_STK * )&Card_Stack[30],7);______; //启动多任务调度return 0;}在上述所生成的3个任务函数中,其中______任务函数的优先级最低。