计算机三级嵌入式系统开发基础测试题及答案_第1页
计算机三级嵌入式系统开发基础测试题及答案_第2页
计算机三级嵌入式系统开发基础测试题及答案_第3页
计算机三级嵌入式系统开发基础测试题及答案_第4页
计算机三级嵌入式系统开发基础测试题及答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

计算机三级嵌入式系统开发基础测试题及答案一、单项选择题(每题1分,共30分)1.在ARMCortexM3内核中,NVIC最多可支持多少个外部中断?A.32  B.64  C.128  D.240答案:D解析:CortexM3的NVIC设计上限为240个外部中断源,编号16~255,0~15为内核系统异常。2.下列哪条ARM指令能够在一条指令内完成“读取修改写回”且保证原子性?A.LDR  B.STR  C.LDREX  D.SWP答案:C解析:LDREX/STREX构成独占访问对,可在多核环境下实现原子读改写;SWP指令在v7架构已被废弃。3.在μC/OSII中,使最高优先级就绪任务立即投入运行的内核函数是:A.OSSched()  B.OSIntExit()  C.OSStart()  D.OSTaskResume()答案:A解析:OSSched()完成调度器解锁并触发任务切换;OSIntExit()仅在中断嵌套计数为零时才尝试调度。4.某嵌入式Linux系统启动参数“console=ttyS0,115200n8”中“n”代表:A.无校验  B.奇校验  C.偶校验  D.固定校验答案:A解析:串口参数格式为“波特率+校验+数据位+停止位”,n即none,无校验。5.在I²C总线协议中,主机发送“重复起始条件”后,从机地址的R/W位为1,则接下来数据流方向为:A.主机发送  B.从机发送  C.双向  D.高阻答案:B解析:R/W=1表示读操作,数据由从机驱动SDA。6.若某STM32F103的APB1总线频率为36MHz,定时器TIM2时钟未分频,则TIM2最大计数频率为:A.36MHz  B.72MHz  C.18MHz  D.9MHz答案:A解析:当APB1分频系数为1时,定时器时钟等于APB1;若分频>1则×2,题干未分频即1分频,故36MHz。7.在CAN2.0B协议中,扩展帧的标识符长度为:A.11位  B.18位  C.29位  D.32位答案:C解析:标准帧11位,扩展帧29位,由11位基址+18位扩展构成。8.下列关于看门狗的说法正确的是:A.独立看门狗一旦启动只能由硬件复位停止B.窗口看门狗在“窗口期”外喂狗一定触发复位C.看门狗复位属于软复位,不会重置寄存器D.独立看门狗时钟源为LSI,精度较高答案:B解析:窗口看门狗禁止过早或过晚喂狗;A项可通过特定序列关闭;C项看门狗复位为系统复位;D项LSI精度约±40%。9.在嵌入式GUI中,使用双缓冲机制主要解决:A.颜色失真  B.闪屏  C.分辨率  D.触控漂移答案:B解析:双缓冲通过后台绘制、整体切换,消除屏幕逐行刷新导致的闪烁。10.若某ADC为12位,参考电压2.5V,则其量化间隔为:A.0.244mV  B.0.610mV  C.0.976mV  D.1.221mV答案:B解析:Q=Vref/2^n=2.5V/4096≈0.610mV。11.在CortexM4的FPU中,浮点运算使用寄存器组为:A.R0~R12  B.S0~S31  C.D0~D15  D.Q0~Q15答案:B解析:单精度浮点使用S0~S31,双精度映射到D0~D15,但M4仅支持单精度。12.关于DMA传输,下列描述错误的是:A.可减轻CPU负载  B.必须关闭中断才能完成配置C.支持循环缓冲  D.可触发中断通知完成答案:B解析:DMA配置期间允许中断,只要保证配置原子性即可,无需关总中断。13.在Bootloader升级过程中,常采用“双镜像”策略,其首要目的是:A.减少代码体积  B.实现差分升级  C.提高升级可靠性  D.加快下载速度答案:C解析:双镜像可在升级失败时回滚,保证系统始终可启动。14.若某任务堆栈采用“向下生长”,则任务切换时SP先:A.递增  B.递减  C.不变  D.复位答案:B解析:向下生长栈,压栈先移动SP再存数据,切换时保存上下文需先减SP。15.在RS485差分电平中,表示逻辑“1”的AB电压差典型值为:A.+1.5V  B.−1.5V  C.0V  D.+5V答案:B解析:485标准:A−B≤−1.5V为逻辑1,≥+1.5V为逻辑0。16.某文件系统使用FAT32,簇大小4KB,则保存1字节文件实际占用磁盘空间:A.1字节  B.512字节  C.4KB  D.8KB答案:C解析:FAT32按簇分配,最小单元4KB。17.在Linux内核编译时,选项“CONFIG_PREEMPT=y”的作用是:A.启用实时补丁  B.支持内核抢占  C.关闭中断嵌套  D.启用MMU答案:B解析:PREEMPT使低优先级内核路径可被打断,缩短实时延迟。18.下列总线中,采用“主从广播+冲突检测”机制的是:A.I²C  B.SPI  C.CAN  D.USB答案:C解析:CAN使用CSMA/CR,硬件仲裁避免冲突。19.在C语言中,将变量定义“volatileuint8_tflag”的作用是:A.提高访问速度  B.禁止编译器优化该变量访问C.强制对齐到字节  D.指示变量为常量答案:B解析:volatile告诉编译器每次都必须从内存读取,防止优化掉关键寄存器。20.若某系统采用8位CRC校验,生成多项式G(x)=x^8+x^2+x+1,则其十六进制掩码为:A.0x07  B.0x31  C.0x1021  D.0x8005答案:B解析:x^8+x^2+x+1对应二进制100000111,即0x107,但CRC8常用0x31(反转后)。21.在CortexM的SysTick定时器中,若时钟源为72MHz,重装载值71999,则中断周期为:A.1ms  B.100μs  C.10μs  D.1μs答案:A解析:(71999+1)/72MHz=1ms。22.关于SPI接口,下列说法正确的是:A.全双工必须四线  B.时钟极性CPOL=1表示空闲低电平C.相位CPHA=0在第二个边沿采样  D.从机无法主动发起传输答案:D解析:SPI从机无片选激活时无法驱动MISO;A项三线半双工也可全双工;B项CPOL=1为高空闲;C项CPHA=0为第一个边沿采样。23.在嵌入式软件中,使用“环形缓冲区”最主要的优势是:A.节省RAM  B.支持随机访问  C.避免数据搬移  D.提高缓存命中率答案:C解析:头尾指针循环推进,无需移动元素。24.若某Linux字符设备注册函数为register_chrdev,则其主设备号动态分配时参数应传入:A.0  B.1  C.−1  D.MKDEV(0,0)答案:A解析:主设备号0请求内核动态分配。25.在ARM汇编中,指令“RSBSR0,R1,0”的作用是:A.R0=R1−0  B.R0=0−R1并更新标志  C.R0=R1+0  D.逻辑左移答案:B解析:RSB为反向减法,RSBS带S更新标志,实现求相反数。26.下列哪种存储器在掉电后仍能保持数据且支持字节读写?A.NORFlash  B.NANDFlash  C.EEPROM  D.SRAM答案:C解析:EEPROM支持电擦字节,掉电保持;NOR需块擦除;SRAM掉电丢失。27.在FreeRTOS中,向队列发送数据阻塞时间参数为portMAX_DELAY表示:A.不等待  B.等待1tick  C.永久等待  D.立即返回答案:C解析:portMAX_DELAY定义为一直阻塞直到成功。28.若某系统采用LittleEndian,则32位数0x12345678在内存中的低字节为:A.0x12  B.0x34  C.0x56  D.0x78答案:D解析:小端低地址存低字节。29.在CortexM3中,执行SVC指令后,处理器进入:A.HardFault  B.NMI  C.SVCall异常  D.PendSV答案:C解析:SVC触发SVCall异常,优先级可编程。30.关于电磁兼容(EMC),下列措施主要降低辐射发射的是:A.增加去耦电容  B.缩短回流路径  C.屏蔽电缆  D.串接磁珠答案:C解析:屏蔽可截断高频辐射路径;其余更侧重传导抑制。二、填空题(每空2分,共20分)31.若某STM32的ADC采样时间设置为239.5个ADC时钟,ADCCLK为12MHz,则单次采样耗时________μs。答案:20解析:239.5+12.5=252周期,252/12MHz=21μs,但STM32固定附加12.5,故(239.5+12.5)/12=21μs,取整约20μs。32.在Linux内核模块中,打印级别KERN_ERR对应的数字为________。答案:3解析:内核日志级别0~7,KERN_ERR为3。33.若某CAN节点位时间为8Tq,其中同步段1Tq,传播段3Tq,相位缓冲段1为3Tq,相位缓冲段2为1Tq,则采样点位于________%处。答案:87.5解析:(1+3+3)/8=7/8=87.5%。34.某任务堆栈大小定义为512字,则ARMCortexM下实际占用RAM________字节。答案:2048解析:字=4字节,512×4=2048。35.在FAT16文件系统中,最大根目录条目数为________。答案:512解析:典型FAT16根目录区固定32扇区×16条目/扇区=512。36.若使用RS232以9600bps发送1字节数据,带1起始、1停止、无校验,则最短耗时________ms。答案:1.04解析:10位/9600≈1.04ms。37.某NANDFlash页大小2KB,块含64页,则块大小为________KB。答案:128解析:2KB×64=128KB。38.在C语言中,结构体对齐指令“__attribute__((packed))”的作用是________。答案:取消编译器自动填充对齐,按字节紧凑排列。39.若SysTick重装载值最大为0xFFFFFF,时钟48MHz,则最大可定时________ms(保留整数)。答案:349解析:(16777215+1)/48M≈0.3495s≈349ms。40.在I²C起始条件后,主机发送的7位从机地址为0x50左移1位,则写操作地址字节为________(十六进制)。答案:0xA0解析:0x50<<1=0xA0,R/W=0。三、判断题(每题1分,共10分,正确打“√”,错误打“×”)41.CortexM0+支持硬件除法指令。答案:×解析:M0/M0+无硬件除法,需软件库。42.Linux内核的udev机制支持热插拔自动创建设备节点。答案:√43.SPI从机模式下,MOSI引脚仍需配置为输出。答案:×解析:从机MOSI为输入。44.在FreeRTOS中,任务优先级号越小表示优先级越高。答案:×解析:数值越大越高。45.NANDFlash相比NORFlash更适合执行XIP代码。答案:×解析:NOR支持XIP,NAND需先加载到RAM。46.使用const关键字定义的变量一定存储于Flash。答案:×解析:由链接脚本决定,仅提示只读。47.在CANopen协议中,COBID等同于CAN标识符。答案:√48.电磁屏蔽材料趋肤深度与频率平方根成反比。答案:√49.在ARM架构中,PC寄存器即R15。答案:√50.将运算放大器用作电压比较器可提高响应速度。答案:×解析:运放非设计为比较器,速度受限且可能振荡。四、简答题(每题6分,共30分)51.简述嵌入式Bootloader实现“双镜像”升级的关键步骤,并给出回滚触发条件。答案:1)划分Flash为A、B两区,各存完整镜像;2)上电读取升级标志位;3)若标志有效,将新镜像下载到非当前区;4)校验CRC/hash;5)更新Bootloader状态为“待切换”;6)重启,Bootloader检查新镜像版本及校验;7)若通过,将启动地址指向新区,并置“已运行”标志;8)启动后应用自检,若失败(如看门狗复位、异常计数超阈值),则清除“已运行”标志,下次Bootloader回滚到旧区。回滚触发:新镜像连续启动失败≥2次或自检报告严重错误。52.说明CortexM4的“LazyStacking”机制如何加速中断响应。答案:M4含FPU,进入中断时若FPU未使用,硬件不立即将S0~S31压栈,仅将最小上下文(R0~R3,R12,LR,PC,xPSR)保存,耗时固定8字;当ISR首次执行浮点指令时才触发“LazyStacking”,真正保存FPU寄存器。若ISR无浮点操作,则省去额外栈操作,缩短中断延迟约17周期。53.对比NORFlash与NANDFlash在嵌入式文件系统中的优劣。答案:NOR:字节随机访问、支持XIP、可靠性高、容量小、价格高、擦除块大(64KB);适合存储代码与常量。NAND:页顺序访问、容量大、价格低、位翻转概率高、需ECC与坏块管理;适合大数据存储如音视频。文件系统:NOR常用JFFS2、LittleFS;NAND用YAFFS、UBIFS。系统选型:代码+小文件选NOR,海量数据选NAND。54.给出在FreeRTOS中防止优先级反转的两种方法并解释原理。答案:1)互斥量继承优先级:当低优先级任务持有互斥量且高优先级任务阻塞时,内核临时提升低优先级至阻塞任务的最高优先级,直到释放互斥量,再恢复原始优先级,减少阻塞时间。2)使用“优先级天花板”:每个资源预设天花板优先级,任务访问资源前将自己的优先级提升到天花板,避免比其低的任务抢占,从而消除反转。两者均确保高优先级任务尽快运行。55.描述使用DMA双缓冲实现连续ADC采样无CPU干预的硬件配置流程。答案:1)配置ADC为连续转换、扫描模式,触发源设为TIMx更新;2)使能DMA流,设置循环模式、双缓冲(DBM=1),指定Memory0/1地址各能存半帧数据;3)设置DMA中断半完成与完成回调;4)启动ADC与DMA;5)当半缓冲中断触发,CPU处理Memory0数据,DMA继续填充Memory1;完成中断时处理Memory1,如此交替,实现无缝采样。五、综合设计题(20分)56.某工业节点需通过CANopen控制伺服驱动器,要求:a)心跳周期100ms,节点ID0x06;b)每50ms发送一次位置指令,使用PDO映射,COBID0x206;c)接收驱动器状态PDO(COBID0x186),含16位状态字与32位实际位置;d)若驱动器报警位(状态字第3位)置1,则LED以2Hz闪烁,同时通过串口上传“Alarm”字符串;e)使用STM32F407+FreeRTOS,给出软件架构图、关键任务划分、CAN过滤器配置、PDO映射表、LED闪烁任务状态机代码(伪代码即可)。答案:1)架构图:主任务(Main)→初始化→创建“CAN_TX_Task”“CAN_RX_Task”“LED_Task”“UART_Task”队列:qPosCmd(存放目标位置)、qStatus(存放驱动器状态)信号量:binSemAlarm(报警同步)2)任务划分:CAN_TX_Task:50ms周期,等待qPosCmd,组装PDO8字节数据,发送0x206CAN_RX_Task:阻塞接收,解析0x186,提取状态与位置,若报警位置位,释放binSemAlarmLED_Task:阻塞bin

温馨提示

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

评论

0/150

提交评论