ARM CortexM/R/A系列分別針對不同的應(yīng)用領(lǐng)域。M系列主要面向傳統(tǒng)微控制器(MCU/單片機)應(yīng)用,這類應(yīng)用面很廣,要求處理器有豐富的外設(shè),并且各方面比較均衡;R系列強調(diào)實時性,主要用于實時控制,如汽車引擎;A系列面向高性能、低功耗應(yīng)用系統(tǒng),如智能手機。選用ARM處理器進(jìn)行開發(fā),技術(shù)積累性較強,生命周期長,設(shè)計重用度高,不易被淘汰。用戶在選擇ARM處理器時,可以針對應(yīng)用需求,從大量的ARM芯片中選用滿足性能、功能要求的產(chǎn)品,以獲得較好的性價比。
另外,由于應(yīng)用日趨復(fù)雜,而教學(xué)時間有限,一個本科生在校期間不可能深入學(xué)習(xí)嵌入式系統(tǒng)的很多細(xì)節(jié),嵌入式教學(xué)應(yīng)采用自上而下的教學(xué)方法。一開始不必花很多時間講解處理器內(nèi)核架構(gòu)/指令系統(tǒng),只要知道各種內(nèi)核的基本特點即可,重點學(xué)習(xí)、掌握處理器、外設(shè)的編程結(jié)構(gòu)(即編程者角度看到的編程模型結(jié)構(gòu),非具體物理實現(xiàn)結(jié)構(gòu))。真實的應(yīng)用、研究設(shè)計都是從粗粒度向細(xì)粒度進(jìn)階的,是一個自頂向下的過程,首先要重視的是系統(tǒng)架構(gòu)和各個抽象層。1000行的C程序,編譯后生成的目標(biāo)代碼只有10 KB左右,試想現(xiàn)在的MCU Flash動輒幾百KB,為什么?一個目標(biāo)代碼幾百KB的C程序,一般不是完全由個人寫出來的,而都會使用一些第三方的庫函數(shù)、中間件等。硬件也一樣,現(xiàn)在很多硬件系統(tǒng)都會使用一些模塊(Module),盡管這些模塊看上去還是一個芯片,但實際上已經(jīng)是一個SiP模塊,如WiFi模塊。所以,在了解基本嵌入式系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,本科階段要更多地學(xué)習(xí)各種系統(tǒng)、模塊、外設(shè)、協(xié)議、庫函數(shù)的“邊界(InteRFace)”,能夠搭建一個簡單系統(tǒng)(How to do),今后在工作、或研究生階段進(jìn)一步去做好一個系統(tǒng)(How to do better)。