在線仿真器(ICE)是一種有效的工具,可為MCU設(shè)計(jì)人員提供調(diào)試代碼和運(yùn)行硬件的能力。過去,這些都是龐大,昂貴,復(fù)雜的工具,通常很難學(xué)習(xí)和使用。它們帶有自己的臍帶連接,實(shí)際上用目標(biāo)板上的微控制器替換了一個(gè)粘合版本,允許增加實(shí)時(shí)控制包裝。
幾乎普遍使用表面貼裝器件,這已不再是一種可行的方法。實(shí)際上,每個(gè)微控制器供應(yīng)商都支持系統(tǒng)內(nèi)編程,以及調(diào)試和仿真功能。調(diào)試硬件結(jié)合到當(dāng)今的微控制器中,再加上使用調(diào)試串行總線(如USB和JTAG),設(shè)計(jì)工程師可以以較少侵入性和低成本的方式測試固件和硬件。讓工程師訪問所有內(nèi)部MCU資源還可以縮短關(guān)鍵的產(chǎn)品上市周期。
本文介紹了一些微控制器調(diào)試和測試系統(tǒng)以及為嵌入式系統(tǒng)的調(diào)試和開發(fā)執(zhí)行類似ICE和ICE的功能的方法。
遺留改款
正如設(shè)計(jì)工程師可以證明的那樣,MCU可以保持真正向后兼容,同時(shí)仍然在進(jìn)行功能增強(qiáng)和性能改進(jìn)。接受一些硅手術(shù)的傳統(tǒng)架構(gòu)是Atmel AT89C51系列。這些部件基于舊的但仍然非常流行的8051架構(gòu),增加了現(xiàn)代外圍設(shè)備,如CAN,USB,SPI和智能卡接口。此外,更大量的閃存和RAM(高達(dá)128 K和8 K)以及混合信號功能(10位A/D轉(zhuǎn)換器)使這些舊架構(gòu)能夠滿足當(dāng)前的設(shè)計(jì)要求。
使用AT89OCD-01 USB仿真器(圖1),其持續(xù)實(shí)用程序的關(guān)鍵是系統(tǒng)內(nèi)編程和仿真器支持。仿真器和Windows軟件由USB端口提供支持,允許設(shè)計(jì)人員將存儲區(qū)和特殊功能寄存器劃分為可自定義的顯示。這有助于設(shè)計(jì)人員在微控制器的所有重要部分上保持可視選項(xiàng),并調(diào)試特定的功能和代碼塊。
圖1:使用串行調(diào)試技術(shù)而不是粘合劑和替換臍帶支持現(xiàn)代一代傳統(tǒng)核心,如流行的8051。
可以通過用戶定義的觸發(fā)器啟動(dòng)和停止“無限”數(shù)量的軟件斷點(diǎn)和跟蹤緩沖區(qū)。 Atmel仿真器還支持其他標(biāo)準(zhǔn)調(diào)試和跟蹤功能,如內(nèi)存位置上的步進(jìn)操作和硬件斷點(diǎn),特殊功能寄存器更新和RAM訪問(內(nèi)部和外部)。當(dāng)然,它還支持代碼下載和睡眠模式,用于調(diào)試低功耗設(shè)計(jì)。
請注意,此工具可與Java運(yùn)行時(shí)環(huán)境和KeilμVision2或3軟件開發(fā)工具配合使用,以實(shí)現(xiàn)從代碼編寫到調(diào)試和測試的無縫轉(zhuǎn)換。目標(biāo)板上的小型6針連接器是將PCB與開發(fā)和支持工具連接所需的全部(圖2)。還提供Atmel MCU產(chǎn)品線的產(chǎn)品培訓(xùn)模塊。
圖2:目標(biāo)板上的非侵入式6針連接器允許完整調(diào)試,分步操作和將代碼上傳到目標(biāo)板。
Silicon Labs也是現(xiàn)代化8051內(nèi)核的供應(yīng)商,支持其C8051Fxx系列,具有類似的基于USB的DEBUGADPTR1-USB,它使用10針SIP調(diào)試電纜通過JTAG與目標(biāo)微控制器板通信(圖3) 。為了在調(diào)試操作期間保持目標(biāo)板的實(shí)時(shí),調(diào)試器和仿真器需要32 kHz或更高的系統(tǒng)目標(biāo)時(shí)鐘。
圖3:Segger J-Link仿真器的USB供電10針SIP接頭使用JTAG協(xié)議來驅(qū)動(dòng),監(jiān)控和編程目標(biāo)處理器。
ARM?支持
支持ARM系列處理器已付出了巨大的努力。這些流行的部件提供了哈佛架構(gòu)RISC處理器的可擴(kuò)展構(gòu)造。每個(gè)基于ARM的MCU制造商都將標(biāo)準(zhǔn)化,兼容的內(nèi)核與其獨(dú)特的風(fēng)格相結(jié)合,以提供一系列豐富的功能集,外設(shè),性能和功能的處理器。
大多數(shù)芯片制造商都支持第三方編譯器和工具套件,以及調(diào)試和編程接口。第三方支持來自IAR和Keil等編譯器供應(yīng)商,以及Segger和Olimex等工具公司。
IAR JTAGJET-ARM提供標(biāo)準(zhǔn)的ETM 38引腳連接或20引腳Cortex SWD頭適配器,以支持ARM 7,ARM 9,ARM 11,MP和Cortex內(nèi)核,僅舉幾例。它支持多核調(diào)試和高達(dá)400 MHz CPU速度的跟蹤采樣。
一些不錯(cuò)的功能是它的快速代碼下載,自動(dòng)進(jìn)程初始化以及對所有片上斷點(diǎn),觸發(fā)器和過濾的支持。它還支持Linux和RTOS,并支持嵌入式Linux調(diào)試。
Keil是工具和編程編譯器的另一個(gè)主要提供商,現(xiàn)在是ARM集團(tuán)的一部分。該公司提供ULINKPRO高速調(diào)試和跟蹤單元,用于支持ARM 7,ARM 9和Cortex內(nèi)核,它與通信堆棧和實(shí)時(shí)操作系統(tǒng)緊密集成(圖4)。
圖4:Keil ULINK系統(tǒng)將開發(fā)計(jì)算機(jī)和目標(biāo)板之間的通信堆棧,代碼編譯和RTX實(shí)時(shí)操作系統(tǒng)緊密結(jié)合在一起。
Keil MDK-ARM是一個(gè)完整的軟件開發(fā)環(huán)境,它將C/C ++編譯器與公司的確定性RTX實(shí)時(shí)操作系統(tǒng)相結(jié)合。它只需要很小的內(nèi)存占用。用于TCP,CAN,USB和網(wǎng)絡(luò)的中間件庫提供具有標(biāo)準(zhǔn)驅(qū)動(dòng)程序類的堆棧,這可以節(jié)省時(shí)間。 MDK與ULINKPRO協(xié)同工作,記錄執(zhí)行的指令并提供完整代碼覆蓋的時(shí)間分析。
Segger Microcontroller Systems還支持使用工具和中間件庫進(jìn)行嵌入式處理器開發(fā),并提供高級ARM工具。 8.16.28 J-LINK ULTRA + J-Link設(shè)備是基于USB的J-Tag仿真器,支持ARM內(nèi)核。它使用ARM定義的標(biāo)準(zhǔn)20引腳接頭,為大多數(shù)流行的微處理器提供全速USB下載到Flash。
仿真器支持串行線查看器和串行線調(diào)試器模式,其中單個(gè)I/O提供密鑰寄存器,I/O和核心寄存器的快照映像。值得注意的是,一些微型制造商使用像Segger這樣的第三方工具作為其評估和開發(fā)套件的開發(fā)產(chǎn)品。它甚至可以作為MCU制造商工具集的一部分以某種形式免費(fèi)提供。
不受歡迎的道路
沒有廣泛使用或添加專用功能的零件通常也需要專門的工具。 DSP處理器是填補(bǔ)所需角色的專用處理器架構(gòu)的一個(gè)示例。
ADI公司的ADZS-ICE-100B是一款非侵入式ICE單元,可與該公司的Blackfin?系列DSP處理器配合使用。它將調(diào)試和代碼監(jiān)視功能與Visual DSP ++設(shè)計(jì)環(huán)境結(jié)合在一起,以提供與其他仿真器和調(diào)試器相同的高級控制和優(yōu)勢。
Microchip與專業(yè)工具制造商合作,為更專業(yè)的部件制作自己的開發(fā)工具套件。 Custom Computer Services的ICD-U64是MicrochipPIC?和dsPIC器件的在線編程器,仿真器和調(diào)試器。該開發(fā)環(huán)境帶有大量示例程序庫和C驅(qū)動(dòng)程序,可用于各種串行閃存,傳感器,收發(fā)器和各種外圍芯片。
德州儀器(TI)也提供自己的工具以及支持第三方工具集。一個(gè)例子是流行但專有的MSP430系列器件,TI和Olimex的仿真器都支持這些器件。
Olimex提供內(nèi)置調(diào)試器,仿真器和編程器及其MSP430-JTAG-TINY-V2工具。同樣,TI為MSP430指定的MSP-FET430PIF提供嵌入式調(diào)試和編程器工具。
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228814 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302033 -
仿真器
+關(guān)注
關(guān)注
14文章
1014瀏覽量
83591
發(fā)布評論請先 登錄
相關(guān)推薦
評論