計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)_第1頁
計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)_第2頁
計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)_第3頁
計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)_第4頁
計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機三級(嵌入式系統(tǒng)開發(fā)技術(shù))機試模擬試卷(含答案解析)一、選擇題(每題1分,共30分。每題只有一個正確答案,錯選、多選、未選均不得分)1.在CortexM3內(nèi)核中,NVIC最多可支持多少個外部中斷通道?A.32??B.64??C.240??D.1024答案:C解析:CortexM3的NVIC(NestedVectoredInterruptController)設(shè)計上限為240個外部中斷源,編號16~255,0~15為系統(tǒng)異常。2.某MCU的SysTick時鐘源為內(nèi)核時鐘FCLK=72MHz,重裝載值設(shè)為71999,則SysTick中斷周期為:A.0.5ms??B.1ms??C.1.001ms??D.1.024ms答案:B解析:SysTick為24位遞減計數(shù)器,計數(shù)到0觸發(fā)中斷。周期=(71999+1)/72MHz=1ms。3.在μC/OSIII中,優(yōu)先級數(shù)值越小表示:A.優(yōu)先級越低??B.優(yōu)先級越高??C.與優(yōu)先級無關(guān)??D.由配置決定答案:B解析:μC/OSIII沿用“數(shù)值小=優(yōu)先級高”的約定,0為最高優(yōu)先級,優(yōu)先級號即數(shù)組下標(biāo)。4.下列哪條ARM指令可實現(xiàn)“將R0寄存器bit7置1,其余位不變”?A.ORRR0,R0,0x80??B.ANDR0,R0,0x80??C.EORR0,R0,0x80??D.BICR0,R0,0x80答案:A解析:ORR為按位或,0x80僅bit7為1,可實現(xiàn)置位;BIC為位清除;EOR為位翻轉(zhuǎn);AND為位與。5.在I2C總線中,重復(fù)起始條件(Sr)與停止條件(P)的區(qū)別在于:A.Sr后總線仍被主控占用??B.Sr后需重新發(fā)送從機地址??C.Sr電平跳變方向相反??D.Sr只能由主機發(fā)送答案:A解析:Sr不釋放總線,允許主機在不放棄總線的情況下發(fā)起新傳輸;P會釋放總線。6.若某SPI外設(shè)時鐘極性CPOL=1,時鐘相位CPHA=1,則數(shù)據(jù)采樣發(fā)生在:A.第一個上升沿??B.第一個下降沿??C.第二個上升沿??D.第二個下降沿答案:D解析:CPOL=1空閑為高電平,CPHA=1在第二個邊沿采樣,即第二個下降沿。7.在CAN2.0B協(xié)議中,擴展幀的標(biāo)識符長度為:A.11bit??B.18bit??C.29bit??D.32bit答案:C解析:標(biāo)準(zhǔn)幀11bit,擴展幀在標(biāo)準(zhǔn)幀基礎(chǔ)上增加18bit,共29bit。8.使用DMA雙緩沖模式時,下列說法正確的是:A.兩個緩沖區(qū)必須位于同一SRAM頁??B.傳輸完成中斷僅產(chǎn)生一次??C.硬件自動切換目標(biāo)指針??D.需手動重新配置NDTR寄存器答案:C解析:雙緩沖模式下,DMA_SxCR的CT位由硬件翻轉(zhuǎn),自動切換存儲器指針,無需CPU干預(yù)。9.在FreeRTOS中,向已滿的隊列發(fā)送數(shù)據(jù),若xTicksToWait=portMAX_DELAY,則任務(wù):A.立即返回errQUEUE_FULL??B.阻塞直到隊列有空閑位置??C.觸發(fā)任務(wù)切換但不阻塞??D.進(jìn)入掛起態(tài)答案:B解析:portMAX_DELAY表示無限等待,任務(wù)進(jìn)入阻塞態(tài),直到隊列出現(xiàn)空閑位置或收到信號。10.某ADC的參考電壓VREF+=2.5V,輸入Vin=1.0V,12位右對齊,則轉(zhuǎn)換結(jié)果約為:A.819??B.1365??C.1638??D.2048答案:C解析:結(jié)果=(Vin/VREF+)×4095=(1.0/2.5)×4095≈1638。11.在CortexM4的FPU中,浮點運算指令默認(rèn)采用的舍入模式是:A.向零舍入??B.就近舍入(偶數(shù))??C.向正無窮舍入??D.向負(fù)無窮舍入答案:B解析:FPU控制寄存器FPCCR默認(rèn)RM=00,即“roundtonearest,tiestoeven”。12.關(guān)于看門狗窗口模式,下列說法錯誤的是:A.過早喂狗會觸發(fā)復(fù)位??B.過晚喂狗會觸發(fā)復(fù)位??C.窗口下限可設(shè)為0??D.窗口上限可設(shè)為最大值0xFFF答案:C解析:窗口下限必須大于0,否則無法區(qū)分“過早”與“允許”區(qū)間。13.在TrustZoneM安全擴展中,非安全代碼調(diào)用安全函數(shù)需通過:A.SG指令??B.BL指令??C.SVC指令??D.BXNS指令答案:A解析:SG(SecureGateway)指令位于安全入口,完成安全狀態(tài)切換。14.某Flash頁大小為2KB,擦除時間為20ms,編程時間為40μs/字,若寫入1KB數(shù)據(jù),則總耗時約為: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Ω,則反射系數(shù)約為:A.0??B.0.09??C.0.5??D.1答案:B解析:Γ=(RTZ0)/(RT+Z0)=(120100)/(120+100)≈0.09。16.在Linux設(shè)備樹中,用于聲明“中斷父控制器”的屬性是:A.interruptparent??B.interrupts??C.interruptcontroller??D.interruptcells答案:A解析:interruptparent指定phandle,指向中斷控制器節(jié)點。17.某實時系統(tǒng)采用RM調(diào)度,任務(wù)集{T1=(3,1),T2=(5,2)},其中(C,T),則系統(tǒng)可調(diào)度性判定:A.利用率0.73,可調(diào)度??B.利用率0.73,不可調(diào)度??C.利用率0.83,可調(diào)度??D.需用響應(yīng)時間分析答案:A解析:U=1/3+2/5=0.733<0.828(RM界限2(2^(1/2)1)),理論可調(diào)度;響應(yīng)時間分析亦成立。18.在BLE5.0中,物理層編碼方案LECoded的碼率R=:A.1/2??B.2/3??C.3/4??D.1/8答案:D解析:LECoded采用卷積編碼+重復(fù),最終碼率1/8,提升接收靈敏度。19.在Yocto項目中,用于生成SDK安裝腳本的命令是:A.bitbakecoreimageminimal??B.bitbakecpopulate_sdk<image>??C.bitbakemetatoolchain??D.bitbakeccleansstate答案:B解析:populate_sdk任務(wù)會打包交叉工具鏈、庫、頭文件,生成.sh安裝器。20.當(dāng)CortexM7的ICache開啟、DCache關(guān)閉時,自修改代碼需: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.某傳感器輸出數(shù)據(jù)率ODR=800Hz,MCU進(jìn)入Stop模式僅由RTC喚醒,喚醒周期125ms,則最低平均功耗取決于:A.喚醒后采樣時長??B.Stop模式電流??C.RTC功耗??D.以上全部答案:D解析:平均功耗=(喚醒功耗×?xí)r長+Stop功耗×(125ms時長))/125ms,RTC靜態(tài)電流亦計入。23.在UBoot中,設(shè)置bootargs環(huán)境變量時,用于指定根文件系統(tǒng)類型的參數(shù)是:A.root=??B.rootfstype=??C.rw??D.init=答案:B解析:rootfstype=ext4/jffs2等告訴內(nèi)核根文件系統(tǒng)驅(qū)動。24.當(dāng)使用GCC編譯CortexR5裸機程序時,指定浮點單元的選項應(yīng)為: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.設(shè)備非緩沖??B.寫通、無分配??C.寫回、讀分配??D.寫回、讀寫分配答案:B解析:AX4編碼0011=WT,Noallocate,用于外設(shè)可合并寫。26.在Linux內(nèi)核模塊中,使用kmalloc(size,GFP_KERNEL)分配256KB內(nèi)存,最可能返回:A.連續(xù)物理高端內(nèi)存??B.連續(xù)物理低端內(nèi)存??C.虛擬連續(xù)物理離散內(nèi)存??D.NULL答案:D解析:kmalloc最大連續(xù)空間受限于MAX_ORDER,256KB在多數(shù)配置>128KB上限,返回NULL。27.在RISCVRV32IM架構(gòu)中,乘法指令mulh計算:A.低32位乘積??B.高32位有符號乘積??C.高32位無符號乘積??D.低32位無符號乘積答案:B解析:mulh為multiplyhighsigned,返回64位有符號積的高32位。28.當(dāng)使用JTAG調(diào)試時,IR寄存器長度為5bit,則BYPASS指令二進(jìn)制為:A.11111??B.00001??C.00000??D.10000答案:A解析:IEEE1149.1規(guī)定全1為BYPASS,全0為EXTEST。29.在ZephyrRTOS中,設(shè)備驅(qū)動模型中用于聲明設(shè)備實例的宏是:A.DEVICE_INIT??B.SYS_INIT??C.K_THREAD_DEFINE??D.DT_INST_FOREACH答案:A解析:DEVICE_INIT或其變體在編譯期生成structdevice,并放入devlist段。30.當(dāng)USBFS設(shè)備以中斷方式每1ms發(fā)送64B數(shù)據(jù),理論最大帶寬為:A.64kbps??B.512kbps??C.1Mbps??D.12Mbps答案:B解析:64B/1ms=64kB/s=512kbps,F(xiàn)S幀率1kHz。二、填空題(每空2分,共20分)31.若CortexM0+的向量表起始地址為0x00000000,則HardFault異常入口地址為______。答案:0x0000000C解析:異常號3,偏移=3×4=12=0xC。32.某定時器計數(shù)頻率1MHz,PWM模式輸出1kHz、占空比37%,則捕獲比較寄存器CCR=______。答案:370解析:周期=1000,占空比37%,CCR=1000×0.37=370。33.在LittleFS文件系統(tǒng)中,用于原子更新的機制稱為______。答案:COW(CopyonWrite)解析:LittleFS采用日志結(jié)構(gòu)+COW保證斷電安全。34.若某I2C從機地址為0x3C,左移一位并寫入方向位后,寫地址字節(jié)為______(十六進(jìn)制)。答案:0x78解析:0x3C<<1=0x78,最低位0表示寫。35.在ARM匯編中,指令“LDMIAR0!,{R1R3}”執(zhí)行后,R0的值增加______字節(jié)。答案:12解析:加載3個字,每字4字節(jié),共12字節(jié),寫回R0。36.某BLE廣播通道索引為39,對應(yīng)的射頻頻率為______MHz。答案:2480解析:通道37/38/39對應(yīng)2402/2426/2480MHz。37.當(dāng)使用DMA循環(huán)模式傳輸1024點16位音頻樣本,源地址增量需設(shè)置為______。答案:INCR_HALFWORD(或等效2)解析:每個樣本2字節(jié),地址按半字遞增。38.在UBoot的bootm命令中,內(nèi)核鏡像需添加的頭部信息結(jié)構(gòu)稱為______。答案:image_header(或legacyuImageheader)解析:mkimage工具生成64字節(jié)頭部,含魔數(shù)、加載地址、入口等。39.若某RC低通濾波器R=10kΩ,C=0.1μF,則3dB截止頻率為______Hz。答案:159解析:f=1/(2πRC)=1/(2π×10k×0.1μ)=159Hz。40.在Linuxsysfs中,GPIO編號導(dǎo)出需寫入的文件路徑為______。答案:/sys/class/gpio/export解析:echo23>export將創(chuàng)建gpio23節(jié)點。三、程序閱讀與改錯(共20分)41.閱讀下列STM32HAL庫代碼片段,指出至少3處錯誤并給出修正。(每處4分)```c/目標(biāo):使用DMA將ADC1的常規(guī)組轉(zhuǎn)換結(jié)果搬運到用戶緩沖區(qū),半完成與完成回調(diào)中計算平均值/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,采樣電容未充分充電,導(dǎo)致結(jié)果不準(zhǔn)。建議≥15周期。錯誤2:PeriphInc使能導(dǎo)致DMA每傳一次增加外設(shè)地址,ADC1_DR地址應(yīng)固定。修正:DMA_PINC_DISABLE。錯誤3:Mode設(shè)為NORMAL,傳輸一次后DMA停止,無法循環(huán)采集。應(yīng)改為DMA_CIRCULAR。附加隱患:未啟用ADC校準(zhǔn),建議加入HAL_ADCEx_Calibration_Start(&hadc1,ADC_SINGLE_ENDED)。四、設(shè)計題(共30分)42.某工業(yè)節(jié)點需通過CAN總線接收遠(yuǎn)程幀請求,回傳8字節(jié)溫度數(shù)據(jù)。MCU為STM32F407,外設(shè)CAN1,波特率500kbps,時鐘APB1=42MHz。請完成:(1)計算CAN位時間參數(shù),給出BS1、BS2、Prescaler值,滿足采樣點87.5%。(6分)(2)編寫CAN初始化及回傳函數(shù),使用HAL庫,回傳數(shù)據(jù)為全局?jǐn)?shù)組txData[8],中斷方式發(fā)送。(12分)(3)若要求總線利用率<30%,計算每秒最多可回傳多少幀(數(shù)據(jù)幀+遠(yuǎn)程幀)。(4分)(4)說明如何在不增加CPU負(fù)擔(dān)前提下實現(xiàn)溫度數(shù)據(jù)雙緩沖更新。(8分)答案:(1)位時間=1/500k=2μs。設(shè)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)/遠(yuǎn)程幀/{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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論