如何正確選擇ARM控制器和操作系統(tǒng)
北京地區(qū)工程師對嵌入式系統(tǒng)開發(fā)的關(guān)注程度極其之高,從IIC北京站第一天的“嵌入式系統(tǒng)”廠商技術(shù)講座場場爆棚就可見一斑。只在北京站授課的飛利浦半導體公司演講者為與會工程師帶來了一場題為“從8/16位器件向32位系統(tǒng)過渡”的講座,既然是廠商講座,如意料中的,演講稿不可避免地出現(xiàn)了很多有關(guān)公司產(chǎn)品地介紹,但同時令人感到驚喜的是,在講座的前半段,演講者(飛利浦中國區(qū)事業(yè)總部多重市場半導體項目經(jīng)理王朋朋)從整個行業(yè)的角度,幫助聽眾分析了控制器領(lǐng)域的發(fā)展趨勢(從8/16位邁向32位的必然性),介紹了32位ARM系統(tǒng)及開發(fā)工具與方法、操作系統(tǒng)的應(yīng)用與選擇,最后“巧妙地”結(jié)合飛利浦半導體自己的產(chǎn)品系列,闡述了如何選擇合適的ARM控制器。
很多單片機應(yīng)用開發(fā)工程師都有使用8或16位MCU器件的經(jīng)歷,可以說8位器件在中國仍是很多開發(fā)者的“最愛”,原因之一就是它們的低價和易用性。不過32位的大潮已經(jīng)襲來,當?shù)蛢r和易用性也成為32位MCU的特性,一場替代革命由此拉開序幕。王朋朋分析了這其中的推動因素:1、如今新應(yīng)用增加了新的功能和新的特性,因而需要集成更多的I/O口和外設(shè);2、代碼增大需要更多的存儲器(或者說更高的存儲器利用率);3、低端ARM芯片與中端16位和高端8位MCU的價格相當,并且仍不斷下降;4、ARM使用統(tǒng)一的開發(fā)工具,購買和使用都很方便。對于第二點,王朋朋解釋說,對于同一代碼,ARM的RISC特性又使其所需的閃存空間與常用的8位MCU—8051相比要低的多,與其他8位MCU內(nèi)核相差無幾。(如圖1)
也許有人會爭辯道,8或16位MCU也在集成越來越多的功能和外圍電路,以鞏固自己的市場地位。筆者看來,撇開替代問題不談,ARM內(nèi)核的更高性能已經(jīng)受到越來越多“較復雜”應(yīng)用開發(fā)者的青睞,而且越來越多的半導體廠商推出了基于這一內(nèi)核的芯片開發(fā)平臺,因而演講者所總結(jié)的以下一些經(jīng)驗非常值得借鑒:
1. ARM≠RTOS。開發(fā)項目采用ARM控制器后是否一定需要RTOS完全取決于該項目的復雜度。項目存在以下幾種情況就需要考慮使用RTOS:并行的功能模塊比較多;定時處理的功能比較多;程序的執(zhí)行需要判斷很多的條件參數(shù)或資源;需要規(guī)劃代碼的優(yōu)先順序;要保證多個模塊的執(zhí)行時間。
2. RTOS的選擇。首先考慮RTOS的性能,如內(nèi)核實時性、任務(wù)切換時間/調(diào)度機制和優(yōu)先級數(shù)、中斷響應(yīng)時間;其次是軟件組件和設(shè)備驅(qū)動程序的完備程度、開發(fā)工具易用性、移植性、標準兼容性等。再者就是要考慮技術(shù)支持力度、操作系統(tǒng)發(fā)送形式(源代碼抑或二進制代碼)、許可證發(fā)送形式等等。
她建議,對于源代碼開放(uC/OSII、uLinux等)和商業(yè)軟件(OSE、VxWorks)兩個RTOS陣營,可分別針對不同的應(yīng)用進行選擇。(如圖2)
600)this.width=600" border=0>
3. 至于如何選擇ARM控制器,所有用于評估8、16位架構(gòu)的原則這時也同樣適用,無外乎價格、內(nèi)存(片上閃存/SRAM大?。⒐δ埽ㄆ贤庠O(shè)是否滿足系統(tǒng)要求、是否有升級空間)、功耗(如可選的省電模式)以及性能(速度、效率等)的考慮。