2026年软考中级嵌入式系统设计师测试题及答案_第1页
2026年软考中级嵌入式系统设计师测试题及答案_第2页
2026年软考中级嵌入式系统设计师测试题及答案_第3页
2026年软考中级嵌入式系统设计师测试题及答案_第4页
2026年软考中级嵌入式系统设计师测试题及答案_第5页
已阅读5页,还剩45页未读, 继续免费阅读

下载本文档

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

文档简介

2026年软考中级嵌入式系统设计师测试题及答案上午综合知识试题(共75道单选题,每题1分,满分75分)1.某RISC-V架构32位嵌入式处理器采用按字节编址规则,指令字长为32位,流水线执行阶段分为取指、译码、执行、访存、写回5个阶段,每个阶段的时钟周期为1ns,无流水线阻塞的情况下连续执行100条指令的总耗时为()。A.100nsB.104nsC.500nsD.520ns2.以下关于嵌入式系统Cache写策略的描述中,属于写直达(WriteThrough)特性的是()。A.写命中时仅修改Cache内容,不立即写入主存B.写命中时同时修改Cache内容和对应主存地址内容C.写缺失时直接将数据写入主存,不加载到CacheD.仅当Cache块被替换时才将修改内容同步到主存3.ARMCortex-M4处理器的异常向量表默认存储在片内Flash的首地址区域,其中偏移0x00000004地址存储的是()。A.主栈指针初始值B.复位异常服务函数入口地址C.不可屏蔽中断入口地址D.硬fault异常入口地址4.某12位逐次逼近型ADC的满量程输入电压为0~5V,忽略偏移误差和增益误差的情况下,该ADC的固有量化误差为()。A.±0.61mVB.±1.22mVC.±2.44mVD.±4.88mV5.以下嵌入式处理器架构中,属于开源指令集的是()。A.ARMv8-MB.RISC-VRV32IMCC.PowerPCe200D.MIPS32r26.某嵌入式系统的NORFlash存储单元按字节编址,容量为16MB,该Flash的地址总线宽度至少为()位。A.22B.24C.26D.287.以下关于DRAM和SRAM的描述中,错误的是()。A.SRAM的读写速度比DRAM快B.DRAM需要定期刷新才能保存数据C.SRAM的集成度比DRAM高D.DRAM的单位容量成本比SRAM低8.32位嵌入式处理器的中断响应流程中,第一步操作通常是()。A.保存程序计数器和程序状态字到栈B.跳转到对应中断服务函数入口C.清除中断标志位D.开中断允许嵌套响应9.某嵌入式系统采用115200波特率的UART通信,数据位8位、停止位1位、无校验位,该接口每秒最多能传输()字节有效数据。A.11520B.12800C.14400D.11520010.以下通信接口中,属于全双工同步通信的是()。A.I2CB.UARTC.SPID.CAN11.以下调度算法中,最适合硬实时嵌入式系统的是()。A.先来先服务调度B.时间片轮转调度C.最早截止时间优先(EDF)调度D.静态优先级非抢占调度12.FreeRTOS操作系统中,用于实现任务间互斥访问共享资源的内核对象是()。A.互斥信号量B.二值信号量C.消息队列D.事件组13.嵌入式Linux的设备树(DeviceTree)的核心作用是()。A.存储用户配置参数B.描述硬件资源信息,减少内核板级冗余代码C.实现设备驱动的动态加载D.加快内核启动速度14.以下关于嵌入式实时操作系统的可裁剪性的描述中,错误的是()。A.可根据需求裁剪不需要的内核模块,减小系统体积B.裁剪时需要删除内核中不相关的功能代码C.裁剪后系统的响应延迟会增大D.可裁剪性是嵌入式实时操作系统的核心特性之一15.uC/OS-III操作系统中,任务控制块(TCB)不包含的信息是()。A.任务栈指针B.任务优先级C.任务的代码执行段地址D.任务的等待事件列表16.嵌入式Linux中,以下哪个文件系统最适合用于NANDFlash存储设备()。A.EXT4B.YAFFS2C.FAT32D.NTFS17.以下关于RT-Thread操作系统的描述中,错误的是()。A.是国产开源实时操作系统B.支持微内核和宏内核两种架构C.仅支持ARM架构处理器D.自带丰富的组件和驱动框架18.硬实时操作系统的中断延迟是指()。A.从中断触发到中断服务函数开始执行的时间B.从中断触发到中断服务函数执行完成的时间C.从开中断到中断触发的时间D.从中断服务函数执行完成到返回被中断任务的时间19.嵌入式操作系统的内存管理中,MMU的作用不包括()。A.实现虚拟地址到物理地址的映射B.实现内存访问权限控制C.提高内存的读写速度D.隔离不同进程的地址空间20.以下哪个属于实时操作系统的调度器开销()。A.任务上下文切换的时间B.任务执行的时间C.中断服务函数执行的时间D.外设数据传输的时间21.在32位ARM处理器下,默认4字节对齐规则,以下结构体的占用内存大小为()。```cstructSensorData{charsensor_id;intsample_value;shorttimestamp;};```A.7字节B.8字节C.12字节D.16字节22.嵌入式C语言编程中,关键字volatile的作用是()。A.声明变量为只读类型B.告诉编译器该变量可能被意外修改,禁止优化C.声明变量存储在寄存器中D.声明变量存储在Flash中23.以下关于交叉编译的描述中,正确的是()。A.在目标机上编译宿主机运行的程序B.在宿主机上编译目标机运行的程序C.交叉编译生成的程序可以在任意架构的处理器上运行D.交叉编译的效率比本地编译高24.嵌入式软件的编译优化级别中,哪个级别是无优化,适合调试阶段使用()。A.O0B.O1C.O2D.Os25.以下C语言代码片段中,存在的问题是()。```cint*get_sample_value(){intval=adc_get_sample();return&val;}```A.变量val未初始化B.返回了栈内存的地址,会出现野指针问题C.函数返回值类型错误D.没有对adc_get_sample的返回值做校验26.以下哪种嵌入式软件测试方法属于动态测试()。A.代码走查B.静态代码分析C.单元测试D.代码评审27.嵌入式软件的白盒测试是指()。A.不考虑软件内部结构,仅测试功能是否符合需求B.基于软件内部逻辑结构,测试代码分支和路径是否正确C.测试软件的性能是否符合要求D.测试软件的兼容性28.以下哪种编程语言最适合用于嵌入式系统的底层驱动开发()。A.PythonB.C语言C.JavaD.C#29.嵌入式软件的栈溢出问题可能导致的后果不包括()。A.程序崩溃B.恶意代码执行C.变量值被意外篡改D.内存泄漏30.MISRAC是嵌入式C语言编程的安全规范,以下不属于MISRAC要求的是()。A.禁止使用goto语句B.禁止使用未初始化的变量C.禁止使用动态内存分配D.禁止使用位操作31.I2C总线的通信速率为100kbps时,总线上最多可以挂载的从设备数量取决于()。A.总线的负载电容B.主设备的驱动能力C.从设备的地址数量D.总线的上拉电阻阻值32.CAN总线的显性电平的差分电压为()。A.0VB.1VC.2VD.5V33.以下关于SPI总线的描述中,错误的是()。A.采用主从架构,一个主设备可以挂载多个从设备B.支持全双工通信C.包含SCLK、MOSI、MISO、CS四根信号线D.支持多主竞争机制34.车规级以太网100BASE-T1的物理层传输介质为()。A.单根双绞线B.两对双绞线C.同轴电缆D.光纤35.RS485总线的最大传输距离在速率为9600bps时可以达到()。A.10mB.100mC.1000mD.10000m36.以下关于LoRa通信的描述中,错误的是()。A.属于低功耗广域网通信技术B.传输距离可达数公里C.适合高速率数据传输场景D.采用扩频调制技术37.MQTT协议的QoS等级中,支持消息恰好一次送达的是()。A.QoS0B.QoS1C.QoS2D.QoS338.以下工业以太网协议中,属于实时以太网的是()。A.PROFINETB.HTTPC.FTPD.TCP39.IPv6的链路本地地址的前缀为()。A.fe80::/10B.fc00::/7C.2001::/16D.ff00::/840.以下关于CANFD协议的描述中,错误的是()。A.是传统CAN协议的升级版本B.最大数据段长度为64字节C.最高通信速率可达8MbpsD.不兼容传统CAN节点41.嵌入式系统的平均无故障时间(MTBF)是指()。A.系统两次故障之间的平均工作时间B.系统从故障发生到修复完成的平均时间C.系统的总使用寿命D.系统的故障发生率42.ISO26262汽车功能安全标准中,最高的安全等级是()。A.ASILAB.ASILBC.ASILDD.QM43.以下哪种容错技术属于硬件冗余()。A.双机热备B.校验和校验C.看门狗监控D.代码冗余44.可信执行环境(TEE)的核心作用是()。A.提高系统的运行速度B.隔离敏感数据和普通应用,保障数据安全C.降低系统的功耗D.实现多任务并行执行45.嵌入式系统的看门狗的作用是()。A.监控系统运行状态,出现程序跑飞时自动复位B.监控外设的通信状态C.实现系统的定时功能D.监控电源电压46.以下哪种安全算法属于非对称加密算法()。A.AESB.RSAC.DESD.SM447.嵌入式系统的电磁兼容性(EMC)测试不包括()。A.电磁辐射测试B.静电放电测试C.浪涌冲击测试D.功耗测试48.航天级嵌入式系统通常采用三模冗余设计,其容错原理是()。A.三个模块同时运行,采用多数表决机制输出结果B.主模块故障时切换到备用模块C.三个模块依次运行,取平均值作为结果D.三个模块分别运行不同的功能,提高系统吞吐量49.以下关于嵌入式系统功耗优化的措施中,属于硬件层面优化的是()。A.空闲时将处理器进入低功耗模式B.关闭未使用的外设时钟C.采用低功耗工艺的处理器D.降低处理器的运行频率50.嵌入式系统的单点故障是指()。A.该故障发生会导致整个系统失效B.仅影响单个功能的故障C.仅发生一次的故障D.可以被自动修复的故障51.我国《嵌入式软件可靠性测试规范》的标准编号是()。A.GB/T34944-2017B.GB/T28181-2016C.GB/T19001-2016D.GB/T20271-201652.以下开源许可证中,允许修改代码后闭源商用的是()。A.GPLv3B.MITC.AGPLv3D.木兰开源许可证(严苛版)53.软件著作权的保护期限对于自然人来说是()。A.作者终生B.作者终生及其死亡后50年C.作者终生及其死亡后30年D.永久保护54.嵌入式系统开发过程中,以下哪个阶段的投入占比最高()。A.需求分析阶段B.设计阶段C.实现阶段D.测试阶段55.以下哪个属于敏捷开发的特性()。A.严格按照瀑布流程执行B.响应变化高于遵循计划C.文档高于可运行软件D.合同谈判高于客户协作56.嵌入式项目的关键路径是指()。A.项目中耗时最短的任务序列B.项目中耗时最长的任务序列,决定项目最短完成时间C.项目中最重要的任务序列D.项目中风险最高的任务序列57.以下哪个不属于嵌入式系统的需求规格说明书的内容()。A.功能需求B.性能需求C.硬件原理图D.可靠性需求58.我国强制认证的标识是()。A.CEB.FCCC.CCCD.RoHS59.以下关于软件可维护性的描述中,错误的是()。A.代码的可读性越高,可维护性越好B.注释越多,可维护性越好C.模块的耦合度越低,可维护性越好D.测试用例越完善,可维护性越好60.嵌入式软件的版本号通常采用语义化版本号规范,格式为Major.Minor.Patch,其中Patch版本号的修改意味着()。A.不兼容的API修改B.向下兼容的功能新增C.向下兼容的问题修复D.版本正式发布61.()isageneralpurpose,openandfreeinstructionsetarchitecturebasedonRISCprinciples,whichiswidelyusedinembeddedsystems.A.ARMB.RISC-VC.MIPSD.PowerPC62.()isalightweightmessagingprotocolforsmallsensorsandmobiledevices,optimizedformachine-to-machinecommunication.A.HTTPB.MQTTC.FTPD.TCP63.()isanopen-sourcereal-timeoperatingsystemdevelopedinChina,whichiswidelyusedinindustrialcontrol,smarthomeandautomotivefields.A.FreeRTOSB.uC/OSC.RT-ThreadD.VxWorks64.()referstothetimedifferencebetweentheoccurrenceofaninterruptandthestartofexecutionofthecorrespondinginterruptserviceroutine.A.InterruptlatencyB.ContextswitchtimeC.SchedulingdelayD.Responsetime65.()isafunctionalsafetystandardforelectricalandelectronicsystemsinautomotiveapplications.A.ISO9001B.ISO26262C.IEC61508D.DO-178C66.某嵌入式系统的定时器时钟频率为100MHz,预分频系数为99,定时器计数周期为999,该定时器的中断周期为()。A.1msB.10msC.100msD.1s67.以下关于PWM的描述中,错误的是()。A.脉冲宽度调制,通过调节占空比实现模拟输出B.可以用于电机调速、LED调光等场景C.占空比是指高电平持续时间占整个周期的比例D.PWM的频率越高,输出的纹波越大68.以下存储介质中,掉电后数据不丢失的是()。A.SRAMB.DRAMC.FlashD.寄存器69.嵌入式系统的JTAG接口的作用不包括()。A.程序下载B.在线调试C.固件加密D.边界扫描测试70.以下关于电源模块的描述中,LDO相比DC-DC的优势是()。A.效率高B.输出纹波小C.输入电压范围宽D.输出电流大71.某温湿度传感器的精度为±2%RH,测量值为50%RH时,实际湿度的范围是()。A.48%RH~52%RHB.49%RH~51%RHC.46%RH~54%RHD.40%RH~60%RH72.以下哪种滤波算法最适合去除脉冲干扰()。A.均值滤波B.中值滤波C.卡尔曼滤波D.加权均值滤波73.嵌入式Linux中,用于查看系统运行进程的命令是()。A.lsB.psC.cdD.ifconfig74.以下关于中断服务函数的编程要求中,错误的是()。A.尽量短小精悍,减少执行时间B.可以调用耗时的操作C.避免使用浮点运算D.尽量不要使用动态内存分配75.以下哪个不属于嵌入式系统的低功耗模式()。A.睡眠模式B.停止模式C.待机模式D.全速运行模式上午综合知识试题参考答案及解析1.答案:B。解析:k段流水线执行n条指令的总耗时为(k+n-1)*T,代入k=5、n=100、T=1ns,得(5+100-1)*1=104ns。2.答案:B。解析:写直达策略的核心是写命中时同时更新Cache和主存,数据一致性高但写入效率低;A、D是写回策略的特性。3.答案:B。解析:Cortex-M系列向量表偏移0x00存储主栈指针初始值,偏移0x04存储复位异常入口地址。4.答案:A。解析:12位ADC的1LSB对应电压为5V/4096≈1.22mV,固有量化误差为±0.5LSB,即±0.61mV。5.答案:B。解析:RISC-V是开源指令集架构,其余选项均为商用闭源架构。6.答案:B。解析:16MB=2^24B,按字节编址需要24位地址总线。7.答案:C。解析:SRAM的存储单元结构复杂,集成度远低于DRAM。8.答案:A。解析:中断响应第一步是保存上下文(PC和PSW)到栈,防止返回时丢失被中断任务的运行状态。9.答案:A。解析:UART每传输1字节需要1位起始位+8位数据位+1位停止位=10位,每秒有效数据为115200/10=11520字节。10.答案:C。解析:SPI是全双工同步通信,I2C是半双工同步,UART是异步全双工,CAN是半双工异步。11.答案:C。解析:EDF是动态优先级调度算法,理论上可实现硬实时系统的100%调度成功率。12.答案:A。解析:互斥信号量专门用于解决共享资源的互斥访问问题,支持优先级继承避免优先级反转。13.答案:B。解析:设备树将硬件资源描述与内核代码分离,避免了每款板卡都需要修改内核代码的问题。14.答案:C。解析:裁剪不必要的内核模块会减小系统体积,降低调度开销,响应延迟会更小。15.答案:C。解析:任务代码段地址存储在程序存储区域,不属于TCB的内容。16.答案:B。解析:YAFFS2是专门为NANDFlash设计的日志型文件系统,支持坏块管理和磨损均衡。17.答案:C。解析:RT-Thread支持ARM、RISC-V、Xtensa、MIPS等多种架构处理器。18.答案:A。解析:中断延迟是衡量实时操作系统性能的核心指标,定义为中断触发到中断服务函数开始执行的时间。19.答案:C。解析:MMU的地址映射会产生额外开销,不会提高内存读写速度。20.答案:A。解析:调度器开销包括任务上下文切换时间、调度算法执行时间等。21.答案:C。解析:char占1字节,补3字节对齐;int占4字节;short占2字节,补2字节对齐,总大小1+3+4+2+2=12字节。22.答案:B。解析:volatile关键字禁止编译器对变量做优化,每次访问都从内存读取,适用于硬件寄存器、中断共享变量等场景。23.答案:B。解析:交叉编译是在宿主机(通常是X86架构PC)上编译目标机(ARM/RISC-V等嵌入式设备)运行的程序。24.答案:A。解析:O0级别无任何编译优化,调试信息最完整,适合开发调试阶段使用。25.答案:B。解析:val是栈上的局部变量,函数返回后栈空间被回收,返回的地址是野指针,访问会导致未定义行为。26.答案:C。解析:单元测试需要运行代码,属于动态测试;其余选项均为静态测试。27.答案:B。解析:白盒测试基于代码内部逻辑,测试分支、路径、条件覆盖度。28.答案:B。解析:C语言具有直接操作硬件、运行效率高、代码体积小的特点,是底层驱动开发的首选语言。29.答案:D。解析:内存泄漏是堆内存未释放导致的,与栈溢出无关。30.答案:D。解析:MISRAC允许使用位操作,仅对使用方式做了规范约束。31.答案:C。解析:I2C从设备地址为7位(扩展地址为10位),最多可挂载127个从设备(排除保留地址)。32.答案:C。解析:CAN总线显性状态下CAN_H为3.5V,CAN_L为1.5V,差分电压为2V;隐性状态下差分电压接近0V。33.答案:D。解析:SPI是单主架构,没有多主竞争机制,多主场景需要额外的逻辑实现。34.答案:A。解析:100BASE-T1采用单根双绞线实现双向通信,适合车载场景降低布线重量。35.答案:C。解析:RS485在9600bps速率下最大传输距离为1200米左右,通常取1000米作为标称值。36.答案:C。解析:LoRa是低速率通信技术,最高速率仅为几十kbps,不适合高速率传输场景。37.答案:C。解析:QoS2通过四次握手实现消息恰好一次送达,适合金融、工业控制等对可靠性要求高的场景。38.答案:A。解析:PROFINET是西门子推出的实时以太网协议,广泛应用于工业自动化领域。39.答案:A。解析:fe80::/10是IPv6链路本地地址的固定前缀,用于同一链路内的节点通信。40.答案:D。解析:CANFD兼容传统CAN节点,传统CAN节点可以接收CANFD的标准帧,仅无法接收数据段长度超过8字节的帧。41.答案:A。解析:MTBF是衡量系统可靠性的核心指标,指两次故障之间的平均正常工作时间。42.答案:C。解析:ISO26262的ASIL等级从低到高为QM、ASILA、ASILB、ASILC、ASILD,ASILD要求最高。43.答案:A。解析:双机热备是采用两套相同的硬件系统,属于硬件冗余;其余选项均为软件或信息冗余。44.答案:B。解析:TEE是处理器内部的安全执行环境,与普通执行环境隔离,用于存储指纹、支付密码等敏感数据。45.答案:A。解析:看门狗的核心作用是监控系统运行状态,程序跑飞时无法喂狗,看门狗超时后自动复位系统。46.答案:B。解析:RSA是非对称加密算法,其余选项均为对称加密算法。47.答案:D。解析:功耗测试属于系统性能测试,不属于EMC测试范畴。48.答案:A。解析:三模冗余的三个模块同时运行相同的功能,输出采用三取二表决,单个模块故障不会影响系统输出。49.答案:C。解析:其余选项均为软件层面的功耗优化措施。50.答案:A。解析:单点故障是指没有冗余备份的组件故障,会直接导致整个系统失效。51.答案:A。解析:GB/T34944-2017是我国专门针对嵌入式软件可靠性测试的国家标准。52.答案:B。解析:MIT许可证是最宽松的开源许可证,允许修改代码后闭源商用;其余许可证均要求修改后的代码开源。53.答案:B。解析:根据我国《著作权法》,自然人的软件著作权保护期为作者终生及其死亡后50年。54.答案:D。解析:嵌入式系统的测试阶段投入通常占总投入的40%以上,是保障系统质量的核心环节。55.答案:B。解析:敏捷开发的核心价值观是响应变化高于遵循计划,可运行软件高于详尽文档,客户协作高于合同谈判,个体和互动高于流程和工具。56.答案:B。解析:关键路径是项目中最长的任务序列,决定了项目的最短完成时间,关键路径上的任务延迟会直接导致项目延期。57.答案:C。解析:硬件原理图属于设计阶段的输出文档,不属于需求规格说明书的内容。58.答案:C。解析:CCC是我国的强制性产品认证标识,其余均为国外认证标识。59.答案:B。解析:无用或错误的注释会降低代码的可维护性,注释需要准确简洁,不是越多越好。60.答案:C。解析:语义化版本号中,Major版本是不兼容的API修改,Minor是向下兼容的功能新增,Patch是向下兼容的问题修复。61.答案:B62.答案:B63.答案:C64.答案:A65.答案:B66.答案:A。解析:定时器频率=100MHz/(99+1)=1MHz,计数周期为999时,中断周期=(999+1)*1us=1ms。67.答案:D。解析:PWM频率越高,输出的纹波越小,越接近模拟输出。68.答案:C。解析:Flash是非易失性存储介质,掉电后数据不丢失。69.答案:C。解析:固件加密是软件层面的功能,JTAG接口本身不具备加密功能。70.答案:B。解析:LDO是线性稳压器,输出纹波远小于DC-DC,适合给传感器、ADC等对纹波敏感的外设供电。71.答案:A。解析:精度±2%RH意味着测量值的误差范围为±2%RH,50%RH的实际范围是48%RH~52%RH。72.答案:B。解析:中值滤波通过取多次采样的中间值作为输出,可有效去除脉冲干扰。73.答案:B。解析:ps命令用于查看当前系统运行的进程信息。74.答案:B。解析:中断服务函数执行时间过长会影响其他中断的响应,甚至导致系统崩溃,禁止调用耗时操作。75.答案:D。解析:全速运行模式是处理器的正常工作模式,不属于低功耗模式。下午应用技术试题(共4道大题,满分75分)试题一(20分)某公司开发一款工业环境监测节点,采用STM32F407(Cortex-M4内核)作为主控制器,硬件模块包括:LDO电源模块、SHT30温湿度传感器(I2C接口)、SPI接口NORFlash、CAN总线通信模块、ADC采样模块。请回答以下问题:1.该系统的电源模块同时采用了DC-DC和LDO,分别给主控制器和传感器供电,请简述DC-DC和LDO的区别及各自适用场景。(6分)2.简述主控制器通过I2C接口读取SHT30温湿度数据的完整时序流程。(6分)3.CAN总线的终端电阻的作用是什么?标准阻值是多少?如果不安装终端电阻会出现什么问题?(4分)4.该系统采用SPINORFlash存储历史监测数据,简述SPINORFlash的写操作步骤,为什么写操作之前需要先执行擦除操作?(4分)试题二(18分)该监测节点采用FreeRTOS作为实时操作系统,创建了三个任务:1)数据采集任务(优先级最高,周期10ms):读取传感器和ADC采样数据;2)数据处理任务(优先级中等,周期50ms):对采样数据做滤波和校验;3)数据上传任务(优先级最低,周期1s):通过CAN总线将数据上传到上位机。三个任务之间通过消息队列传递数据,数据采集任务和数据处理任务之间通过二值信号量同步。请回答以下问题:1.该系统用于传递采样数据的消息队列长度设置需要考虑哪些因素?(4分)2.简述数据采集任务和数据处理任务采用二值信号量同步的执行流程。(6分)3.系统运行过程中出现了优先级反转问题,请简述优先级反转的原因及两种解决方法。(4分)4.任务栈空间的大小设置需要考虑哪些因素?(4分)试题三(18分)该监测节点的ADC采样模块用于采集工业设备的电压信号,采样精度12位,满量程输入0~10V,采样频率1kHz。请回答以下问题:1.开发人员编写的ADC采样中断服务函数代码片段如下,找出代码中的两处错误并说明修正方法。(6分)```cuint16_tadc_sample_buf[100];intbuf_index=0;voidADC_IRQHandler(void){if(ADC_GetITStatus(ADC1,ADC_IT_EOC)==SET){adc_sample_buf[buf_index]=ADC_GetConversionValue(ADC1);buf_index++;//延迟1ms做滤波处理delay_ms(1);if(buf_index>=100){buf_index=0;}ADC_ClearITPendingBit(ADC1,ADC_IT_EOC);}}```2.为了提高采样数据的准确性,需要对采样数据做滤波处理,请列举三种常用的嵌入式滤波算法,并说明各自的适用场景。(6分)3.请写出将12位ADC采样值转换为实际电压值(单位V,保留两位小数)的C语言实现代码。(3分)4.简述嵌入式C语言中const和static关键字的作用,各举一个适用场景。(3分)试题四(19分)该监测节点需要满足工业级可靠性要求,平均无故障时间不低于10000小时,支持OTA固件升级功能。请回答以下问题:1.该系统采用看门狗监控程序运行状态,请简述看门狗的工作原理,以及喂狗操作的注意事项。(6分)2.为了避免OTA升级过程中掉电导致系统变砖,请设计固件升级的安全机制,至少给出3种措施并说明原理。(7分)3.该系统的工业环境存在强电磁干扰,需要满足EMC标准要求,请给出3种硬件层面的EMC优化措施。(6分)下午应用技术试题参考答案试题一参考答案1.DC-DC和LDO的区别及适用场景:区别:DC-DC是开关型稳压器,通过控制开关管的通断实现电压转换,优点是效率高(可达90%以上)、支持宽输入电压范围、大电流输出,缺点是输出纹波大、电路复杂、EMI干扰大;LDO是线性稳压器,通过调整串联调整管的压降实现电压转换,优点是输出纹波小、电路简单、EMI小、成本低,缺点是输入输出压差大时效率低,输出电流较小。(4分)适用场景:DC-DC适合给主控制器、通信模块等功率较大、对纹波要求不高的模块供电;LDO适合给传感器、ADC等对纹波敏感、功率较小的模拟模块供电。(2分)2.I2C读取SHT30数据的时序流程:1)主设备发送起始信号,然后发送SHT30的7位从地址+写标志位,等待从设备应答;2)主设备发送读取温湿度的命令字节(2字节),等待从设备应答;3)主设备发送重复起始信号,发送从地址+读标志位,等待从设备应答;4)从设备依次发送6字节数据:温度高字节、温度低字节、温度校验字节、湿度高字节、湿度低字节、湿度校验字节,主设备每接收1字节发送一个应答信号,最后1字节接收后发送非应答信号;5)主设备发送停止信号,通信结束。(6分)3.CAN终端电阻的作用是匹配总线阻抗,减少信号反射,避免通信错误;标准阻值为120Ω;如果不安装终端电阻,总线信号会产生反射,导致信号失真,通信距离变短,甚至出现通信失败的问题。(4分)4.SPINORFlash写操作步骤:1)发送写使能命令;2)发送页编程命令,加上要写入的地址和数据;3)等待写操作完成,读取状态寄存器判断忙状态。(2分)Flash的存储单元只能从1擦除为0,写入操作只能将0改为1,因此写入之前必须先擦除对应扇区,将所有存储单元重置为1状态,否则写入的数据会出错。(2分)试题二参考答案1.消息队列长度设置需要考虑的因素:1)高优先级任务的生产速率和低优先级任务的消费速率的差值,避免消息堆积溢出;2)每个消息的大小;3)系统的最大中断阻塞时间,避免阻塞期间消息无法消费导致溢出;4)系统预留的冗余量,通常设置为最大可能堆积数量的1.5~2倍。(4分)2.二值信号量同步流程:1)系统初始化时创建二值信号量,初始值为0;2)数据采集任务完成一次数据采集后,将数据写入消息队列,然后释放二值信号量(信号量值变为1);3)数据处理任务阻塞等待二值信号量,获取到信号量后(信号量值变为0),从消息队列中读取数据进行处理;4)处理完成后再次阻塞等待信号量,等待下一次采集完成的通知。(6分)3.优先级反转的原因:高优先级任务需要访问的共享资源被低优先级任务持有,而低优先级任务又被多个中等优先级的任务抢占,导致高优先级任务长时间无法获得资源,一直处于阻塞状态,优先级低于中等优先级任务。(2分)解决方法:1)优先级继承:低优先级任务持有高优先级任务需要的资源时,临时将低优先级任务的优先级提升到高优先级任务的优先级,避免被中等优先级任务抢占;2)优先级天花板:给每个共享资源设置一个优先级天花板,等于所有需要访问该资源的任务的最高优先级,任务访问资源时将优先级提升到天花板优先级,避免优先级反转。(2分)4.任务栈空间设置需要考虑的因素:1)任务函数内部的局部变量的大小;2)函数调用的深度,嵌套调用时需要保存的返回地址和寄存器的大小;3)中断发生时需要保存的上下文的大小;4)预留的栈溢出冗余空间,通常预留20%~30%的冗余量。(4分)试题三参考答案1.代码错误及修正:错误1:中断服务函数中调用了delay_ms(1)延时函数,中断服务函数需要尽可能短,延时操作会导致其他中断无法及时响应,甚至系统崩溃。修正方法:

温馨提示

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

评论

0/150

提交评论