新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM嵌入式系統的問題總結分析

ARM嵌入式系統的問題總結分析

作者: 時間:2010-11-21 來源:網絡 收藏

摘要: 本文是作者關于一些基本的思考和。主要是從處理器與硬件、處理器的優(yōu)勢、軟件、嵌入式教學等方面進行了一些梳理,談了一些個人的觀點。

本文引用地址:http://butianyuan.cn/article/151323.htm

  引言

  由于各種新型微處理器的出現和應用的不斷深化,嵌入式在后PC時代得到了空前的發(fā)展。隨著時間的推移和技術的進步,在工業(yè)控制和新興的手持式應用等領域,用戶體驗成為產品成功的關鍵因素之一,越來越多的產品需要良好的用戶界面、互聯功能以及較強的數據處理能力,這對嵌入式處理器硬件、軟件、教學等提出了新的要求。

  1 嵌入式處理器與硬件

  在處理器方面,目前大量的中、低端嵌入式應用,主要使用8/16位單片機。在國內,由于歷史的原因,主要是以MCS51核為主的許多不同型號單片機,主要廠商有Atmel、Philips、Winbond、宏晶等。還有一些近幾年發(fā)展較快的新型單片機,如PIC、AVR、MSP430系列等。這些單片機各有特點,但從目前的發(fā)展角度來看,單片機針對特定應用領域的個性化發(fā)展愈發(fā)明顯,典型的例子就是TI公司的MSP430系列16位單片機、ST公司的STM8L系列8位單片機和STM32L系列32位超低功耗單片機。

  在嵌入式中的高端應用領域,像工業(yè)控制、POS機、網絡設備、圖像處理、手機、PDA等,目前主要使用、MIPS、PowerPC、DSP等16~64位處理器,以32位處理器為主。各種類型的處理器都有其一定的應用針對性。例如,DSP對數字信號處理技術中用到的常用運算、算法做了優(yōu)化設計,主要用于實時信號處理領域,如實時音視頻處理、電機控制等。MIPS處理器性能很好,但功耗較大,適合于有交流電源供電的固定應用,如固定的網絡設備、機頂盒等。處理器性能高,功耗低,適合于用電池供電的便攜、手持式設備。由于近幾年便攜、手持式嵌入式應用的高速發(fā)展,ARM處理器的增長速度和市場占有率也快速提升,成為目前32位應用中的主力產品。

  由于嵌入式應用系統的廣泛性,嵌入式系統的硬件設計涉及的知識面很廣,從模擬到數字、低頻到高頻、小信號到大功率,以及復雜的時序邏輯設計和PCB設計,還要考慮軟硬件資源的合理分配,不僅要有廣而扎實的理論基礎,更需要豐富的實踐經驗。只有對大大小小各種應用系統反復實戰(zhàn)演練,了解新技術、新器件,使用過多種多樣的處理器和模擬/數字器件,才能逐步積累,聚沙成塔,對一個新的應用系統給出快速、合理的硬件方案與設計。

  2 ARM處理器的優(yōu)勢

  對于如今大量出現的32位嵌入式應用,以筆者之見,ARM處理器的優(yōu)勢主要有以下幾個方面。

  2.1 高性能、低功耗、低價格

  把ARM處理器的性能拿來和一些著名的通用處理器(如Pentium)相比是不合適的,因為他們各自針對的應用需求是不同的。Pentium處理器采用多條指令流水線的超標量結構,追求通用應用目標下的超強性能,功耗大,可以用散熱器加風扇散熱。ARM針對嵌入式應用,在滿足性能要求的前提下,力求最低的功率消耗。ARM結構的優(yōu)點是能兼顧到性能、功耗、代碼密度、價格等幾個方面,而且做得比較均衡。在性能/功耗比(MIPS/W)方面,ARM處理器具有業(yè)界領先的性能。基于ARM核的芯片價格也很低,目前ARM CortexM的芯片價格可低至10元人民幣左右。

  2.2 豐富的可選擇芯片

  ARM只是一個核,ARM公司自己不生產芯片,采用授權方式給半導體生產商。目前,全球幾乎所有的半導體廠家都向ARM公司購買了各種ARM核,配上多種不同的控制器(如LCD控制器、SDRAM控制器、DMA控制器等)和外設、接口,生產各種基于ARM核的芯片。目前,基于ARM核的各種處理器型號有好幾百種,在國內市場上,常見的有ST、TI、NXP、Atmel、Samsung、OKI、Sharp、Hynix、Crystal等廠家的芯片。用戶可以根據各自的應用需求,從性能、功能等方面考察,在許多具體型號中選擇最合適的芯片來設計自己的應用系統。由于ARM核采用向上兼容的指令系統,用戶開發(fā)的軟件可以非常方便地移植到更高的ARM平臺。

  2.3 廣泛的第三方支持

  以如今的技術,設計一個處理器并非難事,但要使這個處理器得到大家認可,并取得市場成功卻是非常困難的,其中涉及許多技術與非技術的因素和環(huán)節(jié),還包括時機、運氣。因為現在許多產品的開發(fā),不是一個簡單的處理器加幾百條指令、語句就可以解決的。要用到32位處理器,一般都要有編譯器、高效的開發(fā)工具(仿真器及調試環(huán)境)、操作系統、協議棧等,這些東西都不是一個芯片生產商可以解決的,而需要許多第三方的支持。這就像一粒種子,需要土壤、空氣、水等環(huán)境才能發(fā)芽、成長。這也是我們的一些“中國芯”該反思之處。

  ARM通過近20年的培育、發(fā)展,得到了廣泛的第三方合作伙伴支持。目前,除通用編譯器GCC,ARM有自己的高效編譯、調試環(huán)境(MDK、Keil),全球約有50家以上的實時操作系統(RTOS)軟件廠商和30家以上的EDA工具制造商,還有很多高效率的實時跟蹤調試工具的廠商,對ARM提供了很好的支持。用戶采用ARM處理器開發(fā)產品,既可以獲得廣泛的支持,也便于和同行交流,加快開發(fā)進度,縮短產品的上市時間。

  2.4 完整的產品線和發(fā)展規(guī)劃

  ARM核根據不同應用需求對處理器的性能要求,有一個從ARM7、ARM9到ARM10、ARM11,以及新定義的CortexM/R/A系列完整的產品線。前幾年應用較多的主要是基于V4架構的ARM7TDMI、ARM720T、ARM920T核的一些處理器芯片,如NXP的LPC2000系列、ST的STR7/9系列、Atmel 的AT91系列和Samsung的S3C系列。近兩年,ARM Cortex系列以更好的性能、更低的價格得到快速推廣,典型的就是基于CortexM3的STM32系列。

  ARM CortexM/R/A系列分別針對不同的應用領域。M系列主要面向傳統微控制器(MCU/單片機)應用,這類應用面很廣,要求處理器有豐富的外設,并且各方面比較均衡;R系列強調實時性,主要用于實時控制,如汽車引擎;A系列面向高性能、低功耗應用系統,如智能手機。選用ARM處理器進行開發(fā),技術積累性較強,生命周期長,設計重用度高,不易被淘汰。用戶在選擇ARM處理器時,可以針對應用需求,從大量的ARM芯片中選用滿足性能、功能要求的產品,以獲得較好的性價比。

  3 ARM嵌入式系統的軟件

  由于嵌入式系統的差異性很大,對不同的應用需求,必須選擇不同的軟件設計方法、開發(fā)平臺和系統工具。

  對于一些不需要復雜圖形用戶界面、通信協議和復雜文件操作(如同時打開多個文件)的應用,如果選用CortexM3核的處理器就已可以滿足要求,任務數不多,任務之間的關系也不復雜,則不一定需要移植復雜的操作系統。這樣一方面可以降低系統硬件開銷,也可以獲得更好的實時性和執(zhí)行速度。不過,這樣的軟件開發(fā)方法需要開發(fā)人員有較好的程序設計思想,對所用器件有深入的了解,并掌握其編程控制方法。若引入一個簡單的操作系統,如μC/OS,可以簡化程序結構,但開發(fā)者最好熟悉其內核結構,并有使用經驗,否則可能會需要更多的系統開發(fā)、調試時間。

  如果選擇了帶存儲器管理單元(MMU)的ARM處理器(如ARM920T、CortexA8等),這種應用系統根據應用、實時性、開發(fā)環(huán)境等因素,移植一個功能較強的操作系統一般情況下會比較合適,如Linux、WinCE,甚至新的Android等。這種系統的開發(fā)難度主要是在OS的移植以及硬件驅動程序的開發(fā)上。當這二步工作完成后,主要的軟件開發(fā)工作已和在PC機上開發(fā)沒有多大區(qū)別,可以按照一般的軟件工程方法來進行,要注意的只是與ARM硬件平臺相關的軟件優(yōu)化。

  由于嵌入式系統硬件資源的有限性,嵌入式軟件與其他應用軟件的主要區(qū)別,在于嵌入式軟件要有較高的效率,包括執(zhí)行速度和存儲空間,盡管這二者經常是相互矛盾的。目前一般要求更多的是速度優(yōu)化。要編寫出高效的ARM程序,需要開發(fā)人員熟悉ARM的體系結構,包括內核結構、指令系統、Cache與存儲器結構等,還要有好的程序設計思想,以及對一些常用函數、算法的深刻理解。這個過程也是ARM系統開發(fā)從低級到高級的進階之路。

  目前,由于應用系統越來越復雜,嵌入式軟件的移植性和重用性也得到了人們的高度重視,因為它直接影響到嵌入式軟件的開發(fā)效率和質量。選擇一種通用的開發(fā)環(huán)境和高級編程語言,使開發(fā)的嵌入式軟件可以方便地移植到不同的硬件平臺,是實現軟件重用的基礎。目前在ARM嵌入式系統開發(fā)中,ARM RealView、Keil以及IAR的EWARM是較好的開發(fā)平臺,C/C++語言是應用最廣泛的編程語言,并具有廣泛的庫函數、程序支持,在今后很長一段時間內,仍將在嵌入式系統應用領域中占重要地位。

  4 嵌入式系統的教學

  如今,嵌入式系統作為一個熱門領域,其教學也頗受高校的關注。教學的主要目的是培養(yǎng)社會需要的人,由于嵌入式系統的廣泛性、差異性,社會對從事嵌入系統開發(fā)人員的要求也有很大的不同,既需要從事簡單8/16位單片機開發(fā)的人員,也需要從事ARM、DSP開發(fā)的人員;既要有從事硬件、底層軟件開發(fā)的人員,也要有從事OS移植、應用軟件開發(fā)的人員。由于整個大學學習時間和課程教學時數的限制,一個人顯然不可能學習、掌握嵌入系統開發(fā)的各個層面。所以,各個學校首先應根據自身情況,明確定位,確定自己培養(yǎng)學生的社會適應面,然后再制定教學大綱,確定課程內容和實驗平臺。對于高職、普通高校的電類與非電類專業(yè)、軟件學院等,都應該有不同的選擇,而不是人云亦云,一哄而上。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

pos機相關文章:pos機原理



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉