分析ARM嵌入式系統(tǒng)應(yīng)用中的問(wèn)題總結(jié)
引言
本文引用地址:http://www.ex-cimer.com/article/201808/385769.htm由于各種新型微處理器的出現(xiàn)和應(yīng)用的不斷深化,嵌入式系統(tǒng)在后PC時(shí)代得到了空前的發(fā)展。隨著時(shí)間的推移和技術(shù)的進(jìn)步,在工業(yè)控制和新興的手持式應(yīng)用等領(lǐng)域,用戶體驗(yàn)成為產(chǎn)品成功的關(guān)鍵因素之一,越來(lái)越多的產(chǎn)品需要良好的用戶界面、互聯(lián)功能以及較強(qiáng)的數(shù)據(jù)處理能力,這對(duì)嵌入式處理器硬件、軟件、教學(xué)等提出了新的要求。
1 嵌入式處理器與硬件
在處理器方面,目前大量的中、低端嵌入式應(yīng)用,主要使用8/16位單片機(jī)。在國(guó)內(nèi),由于歷史的原因,主要是以MCS51核為主的許多不同型號(hào)單片機(jī),主要廠商有Atmel、Philips、Winbond、宏晶等。還有一些近幾年發(fā)展較快的新型單片機(jī),如PIC、AVR、MSP430系列等。這些單片機(jī)各有特點(diǎn),但從目前的發(fā)展角度來(lái)看,單片機(jī)針對(duì)特定應(yīng)用領(lǐng)域的個(gè)性化發(fā)展愈發(fā)明顯,典型的例子就是TI公司的MSP430系列16位單片機(jī)、ST公司的STM8L系列8位單片機(jī)和STM32L系列32位超低功耗單片機(jī)。
在嵌入式中的高端應(yīng)用領(lǐng)域,像工業(yè)控制、POS機(jī)、網(wǎng)絡(luò)設(shè)備、圖像處理、手機(jī)、PDA等,目前主要使用ARM、MIPS、PowerPC、DSP等16~64位處理器,以32位處理器為主。各種類型的處理器都有其一定的應(yīng)用針對(duì)性。例如,DSP對(duì)數(shù)字信號(hào)處理技術(shù)中用到的常用運(yùn)算、算法做了優(yōu)化設(shè)計(jì),主要用于實(shí)時(shí)信號(hào)處理領(lǐng)域,如實(shí)時(shí)音視頻處理、電機(jī)控制等。MIPS處理器性能很好,但功耗較大,適合于有交流電源供電的固定應(yīng)用,如固定的網(wǎng)絡(luò)設(shè)備、機(jī)頂盒等。ARM處理器性能高,功耗低,適合于用電池供電的便攜、手持式設(shè)備。由于近幾年便攜、手持式嵌入式應(yīng)用的高速發(fā)展,ARM處理器的增長(zhǎng)速度和市場(chǎng)占有率也快速提升,成為目前32位應(yīng)用中的主力產(chǎn)品。
由于嵌入式應(yīng)用系統(tǒng)的廣泛性,嵌入式系統(tǒng)的硬件設(shè)計(jì)涉及的知識(shí)面很廣,從模擬到數(shù)字、低頻到高頻、小信號(hào)到大功率,以及復(fù)雜的時(shí)序邏輯設(shè)計(jì)和PCB設(shè)計(jì),還要考慮軟硬件資源的合理分配,不僅要有廣而扎實(shí)的理論基礎(chǔ),更需要豐富的實(shí)踐經(jīng)驗(yàn)。只有對(duì)大大小小各種應(yīng)用系統(tǒng)反復(fù)實(shí)戰(zhàn)演練,了解新技術(shù)、新器件,使用過(guò)多種多樣的處理器和模擬/數(shù)字器件,才能逐步積累,聚沙成塔,對(duì)一個(gè)新的應(yīng)用系統(tǒng)給出快速、合理的硬件方案與設(shè)計(jì)。
2 ARM處理器的優(yōu)勢(shì)
對(duì)于如今大量出現(xiàn)的32位嵌入式應(yīng)用,以筆者之見(jiàn),ARM處理器的優(yōu)勢(shì)主要有以下幾個(gè)方面。
2.1 高性能、低功耗、低價(jià)格
把ARM處理器的性能拿來(lái)和一些著名的通用處理器(如Pentium)相比是不合適的,因?yàn)樗麄兏髯葬槍?duì)的應(yīng)用需求是不同的。Pentium處理器采用多條指令流水線的超標(biāo)量結(jié)構(gòu),追求通用應(yīng)用目標(biāo)下的超強(qiáng)性能,功耗大,可以用散熱器加風(fēng)扇散熱。ARM針對(duì)嵌入式應(yīng)用,在滿足性能要求的前提下,力求最低的功率消耗。ARM結(jié)構(gòu)的優(yōu)點(diǎn)是能兼顧到性能、功耗、代碼密度、價(jià)格等幾個(gè)方面,而且做得比較均衡。在性能/功耗比(MIPS/W)方面,ARM處理器具有業(yè)界領(lǐng)先的性能?;? ARM核的芯片價(jià)格也很低,目前ARM CortexM的芯片價(jià)格可低至10元人民幣左右。
2.2 豐富的可選擇芯片
ARM只是一個(gè)核,ARM公司自己不生產(chǎn)芯片,采用授權(quán)方式給半導(dǎo)體生產(chǎn)商。目前,全球幾乎所有的半導(dǎo)體廠家都向ARM公司購(gòu)買了各種ARM核,配上多種不同的控制器(如LCD控制器、SDRAM控制器、DMA控制器等)和外設(shè)、接口,生產(chǎn)各種基于ARM核的芯片。目前,基于ARM核的各種處理器型號(hào)有好幾百種,在國(guó)內(nèi)市場(chǎng)上,常見(jiàn)的有ST、TI、NXP、Atmel、 Samsung、OKI、Sharp、Hynix、Crystal等廠家的芯片。用戶可以根據(jù)各自的應(yīng)用需求,從性能、功能等方面考察,在許多具體型號(hào)中選擇最合適的芯片來(lái)設(shè)計(jì)自己的應(yīng)用系統(tǒng)。由于ARM核采用向上兼容的指令系統(tǒng),用戶開(kāi)發(fā)的軟件可以非常方便地移植到更高的ARM平臺(tái)。
2.3 廣泛的第三方支持
以如今的技術(shù),設(shè)計(jì)一個(gè)處理器并非難事,但要使這個(gè)處理器得到大家認(rèn)可,并取得市場(chǎng)成功卻是非常困難的,其中涉及許多技術(shù)與非技術(shù)的因素和環(huán)節(jié),還包括時(shí)機(jī)、運(yùn)氣。因?yàn)楝F(xiàn)在許多產(chǎn)品的開(kāi)發(fā),不是一個(gè)簡(jiǎn)單的處理器加幾百條指令、語(yǔ)句就可以解決的。要用到32位處理器,一般都要有編譯器、高效的開(kāi)發(fā)工具(仿真器及調(diào)試環(huán)境)、操作系統(tǒng)、協(xié)議棧等,這些東西都不是一個(gè)芯片生產(chǎn)商可以解決的,而需要許多第三方的支持。這就像一粒種子,需要土壤、空氣、水等環(huán)境才能發(fā)芽、成長(zhǎng)。這也是我們的一些“中國(guó)芯”該反思之處。
ARM通過(guò)近20年的培育、發(fā)展,得到了廣泛的第三方合作伙伴支持。目前,除通用編譯器GCC,ARM有自己的高效編譯、調(diào)試環(huán)境(MDK、 Keil),全球約有50家以上的實(shí)時(shí)操作系統(tǒng)(RTOS)軟件廠商和30家以上的EDA工具制造商,還有很多高效率的實(shí)時(shí)跟蹤調(diào)試工具的廠商,對(duì)ARM 提供了很好的支持。用戶采用ARM處理器開(kāi)發(fā)產(chǎn)品,既可以獲得廣泛的支持,也便于和同行交流,加快開(kāi)發(fā)進(jìn)度,縮短產(chǎn)品的上市時(shí)間。
2.4 完整的產(chǎn)品線和發(fā)展規(guī)劃
ARM核根據(jù)不同應(yīng)用需求對(duì)處理器的性能要求,有一個(gè)從ARM7、ARM9到ARM10、ARM11,以及新定義的CortexM/R/A系列完整的產(chǎn)品線。前幾年應(yīng)用較多的主要是基于V4架構(gòu)的ARM7TDMI、ARM720T、ARM920T核的一些處理器芯片,如NXP的LPC2000系列、ST的STR7/9系列、Atmel 的AT91系列和Samsung的S3C系列。近兩年,ARM Cortex系列以更好的性能、更低的價(jià)格得到快速推廣,典型的就是基于CortexM3的STM32系列。
ARM CortexM/R/A系列分別針對(duì)不同的應(yīng)用領(lǐng)域。M系列主要面向傳統(tǒng)微控制器(MCU/單片機(jī))應(yīng)用,這類應(yīng)用面很廣,要求處理器有豐富的外設(shè),并且各方面比較均衡;R系列強(qiáng)調(diào)實(shí)時(shí)性,主要用于實(shí)時(shí)控制,如汽車引擎;A系列面向高性能、低功耗應(yīng)用系統(tǒng),如智能手機(jī)。選用ARM處理器進(jìn)行開(kāi)發(fā),技術(shù)積累性較強(qiáng),生命周期長(zhǎng),設(shè)計(jì)重用度高,不易被淘汰。用戶在選擇ARM處理器時(shí),可以針對(duì)應(yīng)用需求,從大量的ARM芯片中選用滿足性能、功能要求的產(chǎn)品,以獲得較好的性價(jià)比。
3 ARM嵌入式系統(tǒng)的軟件
由于嵌入式系統(tǒng)的差異性很大,對(duì)不同的應(yīng)用需求,必須選擇不同的軟件設(shè)計(jì)方法、開(kāi)發(fā)平臺(tái)和系統(tǒng)工具。
對(duì)于一些不需要復(fù)雜圖形用戶界面、通信協(xié)議和復(fù)雜文件操作(如同時(shí)打開(kāi)多個(gè)文件)的應(yīng)用,如果選用CortexM3核的處理器就已可以滿足要求,任務(wù)數(shù)不多,任務(wù)之間的關(guān)系也不復(fù)雜,則不一定需要移植復(fù)雜的操作系統(tǒng)。這樣一方面可以降低系統(tǒng)硬件開(kāi)銷,也可以獲得更好的實(shí)時(shí)性和執(zhí)行速度。不過(guò),這樣的軟件開(kāi)發(fā)方法需要開(kāi)發(fā)人員有較好的程序設(shè)計(jì)思想,對(duì)所用器件有深入的了解,并掌握其編程控制方法。若引入一個(gè)簡(jiǎn)單的操作系統(tǒng),如μC/OS,可以簡(jiǎn)化程序結(jié)構(gòu),但開(kāi)發(fā)者最好熟悉其內(nèi)核結(jié)構(gòu),并有使用經(jīng)驗(yàn),否則可能會(huì)需要更多的系統(tǒng)開(kāi)發(fā)、調(diào)試時(shí)間。
評(píng)論