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