7.調(diào)試
對(duì) Cortex-M3 處理器系統(tǒng)進(jìn)行調(diào)試和追蹤是通過調(diào)試訪問端口( Debug Access Port )來實(shí)現(xiàn)的。調(diào)試訪問端口可以是一個(gè) 2針的串行調(diào)試端口( Serial Wire Debug Port )或者串行 JTAG調(diào)試端口( Serial Wire JTAG Debug Port )。通過 Flash片、斷點(diǎn)單元、數(shù)據(jù)觀察點(diǎn)、跟蹤單元,以及可選的嵌入式跟蹤宏單元( Embedded Trace Macrocell )和指令跟蹤宏單元( Instrumentation Trace Macrocell )等一系列功能相結(jié)合,在內(nèi)核部分就可以采用多種類型的調(diào)試方法及監(jiān)控函數(shù)。例如,可以設(shè)置斷點(diǎn)、觀察點(diǎn)、定義缺省條件或執(zhí)行調(diào)試請(qǐng)求、監(jiān)控停止操作或繼續(xù)操作。所有的這些功能在 ARM架構(gòu)的產(chǎn)品中已經(jīng)實(shí)現(xiàn),只是 Cortex-M3 將這些功能整合起來,方便開發(fā)人員使用。
8.應(yīng)用范圍
雖然 ARM7內(nèi)核并沒有像Cortex系列那樣集成很多外設(shè),但是大量的基于ARM7的器件,從通用MCU,到面向應(yīng)用的MCU、SOC甚至是Actel公司基于ARM7內(nèi)核的FPGA,都擁有更為眾多的外圍設(shè)備。大約有150種MCU是基于ARM7內(nèi)核的(根據(jù)不同的統(tǒng)計(jì)方法,這個(gè)數(shù)字可能會(huì)更高)。
你會(huì)發(fā)現(xiàn) ARM7都可以實(shí)現(xiàn)幾乎所有的嵌入式應(yīng)用,或采用定制的方式來滿足需求?;跇?biāo)準(zhǔn)內(nèi)核,芯片廠商可以加入不同類型、大小的存儲(chǔ)器和其他外圍設(shè)備,比如串行接口、總線控制器、存儲(chǔ)器控制器和圖形單元,并針對(duì)工業(yè)、汽車或者其他要求苛刻的領(lǐng)域,使用不同的芯片封裝,提供不同溫度范圍的芯片版本。芯片廠商也可能綁定特定的軟件,比如TCP/IP協(xié)議?;蛎嫦蛱囟☉?yīng)用的軟件。
例如, STMicroelectronics公司的STR7產(chǎn)品線有三個(gè)主要系列共45個(gè)成員,具有不同的封裝和存儲(chǔ)器。每一個(gè)系列都針對(duì)特定的應(yīng)用領(lǐng)域,具有不同外設(shè)集合。比如STR730家族是專為工業(yè)和汽車應(yīng)用設(shè)計(jì)的,因此具有可擴(kuò)展的溫度范圍,包括多個(gè)I/O口和3個(gè)CAN總線接口。STR710則是面向于消費(fèi)市場以及高端的工業(yè)應(yīng)用,它具有多個(gè)通信接口,比如USB, CAN, ISO7816以及4個(gè)UART,還有大容量的存儲(chǔ)器和一個(gè)外部存儲(chǔ)器接口。
芯片廠商也可以選擇利于開發(fā)人員開發(fā)產(chǎn)品的措施,比如采用 ARM的 嵌入式跟蹤宏單元 ETM( Embedded Trace Macrocell ),并提供開發(fā)和調(diào)試工具。
截止至這篇文章寫作之時(shí), Luminary、STMicroelectronics這兩家公司已經(jīng)有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布生產(chǎn)該類產(chǎn)品。(Luminary已經(jīng)被TI收購)
9.配套工具
ARM7應(yīng)用已經(jīng)非常普及,它已經(jīng)有非常多第三方的開發(fā)和調(diào)試工具支持。在ARM的網(wǎng)站上有超過130家工具公司名稱列表。
大多數(shù)廠商提供了基本的開發(fā)板,并提供下載程序的接口、調(diào)試工具以及外部設(shè)備的驅(qū)動(dòng),包括 LED燈的顯示狀態(tài)或者屏幕上的單行顯示。通常,開發(fā)套件包括編譯器、一些調(diào)試軟件以及開發(fā)板。更為高級(jí)的套件包括第三方的集成開發(fā)環(huán)境(IDE),IDE中包含編譯器、鏈接器、調(diào)試器、編輯器和其他工具,也可能包括仿真硬件,比如說JTAG仿真器。
內(nèi)電路仿真器( ICE)是最早的也是最有用的調(diào)試工具形式之一,很多廠商都在ARM7上提供了這一接口。
軟件開發(fā)工具范圍很廣:從建模到可視化設(shè)計(jì),到編譯器?,F(xiàn)在很多的產(chǎn)品也用到實(shí)時(shí)操作系統(tǒng)( RTOS)和中間件,以加速開發(fā)進(jìn)程、降低開發(fā)難度。另外,還有一個(gè)非常重要的因素,很多的開發(fā)人員對(duì) ARM7的開發(fā)經(jīng)驗(yàn)非常豐富。
雖然現(xiàn)在已經(jīng)有新興的 Cortex-M3 工具,但顯然還是有一定的差距。不過, Cortex-M3的集成調(diào)試性能使調(diào)試變得簡單且有效,且無需用到內(nèi)電路仿真器ICE。
10.決策
那么,你應(yīng)該如何做出何種選擇呢?如果成本是最主要考慮因素,您應(yīng)該選擇 Cortex-M3;如果在低成本的情況下尋求更好的性能和改進(jìn)功耗,您最好考慮選用Cortex-M3;特別是如果你的應(yīng)用是汽車和無線領(lǐng)域,最好也采用Cortex-M3,這正是Coretex-M3的主要定位市場。由于 Cortex-M3內(nèi)核中的多種集成元素以及采用Thumb-2指令集,其開發(fā)和調(diào)試比ARM7TDMI要簡單快捷。
然而,由于重定義 ARM7TDMI的應(yīng)用不是一件困難的事,特別是在使用了RTOS的情況下。保守者可能會(huì)沿用ARM7TDMI內(nèi)核的芯片,并避免使用那些會(huì)使重定義變得復(fù)雜的功能。
評(píng)論