计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)_第1页
计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)_第2页
计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)_第3页
计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)_第4页
计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机三级(嵌入式系统开发技术)机试模拟试卷(含答案解析)一、选择题(每题1分,共30分。每题只有一个正确答案,错选、多选、未选均不得分)1.在CortexM3内核中,NVIC最多可支持多少个外部中断通道?A.32  B.64  C.240  D.1024答案:C解析:CortexM3的NVIC(NestedVectoredInterruptController)设计上限为240个外部中断源,编号16~255,0~15为系统异常。2.某MCU的SysTick时钟源为内核时钟FCLK=72MHz,重装载值设为71999,则SysTick中断周期为:A.0.5ms  B.1ms  C.1.001ms  D.1.024ms答案:B解析:SysTick为24位递减计数器,计数到0触发中断。周期=(71999+1)/72MHz=1ms。3.在μC/OSIII中,优先级数值越小表示:A.优先级越低  B.优先级越高  C.与优先级无关  D.由配置决定答案:B解析:μC/OSIII沿用“数值小=优先级高”的约定,0为最高优先级,优先级号即数组下标。4.下列哪条ARM指令可实现“将R0寄存器bit7置1,其余位不变”?A.ORRR0,R0,0x80  B.ANDR0,R0,0x80  C.EORR0,R0,0x80  D.BICR0,R0,0x80答案:A解析:ORR为按位或,0x80仅bit7为1,可实现置位;BIC为位清除;EOR为位翻转;AND为位与。5.在I²C总线中,重复起始条件(Sr)与停止条件(P)的区别在于:A.Sr后总线仍被主控占用  B.Sr后需重新发送从机地址  C.Sr电平跳变方向相反  D.Sr只能由主机发送答案:A解析:Sr不释放总线,允许主机在不放弃总线的情况下发起新传输;P会释放总线。6.若某SPI外设时钟极性CPOL=1,时钟相位CPHA=1,则数据采样发生在:A.第一个上升沿  B.第一个下降沿  C.第二个上升沿  D.第二个下降沿答案:D解析:CPOL=1空闲为高电平,CPHA=1在第二个边沿采样,即第二个下降沿。7.在CAN2.0B协议中,扩展帧的标识符长度为:A.11bit  B.18bit  C.29bit  D.32bit答案:C解析:标准帧11bit,扩展帧在标准帧基础上增加18bit,共29bit。8.使用DMA双缓冲模式时,下列说法正确的是:A.两个缓冲区必须位于同一SRAM页  B.传输完成中断仅产生一次  C.硬件自动切换目标指针  D.需手动重新配置NDTR寄存器答案:C解析:双缓冲模式下,DMA_SxCR的CT位由硬件翻转,自动切换存储器指针,无需CPU干预。9.在FreeRTOS中,向已满的队列发送数据,若xTicksToWait=portMAX_DELAY,则任务:A.立即返回errQUEUE_FULL  B.阻塞直到队列有空闲位置  C.触发任务切换但不阻塞  D.进入挂起态答案:B解析:portMAX_DELAY表示无限等待,任务进入阻塞态,直到队列出现空闲位置或收到信号。10.某ADC的参考电压VREF+=2.5V,输入Vin=1.0V,12位右对齐,则转换结果约为:A.819  B.1365  C.1638  D.2048答案:C解析:结果=(Vin/VREF+)×4095=(1.0/2.5)×4095≈1638。11.在CortexM4的FPU中,浮点运算指令默认采用的舍入模式是:A.向零舍入  B.就近舍入(偶数)  C.向正无穷舍入  D.向负无穷舍入答案:B解析:FPU控制寄存器FPCCR默认RM=00,即“roundtonearest,tiestoeven”。12.关于看门狗窗口模式,下列说法错误的是:A.过早喂狗会触发复位  B.过晚喂狗会触发复位  C.窗口下限可设为0  D.窗口上限可设为最大值0xFFF答案:C解析:窗口下限必须大于0,否则无法区分“过早”与“允许”区间。13.在TrustZoneM安全扩展中,非安全代码调用安全函数需通过:A.SG指令  B.BL指令  C.SVC指令  D.BXNS指令答案:A解析:SG(SecureGateway)指令位于安全入口,完成安全状态切换。14.某Flash页大小为2KB,擦除时间为20ms,编程时间为40μs/字,若写入1KB数据,则总耗时约为:A.20ms  B.20.5ms  C.40ms  D.60ms答案:B解析:需先擦除整页20ms,再编程1KB/4=256字,256×40μs=10.24ms,合计≈20.5ms。15.在RS485差分总线上,若终端电阻RT=120Ω,双绞线特性阻抗Z0=100Ω,则反射系数约为:A.0  B.0.09  C.0.5  D.1答案:B解析:Γ=(RTZ0)/(RT+Z0)=(120100)/(120+100)≈0.09。16.在Linux设备树中,用于声明“中断父控制器”的属性是:A.interruptparent  B.interrupts  C.interruptcontroller  D.interruptcells答案:A解析:interruptparent指定phandle,指向中断控制器节点。17.某实时系统采用RM调度,任务集{T1=(3,1),T2=(5,2)},其中(C,T),则系统可调度性判定:A.利用率0.73,可调度  B.利用率0.73,不可调度  C.利用率0.83,可调度  D.需用响应时间分析答案:A解析:U=1/3+2/5=0.733<0.828(RM界限2(2^(1/2)1)),理论可调度;响应时间分析亦成立。18.在BLE5.0中,物理层编码方案LECoded的码率R=:A.1/2  B.2/3  C.3/4  D.1/8答案:D解析:LECoded采用卷积编码+重复,最终码率1/8,提升接收灵敏度。19.在Yocto项目中,用于生成SDK安装脚本的命令是:A.bitbakecoreimageminimal  B.bitbakecpopulate_sdk<image>  C.bitbakemetatoolchain  D.bitbakeccleansstate答案:B解析:populate_sdk任务会打包交叉工具链、库、头文件,生成.sh安装器。20.当CortexM7的ICache开启、DCache关闭时,自修改代码需:A.仅清空ICache  B.仅清空DCache  C.先清DCache再清ICache  D.无需处理答案:C解析:指令流通过DCache写入存储器,必须先清/写回DCache,再失效ICache,保证一致性。21.在MQTT3.1.1中,QoS等级1的消息流程包含几次报文交互?A.1  B.2  C.3  D.4答案:B解析:QoS1为“至少一次”,PUBLISH→PUBACK,共2报文。22.某传感器输出数据率ODR=800Hz,MCU进入Stop模式仅由RTC唤醒,唤醒周期125ms,则最低平均功耗取决于:A.唤醒后采样时长  B.Stop模式电流  C.RTC功耗  D.以上全部答案:D解析:平均功耗=(唤醒功耗×时长+Stop功耗×(125ms时长))/125ms,RTC静态电流亦计入。23.在UBoot中,设置bootargs环境变量时,用于指定根文件系统类型的参数是:A.root=  B.rootfstype=  C.rw  D.init=答案:B解析:rootfstype=ext4/jffs2等告诉内核根文件系统驱动。24.当使用GCC编译CortexR5裸机程序时,指定浮点单元的选项应为:A.mfpu=fpv5d16  B.mfpu=vfpv3d16  C.mfpu=neon  D.mfloatabi=hard答案:B解析:CortexR5集成VFPv3,双精度16组寄存器,选项B正确;A为M7,C为A系列。25.在FPGA软核AXI总线中,AWCACHE=0b0011表示:A.设备非缓冲  B.写通、无分配  C.写回、读分配  D.写回、读写分配答案:B解析:AX4编码0011=WT,Noallocate,用于外设可合并写。26.在Linux内核模块中,使用kmalloc(size,GFP_KERNEL)分配256KB内存,最可能返回:A.连续物理高端内存  B.连续物理低端内存  C.虚拟连续物理离散内存  D.NULL答案:D解析:kmalloc最大连续空间受限于MAX_ORDER,256KB在多数配置>128KB上限,返回NULL。27.在RISCVRV32IM架构中,乘法指令mulh计算:A.低32位乘积  B.高32位有符号乘积  C.高32位无符号乘积  D.低32位无符号乘积答案:B解析:mulh为multiplyhighsigned,返回64位有符号积的高32位。28.当使用JTAG调试时,IR寄存器长度为5bit,则BYPASS指令二进制为:A.11111  B.00001  C.00000  D.10000答案:A解析:IEEE1149.1规定全1为BYPASS,全0为EXTEST。29.在ZephyrRTOS中,设备驱动模型中用于声明设备实例的宏是:A.DEVICE_INIT  B.SYS_INIT  C.K_THREAD_DEFINE  D.DT_INST_FOREACH答案:A解析:DEVICE_INIT或其变体在编译期生成structdevice,并放入devlist段。30.当USBFS设备以中断方式每1ms发送64B数据,理论最大带宽为:A.64kbps  B.512kbps  C.1Mbps  D.12Mbps答案:B解析:64B/1ms=64kB/s=512kbps,FS帧率1kHz。二、填空题(每空2分,共20分)31.若CortexM0+的向量表起始地址为0x00000000,则HardFault异常入口地址为______。答案:0x0000000C解析:异常号3,偏移=3×4=12=0xC。32.某定时器计数频率1MHz,PWM模式输出1kHz、占空比37%,则捕获比较寄存器CCR=______。答案:370解析:周期=1000,占空比37%,CCR=1000×0.37=370。33.在LittleFS文件系统中,用于原子更新的机制称为______。答案:COW(CopyonWrite)解析:LittleFS采用日志结构+COW保证断电安全。34.若某I²C从机地址为0x3C,左移一位并写入方向位后,写地址字节为______(十六进制)。答案:0x78解析:0x3C<<1=0x78,最低位0表示写。35.在ARM汇编中,指令“LDMIAR0!,{R1R3}”执行后,R0的值增加______字节。答案:12解析:加载3个字,每字4字节,共12字节,写回R0。36.某BLE广播通道索引为39,对应的射频频率为______MHz。答案:2480解析:通道37/38/39对应2402/2426/2480MHz。37.当使用DMA循环模式传输1024点16位音频样本,源地址增量需设置为______。答案:INCR_HALFWORD(或等效2)解析:每个样本2字节,地址按半字递增。38.在UBoot的bootm命令中,内核镜像需添加的头部信息结构称为______。答案:image_header(或legacyuImageheader)解析:mkimage工具生成64字节头部,含魔数、加载地址、入口等。39.若某RC低通滤波器R=10kΩ,C=0.1μF,则3dB截止频率为______Hz。答案:159解析:f=1/(2πRC)=1/(2π×10k×0.1μ)=159Hz。40.在Linuxsysfs中,GPIO编号导出需写入的文件路径为______。答案:/sys/class/gpio/export解析:echo23>export将创建gpio23节点。三、程序阅读与改错(共20分)41.阅读下列STM32HAL库代码片段,指出至少3处错误并给出修正。(每处4分)```c/目标:使用DMA将ADC1的常规组转换结果搬运到用户缓冲区,半完成与完成回调中计算平均值/uint16_tadcBuf[256];volatileuint32_tavgHalf,avgFull;voidMX_ADC1_Init(void){ADC_ChannelConfTypeDefsConfig={0};hadc1.Instance=ADC1;hadc1.Init.Resolution=ADC_RESOLUTION_12B;hadc1.Init.ScanConvMode=DISABLE;hadc1.Init.ContinuousConvMode=ENABLE;hadc1.Init.DMAContinuousRequests=ENABLE;hadc1.Init.EOCSelection=ADC_EOC_SEQ_CONV;HAL_ADC_Init(&hadc1);sConfig.Channel=ADC_CHANNEL_0;sConfig.Rank=1;sConfig.SamplingTime=ADC_SAMPLETIME_3CYCLES;/错误1/HAL_ADC_ConfigChannel(&hadc1,&sConfig);}voidMX_DMA_Init(void){__HAL_RCC_DMA2_CLK_ENABLE();hdma_adc1.Instance=DMA2_Stream0;hdma_adc1.Init.Channel=DMA_CHANNEL_0;hdma_adc1.Init.Direction=DMA_PERIPH_TO_MEMORY;hdma_adc1.Init.PeriphInc=DMA_PINC_ENABLE;/错误2/hdma_adc1.Init.MemInc=DMA_MINC_ENABLE;hdma_adc1.Init.Mode=DMA_NORMAL;/错误3/HAL_DMA_Init(&hdma_adc1);__HAL_LINKDMA(&hadc1,DMA_Handle,hdma_adc1);}voidHAL_ADC_ConvCpltCallback(ADC_HandleTypeDefhadc){if(hadc>Instance==ADC1){uint32_tsum=0;for(inti=0;i<256;++i)sum+=adcBuf[i];avgFull=sum/256;}}intmain(void){HAL_Init();MX_DMA_Init();MX_ADC1_Init();HAL_ADC_Start_DMA(&hadc1,(uint32_t)adcBuf,256);while(1);}```答案与解析:错误1:采样时间3周期过短,ADC时钟若≥30MHz,采样电容未充分充电,导致结果不准。建议≥15周期。错误2:PeriphInc使能导致DMA每传一次增加外设地址,ADC1_DR地址应固定。修正:DMA_PINC_DISABLE。错误3:Mode设为NORMAL,传输一次后DMA停止,无法循环采集。应改为DMA_CIRCULAR。附加隐患:未启用ADC校准,建议加入HAL_ADCEx_Calibration_Start(&hadc1,ADC_SINGLE_ENDED)。四、设计题(共30分)42.某工业节点需通过CAN总线接收远程帧请求,回传8字节温度数据。MCU为STM32F407,外设CAN1,波特率500kbps,时钟APB1=42MHz。请完成:(1)计算CAN位时间参数,给出BS1、BS2、Prescaler值,满足采样点87.5%。(6分)(2)编写CAN初始化及回传函数,使用HAL库,回传数据为全局数组txData[8],中断方式发送。(12分)(3)若要求总线利用率<30%,计算每秒最多可回传多少帧(数据帧+远程帧)。(4分)(4)说明如何在不增加CPU负担前提下实现温度数据双缓冲更新。(8分)答案:(1)位时间=1/500k=2μs。设Prescaler=6,则tq=(6/42M)=0.1428μs,2μs/0.1428≈14tq。取BS1=11tq,BS2=2tq,采样点=(1+11)/14=85.7%,接近87.5%且满足硬件约束。(2)代码如下:```cCAN_HandleTypeDefhcan1;uint8_ttxData[8];uint8_ttxMailbox;voidMX_CAN1_Init(void){hcan1.Instance=CAN1;hcan1.Init.Prescaler=6;hcan1.Init.Mode=CAN_MODE_NORMAL;hcan1.Init.SyncJumpWidth=CAN_SJW_1TQ;hcan1.Init.TimeSeg1=CAN_BS1_11TQ;hcan1.Init.TimeSeg2=CAN_BS2_2TQ;hcan1.Init.TimeTriggeredMode=DISABLE;hcan1.Init.AutoBusOff=ENABLE;hcan1.Init.AutoWakeUp=DISABLE;hcan1.Init.AutoRetransmission=ENABLE;hcan1.Init.ReceiveFifoLocked=DISABLE;hcan1.Init.TransmitFifoPriority=DISABLE;HAL_CAN_Init(&hcan1);CAN_FilterTypeDefsFilterConfig={0};sFilterConfig.FilterBank=0;sFilterConfig.FilterMode=CAN_FILTERMODE_IDMASK;sFilterConfig.FilterScale=CAN_FILTERSCALE_32BIT;sFilterConfig.FilterIdHigh=0x0000;sFilterConfig.FilterMaskIdHigh=0x0000;sFilterConfig.FilterFIFOAssignment=CAN_RX_FIFO0;sFilterConfig.FilterActivation=ENABLE;HAL_CAN_ConfigFilter(&hcan1,&sFilterConfig);HAL_CAN_Start(&hcan1);HAL_CAN_ActivateNotification(&hcan1,CAN_IT_RX_FIFO0_MSG_PENDING);}voidHAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDefhcan){CAN_RxHeaderTypeDefrxHeader;uint8_trxData[8];HAL_CAN_GetRxMessage(hcan,CAN_RX_FIFO0,&rxHeader,rxData);if(rxHeader.RTR==CAN_RTR_REMOTE)/远程帧/{CAN_TxHeaderTypeDeftxHeader={0};txHeader.StdId=rxHeader.StdId;txHeader.IDE=CAN_ID_STD;txHeader.RTR=CAN_RTR_DATA;txHeader.DLC=8;txHeader.TransmitGlobalTime=DIS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论