http://www.sharifulalam.com 2006-03-29 09:19 來源:嵌入式聯盟
圖1:幾種MCU內核對于同一測試代碼所需閃存大小比較。
很多單片機應用開發工程師都有使用8或16位MCU器件的經歷,可以說8位器件在中國仍是很多開發者的“最愛”,原因之一就是它們的低價和易用性。不過32位的大潮已經襲來,當低價和易用性也成為32位MCU的特性,一場替代革命由此拉開序幕。王朋朋分析了這其中的推動因素:1、如今新應用增加了新的功能和新的特性,因而需要集成更多的I/O口和外設;2、代碼增大需要更多的存儲器(或者說更高的存儲器利用率);3、低端ARM芯片與中端16位和高端8位MCU的價格相當,并且仍不斷下降;4、ARM使用統一的開發工具,購買和使用都很方便。對于第二點,王朋朋解釋說,對于同一代碼,ARM的RISC特性又使其所需的閃存空間與常用的8位MCU—8051相比要低的多,與其他8位MCU內核相差無幾。(如圖1)
也許有人會爭辯道,8或16位MCU也在集成越來越多的功能和外圍電路,以鞏固自己的市場地位。筆者看來,撇開替代問題不談,ARM內核的更高性能已經受到越來越多“較復雜”應用開發者的青睞,而且越來越多的半導體廠商推出了基于這一內核的芯片開發平臺,因而演講者所總結的以下一些經驗非常值得借鑒:
1. ARM≠RTOS。開發項目采用ARM控制器后是否一定需要RTOS完全取決于該項目的復雜度。項目存在以下幾種情況就需要考慮使用RTOS:并行的功能模塊比較多;定時處理的功能比較多;程序的執行需要判斷很多的條件參數或資源;需要規劃代碼的優先順序;要保證多個模塊的執行時間。
2. RTOS的選擇。首先考慮RTOS的性能,如內核實時性、任務切換時間/調度機制和優先級數、中斷響應時間;其次是軟件組件和設備驅動程序的完備程度、開發工具易用性、移植性、標準兼容性等。再者就是要考慮技術支持力度、操作系統發送形式(源代碼抑或二進制代碼)、許可證發送形式等等。
她建議,對于源代碼開放(uC/OSII、uLinux等)和商業軟件(OSE、VxWorks)兩個RTOS陣營,可分別針對不同的應用進行選擇。(如圖2)
3. 至于如何選擇ARM控制器,所有用于評估8、16位架構的原則這時也同樣適用,無外乎價格、內存(片上閃存/SRAM大小)、功能(片上外設是否滿足系統要求、是否有升級空間)、功耗(如可選的省電模式)以及性能(速度、效率等)的考慮。 (本文已被瀏覽 11 次)