版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
嵌入式工程師考試題目作者daoshi.OOO日期2023-2-2
1:39:00
嵌入式系統(tǒng)設計師考試筆記之嵌入式系統(tǒng)基礎知識
歐浩源()20230818
一、引言
自《嵌入式系統(tǒng)設計師考試復習筆記之存儲管理篇》在嵌入式在
線的博客出現(xiàn)后,意外的得到諸多朋友的關(guān)注和評論,收到不少
朋友的郵件,問某些有關(guān)考試日勺問題,但愿得到我的復習筆記的
其他部分。我非常感謝他們,他們口勺熱切關(guān)注,使我有了繼續(xù)往下
寫的無限動力,使我萌生了將我此前日勺復習筆記、考試經(jīng)驗結(jié)合
大綱教程并重新按《教程》的章節(jié)次序整頓一份適合考生復習的
筆記手冊,筆記背面再分析歷年的J真題,按章節(jié)考點找出有關(guān)的
考題進行分析,但愿能和有愛好的人們一起討論討論。
嵌入式系統(tǒng)設計師的一天考試分為上午和下午部分,兩部分的考
試方式、試題難度、考點分布和復習措施都是不同樣的。這次我
們討論的是嵌入式系統(tǒng)基礎知識,我本人覺得,這部分出下午大
題的也許性不大,重要是分布在上午的J75道選擇題之中。
從歷年的真題和考試大綱來看,上午的選擇題重要考察某些基本
概念,重要原理的I理解,某些關(guān)鍵技術(shù)和某些重要的原理引申出
來的簡樸計算。根據(jù)這些考試特點,復習的時候可以采用合適的I
方略,當然每個人的J措施都是不同樣樣的,適合自己的措施才是
最佳的措施。措施大家可以自己慢慢去體會,我的I也不多說了,
通過筆記和真題分析就可以體現(xiàn)處理。對于諸多關(guān)鍵的知識點和
基本概念,除了記住之外還要徹底理解,否則出題的時候會進行
某些變換,或者引申某些計算,那么就算你懂得考那個考點,也許
你也做不好。
在復習的過程中,你要記?。耗悴皇且家环N很高的分數(shù),而是
要考一種通過的分數(shù),在復習過程中可以放棄某些內(nèi)容,只要保
證在大部分基本概念,關(guān)鍵技術(shù),重要原理和歷年考點上都把握
住,可以拿到需要的分數(shù)就可以了。
二、復習筆記
1、嵌入式系統(tǒng)的定義
(1)定義:以應用為中心,以計算機技術(shù)為基礎,軟硬件可裁
剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格規(guī)定
日勺專用計算機系統(tǒng)。
⑵嵌入式系統(tǒng)發(fā)展的4個階段:無操作系統(tǒng)階段、簡樸操作系
統(tǒng)階段、實時操作系統(tǒng)階段、面向Internet階段。
(3)知識產(chǎn)權(quán)核(IP核):具有知識產(chǎn)權(quán)的、功能詳細、接口
規(guī)范、可在多種集成電路設計中反復使用日勺功能模塊,是實現(xiàn)系
統(tǒng)芯片(SOC)的基本構(gòu)件。
(4)IP核模塊有行為、構(gòu)造和物理3級不同樣程度日勺設計,對應
描述功能行為的不同樣可以分為三類:軟核、固核、硬核。
2、嵌入式系統(tǒng)的構(gòu)成:硬件層、中間層、系統(tǒng)軟件層和應用軟件
層
⑴硬件層:嵌入式微處理器、存儲器、通用設備接口和I/O接
□o
嵌入式關(guān)鍵模塊二微處理器+電源電路+時鐘電路+存儲器
Cache:位于主存和嵌入式微處理器內(nèi)核之間,寄存的是近來一段
時間微處理器使用最多的程序代碼和數(shù)據(jù)。它的I重要目H勺是減小
存儲器給微處理器內(nèi)核導致的存儲器訪問瓶頸,使處理速度更
快。
(2)中間層(也稱為硬件抽象層HAL或者板級支持包BSP):它將
系統(tǒng)上層軟件和底層硬件分離開來,使系統(tǒng)上層軟件開發(fā)人員無
需關(guān)系底層硬件日勺詳細狀況,根據(jù)BSP層提供的接口開發(fā)即可。
BSP有兩個特點:硬件有關(guān)性和操作系統(tǒng)有關(guān)性。
設計一種完整的BSP需要完畢兩部分工作:
A、嵌入式系統(tǒng)的硬件初始化和BSP功能。
片級初始化:純硬件的I初始化過程,把嵌入式微處理器從上電的I
默認狀態(tài)逐漸設置成系統(tǒng)所規(guī)定的工作狀態(tài)。
板級初始化:包括軟硬件兩部分在內(nèi)的初始化過程,為隨即的系
統(tǒng)初始化和應用程序建立硬件和軟件的運行環(huán)境。
系統(tǒng)級初始化:以軟件為主的初始化過程,進行操作系統(tǒng)的初始
化。
B、設計硬件有關(guān)的設備驅(qū)動。
(3)系統(tǒng)軟件層:由RTOS、文獻系統(tǒng)、GUI、網(wǎng)絡系統(tǒng)及通用組
件模塊構(gòu)成。
RTOS是嵌入式應用軟件日勺基礎和開發(fā)平臺。
(4)應用軟件:由基于實時系統(tǒng)開發(fā)的應用程序構(gòu)成。
同、實時系統(tǒng)
(1)定義:能在指定或確定的時間內(nèi)完畢系統(tǒng)功能和對外部或內(nèi)
部、同步或異步時間做出響應的系統(tǒng)。
⑵區(qū)別:通用系統(tǒng)一般追求的是系統(tǒng)的平均響應時間和顧客的
使用以便;而實時系統(tǒng)重要考慮的是在最壞狀況下的系統(tǒng)行為。
(3)特點:時間約束性、可預測性、可靠性、與外部環(huán)境的交互
性。
(4)硬實時(強實時):指應用W、J時間需求應可以得到完全滿足,
否則就導致重大安全事故,甚至導致重大的生命財產(chǎn)損失和生態(tài)
破壞,如:航天、軍事。
(5)軟實時(弱實時):指某些應用雖然提出了時間的規(guī)定,但實
時任務偶爾違反這種需求對系統(tǒng)運行及環(huán)境不會導致嚴重影響,
如:監(jiān)控系統(tǒng)、實時信息采集系統(tǒng)。
⑹任務的約束包括:時間約束、資源約束、執(zhí)行次序約束和性能
約束。
M、實時系統(tǒng)日勺調(diào)度
(1)調(diào)度:給定一組實時任務和系統(tǒng)資源,確定每個任務何時
何地執(zhí)行的整個過程。
(2)搶占式調(diào)度:一般是優(yōu)先級驅(qū)動的調(diào)度,如uCOS。長處
是實時性好、反應快,調(diào)度算法相對簡樸,可以保證高優(yōu)先級任
務的時間約束;缺陷是上下文切換多。
(3)非搶占式調(diào)度:一般是準時間片分派的調(diào)度,不容許任務在
執(zhí)行期間被中斷,任務一旦占用處理器就必須執(zhí)行完畢或自愿放
棄,如WinCE。長處是上下文切換少;缺陷是處理器有效資源運
用率低,可調(diào)度性不好。
(4)靜態(tài)表驅(qū)動方略:系統(tǒng)在運行前根據(jù)各任務的時間約束及關(guān)
聯(lián)關(guān)系,采用某種搜索方略生成一張運行時刻表,指明各任務的
起始運行時刻及運行時間。
(5)優(yōu)先級驅(qū)動方略:按照任務優(yōu)先級日勺高下確定任務於I執(zhí)行次
序。
(6)實時任務分類:周期任務、偶發(fā)任務、非周期任務。
(7)實時系統(tǒng)日勺通用構(gòu)造模型:數(shù)據(jù)采集任務實現(xiàn)傳感器數(shù)據(jù)
日勺采集,數(shù)據(jù)處理任務處理采集日勺數(shù)據(jù)、并將加工后的數(shù)據(jù)送到
執(zhí)行機構(gòu)管理任務控制機構(gòu)執(zhí)行。
5、嵌入式微處理器體系構(gòu)造
(1)馮諾依曼構(gòu)造:程序和數(shù)據(jù)共用一種存儲空間,程序指令
存儲地址和數(shù)據(jù)存儲地址指向同一種存儲器的不同樣物理位置,
采用單一的地址及數(shù)據(jù)總線,程序和數(shù)據(jù)日勺寬度相似。例如:80
86、ARM7、MIPS-
(2)哈佛構(gòu)造:程序和數(shù)據(jù)是兩個互相獨立的I存儲器,每個存儲
器獨立編址、獨立訪問,是一種將程序存儲和數(shù)據(jù)存儲分開的存
儲器構(gòu)造。例如:AVR、ARM9、ARM10-
(3)CISC與RISC日勺特點比較(參照教程22頁)。
計算機執(zhí)行程序所需要的時間P可以用下面公式計算:
P=IXCPIXT
I:高級語言程序編譯后在機器上運行的I指令數(shù)。
CPI:為執(zhí)行每條指令所需要的平均周期數(shù)。
T:每個機器周期的時間。
(4)流水線的思想:在CPU中把一條指令的串行執(zhí)行過程變?yōu)?/p>
若干指令的子過程在CPU中重疊執(zhí)行。
(5)流水線的指標:
吞吐率:單位時間里流水線處理機流出的成果數(shù)。假如流水線的
子過程所用時間不同樣樣長,則吞吐率應為最長子過程的I倒數(shù)。
建立時間:流水線開始工作抵達最大吞吐率的時間。若m個子過
程所用時間同樣,均為t,則建立時間T二mt。
(6)信息存儲區(qū))字節(jié)次序
A、存儲器單位:字節(jié)(8位)
B、字長決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節(jié)次序:低字節(jié)在內(nèi)存低地址處,高字節(jié)在內(nèi)存高地址
處。
E、大端字節(jié)次序:高字節(jié)在內(nèi)存低地址處,低字節(jié)在內(nèi)存高地址
處。
F、網(wǎng)絡設備的存儲次序問題取決于OSI模型底層中的數(shù)據(jù)鏈路
層。
6、邏輯電路基礎
(1)根據(jù)電路與否具有存儲功能,將邏輯電路劃分為:組合邏輯
電路和時序邏輯電路。
(2)組合邏輯電路:電路在任一時刻日勺輸此僅取決于該時刻的
輸入信號,而與輸入信號作用前電路日勺狀態(tài)無關(guān)。常用的邏輯電
路有譯碼器和多路選擇器等。
(3)時序邏輯電路:電路任一時刻日勺輸出不僅與該時刻日勺輸入有
關(guān),并且還與該時刻電路的狀態(tài)有關(guān)。因此,時序電路中必須包
括記憶元件。觸發(fā)器是構(gòu)成時序邏輯電路的基礎。常用的時序邏
輯電路有寄存器和計數(shù)器等。
(4)真值表、布爾代數(shù)、摩根定律、門電路的概念。(教程28、
29頁)
(5)NOR(或非)和NAND(與非)的門電路稱為全能門電路,可
以實現(xiàn)任何一種邏輯函數(shù)。
(6)譯碼器:多輸入多輸出的組合邏輯網(wǎng)絡。
每輸入一種n位的二進制代碼,在m個輸出端中最多有一種有效。
當m=2n是,為全譯碼;當m<2n時,為部分譯碼。
(7)由于集成電路的高電平輸出電流小,而低電平輸出電流相對
比較大,采用集成門電路直接驅(qū)動LED時,較多采用低電平驅(qū)動
方式。液晶七段字符顯示屏LCD運用液晶有外加電場和無外加
電場時不同樣的光學特性來顯示字符。
(8)時鐘信號是時序邏輯日勺基礎,它用于決定邏輯單元中日勺狀態(tài)
合適更新。同步是時鐘控制系統(tǒng)中的重要制約條件。
⑼在選用觸發(fā)器的時候,觸發(fā)方式是必須考慮的原因。觸發(fā)方
式有兩種:
電平觸發(fā)方式:具有構(gòu)造簡樸的有點,常用來構(gòu)成暫存器。
邊緣觸發(fā)方式:具有很強日勺抗數(shù)據(jù)端干擾能力,常用來構(gòu)成寄存
器、計數(shù)器等。
7、總線電路及信號驅(qū)動
(1)總線是多種信號線的集合,是嵌入式系統(tǒng)中各部件之間傳送
數(shù)據(jù)、地址和控制信息的公共通路。在同一時刻,每條通路線路
上可以傳播一位二進制信號。按照總線所傳送的信息類型,可以
分為:數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)o
(2)總線的重要參數(shù):
總線帶寬:一定期間內(nèi)總線上可以傳送的數(shù)據(jù)量,一般用MBy
te/s體現(xiàn)。
總線寬度:總線能同步傳送的數(shù)據(jù)位數(shù)(bit),即人們常說的32
位、64位等總線寬度的概念,也叫總線位寬??偩€的位寬越寬,
總線每秒數(shù)據(jù)傳播率越大,也就是總線帶寬越寬。
總線頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則總線
工作速度越快,也即總線帶寬越寬。
總線帶寬=總線位寬X總線頻率/8,單位是MBps。
常用總線:ISA總線、PCI總線、IIC總線、SPI總線、PC
104總線和CAN總線等。
⑶只有具有三態(tài)輸出的設備才可以連接到數(shù)據(jù)總線上,常用日勺
三態(tài)門為輸出緩沖器。
(4)當總線上所接的負載超過總線的負載能力時,必須在總線
和負載之間加接緩沖器或驅(qū)動器,最常用的是三態(tài)緩沖器,其作
用是驅(qū)動和隔離。
⑸采用總線復用技術(shù)可以實現(xiàn)數(shù)據(jù)總線和地址總線的共用。但
會帶來兩個問題:
A、需要增長外部電路對總線信號進行復用解耦,例如:地址鎖存
器。
B、總線速度相對非復用總線系統(tǒng)低。
(6)兩類總線通信協(xié)議:同步方式、異步方式。
⑺對總線仲裁問題的處理是以優(yōu)先級(優(yōu)先權(quán))日勺概念為基礎。
△8、電平轉(zhuǎn)換電路
(1)數(shù)字集成電路可以分為兩大類:雙極型集成電路(TTL)、
金屬氧化物半導體(MOS)o
(2)CMOS電路由于其靜態(tài)功耗極低,工作速度較高,抗干擾能力
較強,被廣泛使用。
(3)處理TTL與CMOS電路接口困難的措施是在TTL電路輸
出端與電源之間接一上拉電阻R,上拉電阻R日勺取值由TTL的
高電平輸出漏電流IOH來決定,不同樣系列的ITTL應選用不同
樣的IR值。
△9、可編程邏輯器件基礎(詳細參見教程51到61頁)
這方面的內(nèi)容,從總體上有個概念性的I認識應當就可以了。
10、嵌入式系統(tǒng)中信息體現(xiàn)與運算基礎
⑴進位計數(shù)制與轉(zhuǎn)換:這樣比較簡樸,也應當掌握怎么樣進行換
算,有出題的I也許。
(2)計算機中數(shù)的體現(xiàn):源碼、反碼與補碼。
正數(shù)的反碼與源碼相似,負數(shù)W、J反碼為該數(shù)的源碼除符號位外按
位取反。
正數(shù)的補碼與源碼相似,負數(shù)的補碼為該數(shù)的反碼加一。
例如-98的源碼:11100010B
反碼:iooinoiB
補碼:10011110B
(3)定點體現(xiàn)法:數(shù)的小數(shù)點的位置人為約定固定不變。
浮點體現(xiàn)法:數(shù)的小數(shù)點位置是浮動的,它由尾數(shù)部分和階數(shù)部
分構(gòu)成。
任意一種二進制N總可以寫成:N=2PXS。S為尾數(shù),P為階數(shù)。
(4)中文體現(xiàn)法(教程67、68頁),弄清晰GB2318—80中國
標碼和機內(nèi)碼的變換。
(5)語音編碼中波形量化參數(shù)(也許會出簡樸的計算題目哦)
采樣頻率:一秒內(nèi)采樣的次數(shù),反應了采樣點之間時間隔大小。
人耳的聽覺上限是20kHz,因此40kHz以上的采樣頻率足以使
人滿意。
CD唱片采用的采樣頻率是44.1kHz。
測量精度:樣本的量化等級,目前原則采樣量級有8位和16位兩
種。
聲道數(shù):單聲道和立體聲雙道。立體聲需要兩倍的存儲空間。
△11、差錯控制編碼
(1)根據(jù)碼組的功能,可以分為檢錯碼和糾錯碼兩類。檢錯碼是
指能自動發(fā)現(xiàn)差錯的碼,例如奇偶檢查碼;糾錯碼是指不僅能發(fā)
現(xiàn)差錯并且能自動糾正差錯的碼,例如循環(huán)冗余校驗碼。
(2)奇偶檢查碼、海明碼、循環(huán)冗余校驗碼(CRC)。(教程70
到77頁)
切2、嵌入式系統(tǒng)日勺度量項目
(1)性能指標:分為部件性能指標和綜合性能指標,重要包括:
吞吐率、實時性和多種運用率。
(2)可靠性與安全性
可靠性是嵌入式系統(tǒng)最重要、最突出的基本規(guī)定,是一種嵌入式
系統(tǒng)能正常工作日勺保證,一般用平均故障間隔時間MTBF來度量。
(3)可維護性:一般用平均修復時間MTTR體現(xiàn)。
(4)可用性
(5)功耗
⑹環(huán)境適應性
(7)通用性
(8)安全性
(9)保密性
(10)可擴展性
性價比中的價格,除了直接購置嵌入式系統(tǒng)的價格外,還應包括
安裝費用、若干年的運行維修費用和軟件租用費。
M3、嵌入式系統(tǒng)的評價措施:測量法和模型法
(1)測量法是最直接最基本的措施,需要處理兩個問題:
A、根據(jù)研究的目的,確定要測量的系統(tǒng)參數(shù)。
B、選擇測量的工具和方式。
(2)測量的方式有兩種:采樣方式和事件跟蹤方式。
(3)模型法分為分析模型法和模擬模型法。分析模型法是用某些
數(shù)學方程去刻畫系統(tǒng)的模型,而模擬模型法是用模擬程序日勺運行
去動態(tài)體現(xiàn)嵌入式系統(tǒng)的狀態(tài),而進行系統(tǒng)記錄分析,得出性能
指標。
(4)分析模型法中使用最多的是排隊模型,它包括三個部分:
輸入流、排隊規(guī)則和服務機構(gòu)。
⑸使用模型對系統(tǒng)進行評價需要處理3個問題:設計模型、解
模型、校準和證明模型。
A三、真題解析
1、2023年4、5題
若每一條指令都可以分解為取指、分析和執(zhí)行三步。已知取指時
間t取指=4Z^t,分析時間t分析=3Z\t,執(zhí)行時間t執(zhí)行=5^
to假如按串行方式執(zhí)行完100條指令需要(4)△to假如按
照流水線方式執(zhí)行,執(zhí)行完100條指令需要(5)Ato
(4)A.1190B.1195C.1200D.1205
(5)A.504B.507C.508D.510
〈答案):C、B
考察流水線技術(shù)知識點。
按照串行的方式,執(zhí)行完一條指令才能執(zhí)行下一條指令,那么執(zhí)
行完100條指令的時間為:(4+3+5)X100=1200
按照流水線的方式,可以同步執(zhí)行多條指令。在第一條指令進行
分析的時候,第二條指令已經(jīng)開始取指;當?shù)谝粭l指令進行執(zhí)行
日勺時候,第二條指令進行分析,第三條指令取指;當?shù)诙l指令進
行執(zhí)行完的時候,第三條指令已經(jīng)分析完畢。依此類推,當?shù)谝?/p>
條指令完畢之后,每一種執(zhí)行的周期就可以完畢一條指令。需要
注意的是,假如流水線的子過程所用時間不同樣樣長,則吞吐率
應以最長子過程來計算。因此,我們可以計算得100條指令的I
執(zhí)行時間為:(4+3+5)+(100-1)X5=507o
2、2023年24題
某總線有104根信號線,其中數(shù)據(jù)總線(DB)32根,若總線工作
頻率為33MHz,則其理論最大傳播率為(24)o(注:本題
答案中的IB體現(xiàn)Byte)
(24)A.33MB/sB.64MB/sC.132MB/sD.164
MB/s
〈答案〉:C
考察總線這個知識點。
根據(jù)上面的筆記,總線帶寬=總線位寬X總線頻率/8=32X33
/8=132MB/so
△3、2023年26題
某存儲器數(shù)據(jù)總線寬度為32bit,存取周期為250ns,則該
存儲器帶寬為(26)。(注:本題答案中的B體現(xiàn)Byte)
(26)A.8X106B/SB.16X106B/sC.16X108B/s
D.32X106B/s
〈答案〉:B
考察總線這個知識點。
存儲器帶寬即總線帶寬,總線頻率為:1/250ns=4X106
存儲器帶寬為:32X4X106/8=16X106B/s
4、2023年27題
處理機重要由處理器、存儲器和總線構(gòu)成,總線包括(27)o
(27)A.數(shù)據(jù)總線、串行總線、邏輯總線、物理總線
B.并行總線、地址總線、邏輯總線、物理總線
C.并行總線、串行總線、全雙工總線
D.數(shù)據(jù)總線、地址總線、控制總線
〈答案〉:D
考察總線這個知識點,基本概念的考察。
A5、2023年35題
三極管是可控的開關(guān)器件,其飽和與截止狀態(tài)分別對應開關(guān)的接
通和斷開狀態(tài)。UBE為基極輸入電壓,VTH為基極域值電壓,假
如UBETH,開關(guān)應處在(35)狀態(tài)。
(35)A.接通B.三態(tài)C.斷開D.高阻
〈答案〉:C
考察電路中最基本的基礎知識點,我覺得做不對的主線不能算嵌
入式系統(tǒng)開發(fā)入門。
%、2023年36題
如下圖所示,若低位地址(AO-All)接在內(nèi)存芯片地址引腳上,高
位地址(A12—A19)進行片選譯碼(其中,A14和A16沒有參與
譯碼),且片選信號低電平有效,則對下圖所示的譯碼器,不屬于
此譯碼空間的地址為(36)o
(36)A.ABO00H?ABFFFHB.BBOOOH-BBFFFH
C.EFOOOH'EFFFFHD.FEOO0H"FEFFFH
〈答案〉:D
考察數(shù)字電路中譯碼知識和存儲系統(tǒng)中統(tǒng)一編址的問題,相對來
說,這個題目有點難度,不過對于學習過和親身做過單片機的兄
弟來說,最基本不過了。
浦、2023年46題
(46)完全把系統(tǒng)軟件和硬件部分隔離開來,從而大大提高了系
統(tǒng)的可移植性。
(46)A.硬件抽象層B.驅(qū)動映射層C.硬件交互層D.中
間層
〈答案):A
考察嵌入式系統(tǒng)構(gòu)成中的概念。
8、2023年3題
設指令由取指、分析、執(zhí)行3個子部件完畢,每個子部件的工作
周期為4t,采用常規(guī)標量單流水線處理機。若持續(xù)執(zhí)行10條指
令,則共需要時間(3)Ato
(3)A.8B.10C.12D.14
〈答案〉:C
考察流水線技術(shù)知識點。
3+(10-1)X1=12
業(yè)2023年4、5題
某計算機的時鐘頻率為400MHz,測試計算機的程序使用4種類
型的指令。每種指令的)數(shù)量及所需要的指令時鐘數(shù)(CPI)如下
表所示,則該計算機的指令平均時鐘數(shù)為(4);該計算機的運算
速度為(5)MIPS。
指令類型指令數(shù)目(條)每條指令需要的時鐘數(shù)
11600001
2300002
3240004
4160008
〈答案》:B、C
考察指令運行方面的簡樸計算。
平均時鐘數(shù)二(160000+2X30000+4X24000+8X16000)
/(160000+30000+24000+16000)=1.93
MIPS是指每秒種執(zhí)行多少百萬條指令,即106。
計算機的(運行數(shù)度為:400/1.93=207.25=207.3MIPS
的、2023年12題
計算機要對聲音信號進行處理時,必須將它轉(zhuǎn)換為數(shù)字聲音信
號。最基本的聲音信號數(shù)字化措施時取樣一量化法。若量化后的
每個聲音樣本用2個字節(jié)體現(xiàn),則量化辨別率是Q2)
(12)A.1/2B.1/1024C.1/65536D.1/131072
〈答案):C
考察聲音編碼種量化計算日勺知識點。
2個字節(jié)是16位,其量化辨別率位1/I016=1/65536o
10、2023年13題
某幅圖像具有640X460個象素點,若每個象素具有8位的顏色
深度,則可體現(xiàn)(13)種不同樣的顏色,通過5:1壓縮后,其圖
像數(shù)據(jù)需要占用(14)(Byte)日勺存儲空間。
(13)A.8B.256C.512D.1024
(14)A.61440B.307200C.384000D.3072023
<答案):B、A
考察圖像數(shù)據(jù)存儲計算的知識點。
8位顏色深度可以體現(xiàn)28二256種顏色深度。
通過5:1壓縮后的數(shù)據(jù)大小為:640X480X8/8/5=61440。
△11、2023年23題
若某邏輯門輸入A、B和輸出F的波形如下圖所示,則F(A,B)
的體現(xiàn)式為(23)
(23)A.F=ABB.F=A+B
D.F=A(B時非)
B________
FII
〈答案〉:C
考察數(shù)字電路的最基本知識點,我覺得這個都搞不清晰很難通過
這個考試。
12、2023年24題
一種4位的二進制計數(shù)器,由0000狀態(tài)開始,通過25個時鐘
脈沖后,該計數(shù)器歐I狀態(tài)為24
(24)A.1100B.1000C.1001D.1010
〈答案):C
考察數(shù)字電路的最基本知識點,相對上面一題有點難,需要對計
數(shù)器的工作原理有比較清晰的理解。這個也是搞嵌入式系統(tǒng)的I基
礎中的基礎,參照教程38頁或有關(guān)日勺數(shù)電書籍。
4位的計數(shù)器,其計數(shù)范圍是24=16,0000開始通過16個時鐘脈
沖之后又回到了開始日勺狀態(tài)0000。25-16=9,因此說通過25個
時鐘之后,其計數(shù)器日勺數(shù)值應當是9二1001。
同3、2023年25題
穩(wěn)壓二極管構(gòu)成日勺穩(wěn)壓電路的接法是(25)
(25)A.穩(wěn)壓管與負載電阻串聯(lián)。
B.穩(wěn)壓管與限流電阻并聯(lián)。
C.限流電阻與穩(wěn)壓管串聯(lián)后,在與負載電阻串聯(lián)。
D.限流電阻與穩(wěn)壓管串聯(lián)后,在與負載電阻并聯(lián)。
〈答案〉:D
考察模擬電路的最基本知識點,實在太簡樸,不懂得從那里開始
分析了。
14、2023年26題
如下論述中,不符合RISC指令系統(tǒng)特點的是(26)
(26)A.指令長度固定,指令種類少。
B.尋址方式種類豐富,指令功能盡量增強。
C.設置大量通用寄存器,訪問存儲器指令簡樸。
D.選用使用頻率較高的某些簡樸指令。
〈答案〉:B
考察RISC與CICS日勺區(qū)別,考生應當清晰他們的區(qū)別,參與教
程22頁。
△15、2023年27題
一般所說的32位微處理器是指(27)
(27)A.地址總線的寬度為32位B.處理器數(shù)據(jù)長度只能為
32位
C.CPU字長為32位D.通用寄存器數(shù)目為32位
〈答案〉:c
考察字長的概念和總線寬度的理解,參與教程25頁。
16、2023年28題
在32位總線系統(tǒng)中,若時鐘頻率為500MHz,傳送一種32位
字需要5個時鐘周期,則該總線系統(tǒng)日勺數(shù)據(jù)傳送速率為(28)MB
/SO
(28)A.200B.400C.600D.800
〈答案〉:B
考察總線和數(shù)據(jù)傳播方面的知識點。
5個時鐘周期可以傳送4個Byteo
每秒中可以傳送:4X(500/5)=400MB/so
17、2023年30題
評價一種計算機系統(tǒng)時,一般重要使用(30)來衡量系統(tǒng)的可靠
性。
(30)A.評價響應時間
B.平均無端障時間(MTBF)
C.平均修復時間
D.數(shù)據(jù)處理速率
〈答案〉:B
考察嵌入式系統(tǒng)性能評價中重要知識點??催^了就會做,每什么
分析的,參見教程77頁。
四、小結(jié)
就我個人的意見,從內(nèi)容來看,嵌入式系統(tǒng)基礎知識的范圍很廣,
知識點諸多,并且沒有很強的邏輯性,顯得比較凌亂,很難將他
們有序的組織在一起。不過也不要膽怯,內(nèi)容雖然多而亂,不過
考試的題目都比較簡樸,有些題目幾乎是所見即所得。只要你做
過嵌入式或者單片機方面日勺工作,你都能做出來。某些計算日勺題
目也是某些基本概念日勺延伸。通過度析歷年的真題,首先可以把
握考試的出題方式和考試難度,同步可以把握這部分內(nèi)容日勺出題
方向和復習的措施。從兩年的考試題目數(shù)量分布來看,23年10
道,23年7道,數(shù)量有所較少,不過我覺得這不是一種趨勢,23年
應當不會少于7道題目的。這部分在嵌入式系統(tǒng)設計里面是相稱
重要的,有一種良好日勺基礎才能做好下面日勺事情。假如復習得好,
將這7、8分題目拿到手,那么你離45分左右的及格線又前進
了一大步了。
預處理器(Preprocessor)
1.用預處理指令#define申明一種常數(shù),用以表明1年中
有多少秒(忽視閏年問題)4#defineSECONDS
_PER_YEAR(60*60*24*365)111>我在這想看到幾
件事情:
1)#define語法的基本知識(例如:不能以分號結(jié)束,括號的
使用,等等)A2)懂得預處理器將為你計算常數(shù)體現(xiàn)式時值,因
此直接寫出你怎樣計算一年中有多少秒而不是計算出實際的值,
是更清晰而沒有代價的。)意識到這個體現(xiàn)式將使一種16
位機的整型數(shù)溢出-因此要用到長整型符號L,告訴編譯器這個常
數(shù)是時長整型數(shù)。?。┘偃缒阍谀闳丈左w現(xiàn)式中用到UL(體現(xiàn)無符
號長整型),那么你有了一種好日勺起點。記住,第一印象很重要。
2.寫一種〃原則〃宏MIN,這個宏輸入兩個參數(shù)并返回較小
日勺一種。
#defineMIN(A,B)((A)〈=(B)?(A)
:(B))
這個測試是為下面的目的而設的:
1)標識#define在宏中應用的基本知識。這是很重要的|。
由于在嵌入(iniine)操作符變?yōu)樵瓌tC的一部分之前,
宏是以便產(chǎn)生嵌入代碼的唯一措施,對于嵌入式系統(tǒng)來說,為了
能抵達規(guī)定的性能,嵌入代碼常常是必須的措施。")三重條
件操作符的知識。這個操作符存在C語言中的原因是它使得編譯
器能產(chǎn)生比if-then-else更優(yōu)的代碼,理解這個使用措施是
很重要的。6)懂得在宏中小心地把參數(shù)用括號括起來
4)我也用這個問題開始討論宏的副作用,例如:當你寫下面的
代碼時會發(fā)生什么事?
1east=MIN(*p++,b);
3.預處理器標識#error的目的是什么?
假如你不懂得答案,請看參照文獻1。這問題對辨別一種
正常的伙計和一種書呆子是很有用的。只有書呆子才會讀C語言
書本日勺附錄去找出象這種問題日勺答案。當然假如你不是在找一種
書呆子,那么應試者最佳但愿自己不要懂得答案。
死循環(huán)(Infiniteloops)
4.嵌入式系統(tǒng)中常常要用到無限循環(huán),你怎么樣用C編寫死循
環(huán)呢?
這個問題用幾種處理方案。我首選的J方案是:
while(l)
(
)
某些程序員更喜歡如下方案:
for(;;)
(
)
這個實現(xiàn)方式讓我為難,由于這個語法沒有確切體
現(xiàn)究竟怎么回事。假如一種應試者給出這個作為方案,我將用這
個作為一種機會去探究他們這樣做的基本原理。假如他們的基本
答案是:“我被教著這樣做,但從沒有想到過為何。〃這會給我
留下一種壞印象。
第三個方案是用goto
Loop:
??.AgotoLoop;
應試者如給出上面的I方案,這闡明或者他是一種匯編語言程序員
(這也許是好事)或者他是一種想進入新領域的IBASIC/FORTR
AN程序員。
數(shù)據(jù)申明(Datadeelarations)
5.用變量a給出下面的I定義%)一種整型數(shù)(Aninteger)
b)一種指向整型數(shù)的I指針(Apointertoaninteger)
c)一種指向指針H勺的指針,它指向的指針是指向一種整型數(shù)(
Apointertoapointertoanintege)r-M)一^巾
有10個整型數(shù)日勺數(shù)組(Anarrayof10integers)M)
一種有10個指針的數(shù)組,該指針是指向一種整型數(shù)的。(Ana
rrayof10pointerstointegers)
f)一種指向有10個整型數(shù)數(shù)組的I指針(Apointerto
anarrayof10integers)ag)一種指向函數(shù)的)指針,該
函數(shù)有一種整型參數(shù)并返回一種整型數(shù)(Apointertoath
attakesanintegerasanargumentandr
eturnsaninteger"h)一種有10個指針H勺數(shù)組,該指針
指向一種函數(shù),該函數(shù)有一種整型參數(shù)并返回一種整型數(shù)(An
arrayoftenpointerstosthattakeanintege
rargumentandreturnaninteger)
答案是:
a)inta;//Aninteger
b)int*a;//Apointertoaninteger
c)int**a;//Apointertoapointertoanint
egerAd)inta[10];//Anarrayof10integers
e)int*a[10];//Anarrayof10pointersto
integers
f)int(*a)[10];//Apointertoanarrayo
f10integers^g)int(*a)(int);//Apointerto
aathattakesanintegerargumentandr
eturnsanintegerAh)int(*a[10])(int);//
Anarrayof10pointerstosthattakeani
ntegerargumentandreturnaninteger
人們常常聲稱這里有幾種問題是那種要翻一下書
才能回答的問題,我同意這種說法。當我寫這篇文章時,為了確
定語法的對的性,我確實查了一下書。不過當我被面試的時候,
我期望被問到這個問題(或者相近的問題)。由于在被面試的這
段時間里,我確定我懂得這個問題的答案。應試者假如不懂得所
有的答案(或至少大部分答案),那么也就沒有為這次面試做準
備,假如該面試者沒有為這次面試做準備,那么他又能為何出準
備呢?
Static
6.關(guān)鍵字static的作用是什么?a這個簡樸的J問
題很少有人能回答完全。在c語言中,關(guān)鍵字static有三個明
顯的作用:
1)在函數(shù)體,一種被申明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程
中維持其值不變。22在模塊內(nèi)(但在函數(shù)體外),一種被申
明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其
他函數(shù)訪問。它是一種當?shù)厝丈兹肿兞?。A3)在模塊內(nèi),一種
被申明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其他函數(shù)調(diào)用。那就是,
這個函數(shù)被限制在申明它的模塊的當?shù)胤秶鷥?nèi)使用。
大多數(shù)應試者能對的回答第一部分,一部分能對時
回答第二部分,同是很少的人能懂得第三部分。這是一種應試者
的嚴重的缺陷,由于他顯然不懂得當?shù)鼗瘮?shù)據(jù)和代碼范圍的I好處
和重要性。
Const
7.關(guān)鍵字const有什么含意?
我只要一聽到被面試者說:〃c。nst意味著常數(shù)\我就
懂得我正在和一種業(yè)余者打交道。去年DanSaks已經(jīng)在他日勺文
章里完全概括了const時所有使用措施,因此ESP(譯者:E
mbeddedSysternsProgramming)日勺每一位讀者應當非常熟
悉const能做什么和不能做什么.假如你從沒有讀到那篇文章,
只要能說出const意味著”只讀〃就可以了。盡管這個答案不是
完全的答案,但我接受它作為一種對時的答案。(假如你想懂得
更詳細的答案,仔細讀一下Saks的文章吧。)
假如應試者能對的回答這個問題,我將問他一種附
加的問題:a下面的申明都是什么意思?
constinta;Mntconsta;
constint*a;
int*consta:Aintconst*aconst:
/******/
前兩個的作用是同樣,a是一種常整型數(shù)。第三個
意味著a是一種指向常整型數(shù)日勺指針(也就是,整型數(shù)是不可修
改的,但指針可以)。第四個意思a是一種指向整型數(shù)時常指針
(也就是說,指針指向日勺整型數(shù)是可以修改的,但指針是不可修改
日勺)。最終一種意味著a是一種指向常整型數(shù)的常指針(也就是
說,指針指向的I整型數(shù)是不可修改的I,同步指針也是不可修改
日勺)。假如應試者能對的回答這些問題,那么他就給我留下了一
種好印象。順帶提一句,也許你也許會問,雖然不用關(guān)鍵字CO
nst,也還是能很輕易寫出功能對的J的程序,那么我為何還要如
此看重關(guān)鍵字const呢?我也如下H勺幾下理由:1向)關(guān)鍵字co
nst的作用是為給讀你代碼的人傳達非常有用的信息,實際上,
申明一種參數(shù)為常量是為了告訴了顧客這個參數(shù)時應用目的I。假
如你曾花諸多時間清理其他人留下的垃圾,你就會很快學會感謝
這點多出的信息。(當然,懂得用const的程序員很少會留下
的垃圾讓他人來清理的。)")通過給優(yōu)化器某些附加的信息,
使用關(guān)鍵字const也許能產(chǎn)生更緊湊的代碼。公3)合理地使
用關(guān)鍵字const可以使編譯器很自然地保護那些不僅愿被變化
日勺參數(shù),防止其被無意的代碼修改。簡而言之,這樣可以減少bu
g的出現(xiàn)。
Volatile
8.關(guān)鍵字volatile有什么含意?并給出三個不同樣的例子。
④一種定義為volatile的I變量是說這變量也許會被
意想不到地變化,這樣,編譯器就不會去假設這個變量的值了。
精確地說就是,優(yōu)化器在用到這個變量時必須每次都小心地重新
讀取這個變量的值,而不是使用保留在寄存器里的備份。下面是
volatile變量的幾種例子:al)并行設備日勺硬件寄存器(如:
狀態(tài)寄存器)
2)一種中斷服務子程序中會訪問到的I非自動變量(Non-aut
omaticvariables)A3)多線程應用中被幾種任務共享的I
變量
回答不出這個問題日勺人是不會被雇傭的。我認為這
是辨別C程序員和嵌入式系統(tǒng)程序員的最基本日勺問題。搞嵌入式
日勺家伙們常常同硬件、中斷、RTOS等等打交道,所有這些都規(guī)
定用到volati1e變量。不懂得vo1atile的I內(nèi)容將會帶來劫
難。
假設被面試者對的地回答了這是問題(嗯,懷疑與否
會是這樣),我將稍微深究一下,看一下這家伙是不是直正懂得
vo1ati1e完全的重要性。
1)一種參數(shù)既可以是const還可以是volati1e嗎?解釋為
何。
2)一種指針可以是volati1e嗎?解釋為何。3E下面日勺函
數(shù)有什么錯誤:
intsquare(volatileint*ptr)
(
return*ptr**ptr闖
下面是答案:
1)是時。一種例子是只讀的狀態(tài)寄存器。它是volatile由
于它也許被意想不到地變化。它是const由于程序不應當試圖
去修改它。a2)是的。盡管這并不很常見。一種例子是當一種
中服務子程序修該一種指向一種buffer日勺指針時。3A)這段
代碼有點變態(tài)。這段代碼的目的是用來返指針*ptr指向值的平
方,不過,由于*ptr指向一種volati1e型參數(shù),編譯器將產(chǎn)生
類似下面的代碼:
intsquare(vo1atileint*ptr)^{
inta,b;
a=*ptr;
b=*ptr;
returna*b;
由于*ptraJ值也許被意想不到地該變,因此a和b也許是不同
樣的。成果,這段代碼也許返不是你所期望的平方值!對時日勺代
碼如下:
Iongsquare(vo1atileint*ptr)a{
inta;
a=*ptr;areturna*a;A}
位操作(Bitmanipulation)
9.嵌入式系統(tǒng)總是要顧客對變量或寄存器進行位操作。給定
一種整型變量a,寫兩段代碼,第一種設置aB^bit3,第二
個清除a的bit3。在以上兩個操作中,要保持其他位不變。
④對這個問題有三種基本的反應A1)不懂得怎樣下
手。該被面者從沒做過任何嵌入式系統(tǒng)的工作。
2)用bitfieldsoBitfields是被扔到C語言死角區(qū)|東
西,它保證你的代碼在不同樣編譯器之間是不可移植的,同步也
保證了的你的代碼是不可重用的。我近來不幸看到Infineon
為其較復雜的通信芯片寫的驅(qū)動程序,它用到了bitfiel
ds因此完全對我無用,由于我的編譯器用其他日勺方式來實現(xiàn)b
itfields改)。從道德講:永遠不要讓一種非嵌入式的家伙粘實
際硬件的邊。
3)用#defines和bitmasks操作。這是一種有極高可
移植性的措施,是應當被用到日勺措施。最佳的處理方案如下:
#defineBIT3(Ox1?3)
staticinta;
voidset_bit3(void)c{aa|=BIT3;A)
voidc1ear_bit3(void)
{aa&=~BIT3;M
某些人喜歡為設置和清除值而定義一種掩碼同步定
義某些闡明常數(shù),這也是可以接受的。我但愿看到幾種要點:闡
明常數(shù)、I=和&=~操作。
訪問固定的內(nèi)存位置(Accessingfixedmemoryloca
tions)
10.嵌入式系統(tǒng)常常具有規(guī)定程序員去訪問某特定的內(nèi)存位置
日勺特點。在某工程中,規(guī)定設置一絕對地址為Ox67a9的整型變
量的I值為Ox”a66。編譯器是一種純粹的ANSI編譯器。寫代碼
去完畢這一任務。
這一問題測試你與否懂得為了訪問一絕對地址把一
種整型數(shù)強制轉(zhuǎn)換(typecast)為一指針是合法改I。這一問
題的實現(xiàn)方式伴隨個人風格不同樣而不同樣。經(jīng)典的類似代碼如
下:
int*ptr;
ptr二(int*)0x67a9;*ptr=0xaa55;
Amoreobscureapproachis:a一種較晦澀歐|措施
是:
*(int*const)(Ox67a9)=Oxaa55;
雖然你的品味更靠近第二種方案,但我提議你在面試時使用第一
種方案。
中斷(Interrupts)
11.中斷是嵌入式系統(tǒng)中重要的構(gòu)成部分,這導致了諸多編譯
開發(fā)商提供一種擴展一讓原則C支持中斷。具代表事實是,產(chǎn)生
了一種新的I關(guān)鍵字—interrupto下面日勺代碼就使用了—int
errupt關(guān)鍵字去定義了一種中斷服務子程序(ISR),請評論一
下這段代碼的。
_interruptdoublecompute_area(doub1eradiu
S)A{
doublearea=PI*radius*radius;A
printf(,z\nArea=%fH,area);Areturnar
ea;A}
這個函數(shù)有太多的錯誤了,以至讓人不知從何說起了:
1)ISR不能返回一種值。假如你不懂這個,那么你不會被雇
用的。a2)ISR不能傳遞參數(shù)。假如你沒有看到這一點,你被
雇用日勺機會等同第一項。
3)在許多的處理器/編譯器中,浮點一般都是不可重入口勺。有
些處理器/編譯器需要讓額處日勺寄存器入棧,有些處理器/編譯
器就是不容許在ISR中做浮點運算。此外,ISR應當是短而有效
率時,在ISR中做浮點運算是不明智日勺。
4)與第三點一脈相承,printf()常常有重入和性能上的問題。
假如你丟掉了第三和第四點,我不會太為難你的。不用說,假如你
能得到后兩點,那么你的被雇用前景越來越光明了。
代碼例子(Codeexamples)
12.下面的代碼輸出是什么,為何?
voidfoo(void)
{aunsignedinta=6;
intb=-20(a+b>6)?puts(〃>6
〃):puts(n<=6〃);
}a這個問題測試你與否懂得C語言中的整數(shù)自動
轉(zhuǎn)換原則,我發(fā)既有些開發(fā)者懂得很少這些東西。不管怎樣,這無
符號整型問題的答案是輸出是”>6〃。原因是當體現(xiàn)式中存在
有符號類型和無符號類型時所有的操作數(shù)都自動轉(zhuǎn)換為無符號
類型。因此一20變成了一種非常大的正整數(shù),因此該體現(xiàn)式計算
出的成果不不大于6。這一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火隔離帶施工方案
- 康復科應急處置預案
- 加油站計量器具管理制度
- 軟件系統(tǒng)部署應急救援預案
- 幼兒園2024秋開學前疫情防控工作總結(jié)
- 摩托車的駕駛員安全需求與心理衛(wèi)生考核試卷
- 健康生活與心理健康指南考核試卷
- 2024-2030年客輪行業(yè)風險投資態(tài)勢及投融資策略指引報告
- 2024-2030年奧替溴銨試劑行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2024-2030年大豆油市場前景分析及投資策略與風險管理研究報告
- 痛風性關(guān)節(jié)炎的健康宣教
- 統(tǒng)計與概率《義務教育數(shù)學課程標準》解讀
- 酒店客房運營管理酒店客房房態(tài)管理及優(yōu)化培訓課件
- 2023年12月遼寧沈陽市事業(yè)單位公開招聘退役大學畢業(yè)生士兵401人筆試歷年高頻考點-難、易錯點薈萃附答案帶詳解
- 海外施工安全管理的特色與挑戰(zhàn)
- 人工智能應用技術(shù):專業(yè)設立論證報告
- 家政服務保潔收納培訓方案
- 《氣敏傳感器》課件
- 怎樣讓桃樹高產(chǎn)桃樹高產(chǎn)栽培技術(shù)
- 京劇音樂藝術(shù)研究
- 駕校聯(lián)盟可行性方案
評論
0/150
提交評論