天天看點

詳解ARM的優勢及與單片機的差別

        目前大量的中、低端嵌入式應用,主要使用8/16位單片機。在國内,由于曆史的原因,主要是以MCS51核為主的許多不同型号單片機,主要廠商有Atmel、Philips、Winbond、宏晶等。還有一些近幾年發展較快的新型單片機,如PIC、AVR、MSP430系列等。這些單片機各有特點,但從目前的發展角度來看,單片機針對特定應用領域的個性化發展愈發明顯。

1、軟體方面 

       這應該是最大的差別了。引入了作業系統。為什麼引入作業系統?有什麼好處?

1)友善。主要展現在後期的開發,即在作業系統上直接開發應用程式。不像單片機一樣一切都要重新寫。前期的作業系統移植工作,還是要專業人士來做。

2)安全。這是LINUX的一個特點。LINUX的核心與使用者空間的記憶體管理分開,不會因為使用者的單個程式錯誤而引起系統死掉。這在單片機的軟體開發中沒見到過。

3)高效。引入程序的管理排程系統,使系統運作更加高效。在傳統的單片機開發中大多是基于中斷的前背景技術,對多任務的管理有局限性。

2、硬體方面 

       現在的8位單片機技術硬體發展的也非常得快,也出現了許多功能非常強大的單片機。但是與32ARM相比還是有些差距吧。

       ARM晶片大多把SDRAM,LCD等控制器內建到片子當中。在8位機,大多要進行外擴。

       總的來說,單片機是個微控制器,ARM顯然已經是個微處理器了。

       引入嵌入式作業系統之後,可以實作許多單片機系統不能完成的功能。比如:嵌入式web伺服器,java虛拟機等。也就是說,有很多免費的資源可以利用,上述兩種服務就是例子。如果在單片機上開發這些功能可以想象其中的難度。

ARM處理器的優勢詳解 

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

   高性能、低功耗、低價格 

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

  豐富的可選擇晶片 

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

   廣泛的第三方支援

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

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

        完整的産品線和發展規劃

  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處理器進行開發,技術積累性較強,生命周期長,設計重用度高,不易被淘汰。使用者在選擇ARM處理器時,可以針對應用需求,從大量的ARM晶片中選用滿足性能、功能要求的産品,以獲得較好的成本效益。

ARM處理器在便攜、手持式裝置以及工業控制等應用領域,在今後相當長的時間内是一個很好的選擇。當然,沒有一種型号的處理器是可以覆寫所有應用的,也不是搬上一個嵌入式OS,就可以很好地解決軟體問題的。

繼續閱讀