新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 微處理器和片上系統(tǒng)的全速實(shí)時(shí)調(diào)試

微處理器和片上系統(tǒng)的全速實(shí)時(shí)調(diào)試

作者:ECN高級技術(shù)編輯 Jon Titus 時(shí)間:2004-11-02 來源:電子產(chǎn)品世界 收藏

2004年6月B版

  過去十多年時(shí)間里,和微控制器生產(chǎn)商都提供了獨(dú)立于CPU工作的內(nèi)建監(jiān)視功能?,F(xiàn)在,許多處理器芯片都做為標(biāo)準(zhǔn)特性提供背景調(diào)試(background-debug)功能。德州儀器(TI)、Freescale和First Silicon Solutions(FSS)等公司為設(shè)計(jì)人員進(jìn)一步擴(kuò)展了背景調(diào)試技術(shù)。

  TI公司設(shè)計(jì)的一種嵌入式仿真器可使PC主機(jī)通過標(biāo)準(zhǔn)JTAG連接訪問微控制器內(nèi)部。在TI的MSP430低功耗微控制器中,嵌入在硬件中的仿真器內(nèi)核負(fù)責(zé)分析數(shù)據(jù)、地址和時(shí)鐘信號(與此相對比,簡單的片上調(diào)試操作僅支持存儲器讀寫和單步程序執(zhí)行,以及監(jiān)視基本的處理器操作)。

  TI公司MSP430產(chǎn)品線營銷總監(jiān)Mark Buccini說:“嵌入的仿真器邏輯可在系統(tǒng)全速實(shí)時(shí)工作時(shí)對處理器進(jìn)行監(jiān)視。仿真器邏輯可以設(shè)置斷點(diǎn)、跟蹤操作以及控制時(shí)鐘?!币?yàn)殚_發(fā)人員在目標(biāo)系統(tǒng)中進(jìn)行調(diào)試,與實(shí)際應(yīng)用中的條件完全一樣,因此片上仿真邏輯解決了如“在仿真器中工作得挺好,但在實(shí)際目標(biāo)中卻不工作!”的一些問題。

  用戶只需要從PC主機(jī)連接一條JTAG電纜到目標(biāo)MSP430系統(tǒng)。目標(biāo)設(shè)計(jì)不需要特殊電路,只需要提供一個(gè)連接到MSP430處理器的JTAG連接器就可以了。Buccini說:“客戶可根據(jù)條件或根據(jù)變量進(jìn)行觸發(fā),從而在高層次進(jìn)行調(diào)試??蛻舨恍枰鹞豢疾霬TAG端口輸出的0和1數(shù)字。”TI提供實(shí)現(xiàn)閃存編程和調(diào)試控制操作的C語言功能。一些第三方供應(yīng)商也在軟件中實(shí)現(xiàn)對MSP430的支持。根據(jù)請求,TI還可為希望直接與MSP430通信的編程人員提供一個(gè)動態(tài)鏈接庫(DLL),從而可完成特殊測試或編程目的。

  通過JTAG端口將MSP430仿真器功能連接到主機(jī)的接口裝置成本約為11美元或更高。TI提供MSP430的程序開發(fā)軟件包括免費(fèi)的GCC編譯器、免費(fèi)但有限制的IAR編譯器以及商業(yè)軟件供應(yīng)商銷售的工具。開發(fā)人員應(yīng)當(dāng)充分利用低功耗MSP430芯片所內(nèi)建的仿真器邏輯所提供的優(yōu)點(diǎn)。

  Freescale公司在HCS08和HCS12處理器系列中增加了一個(gè)稱為DBG的模塊,從而增強(qiáng)了這些處理器的調(diào)試能力。在處理器IC中的邏輯模塊對于HCS08系列稱為DBG08,對于HCS12系列稱為DBG12。HCS12系列(C和E版本的芯片)提供了一些HCS08芯片所沒有的功能。支持DBG的處理器和主計(jì)算機(jī)之間的連接要用一個(gè)4線接口:電源、地、復(fù)位和雙向調(diào)試連接。

  Freescale公司8位和16位應(yīng)用及系統(tǒng)經(jīng)理Jim Sibigtroth說:“DBG邏輯為編程人員提供了原來只有外部電路內(nèi)仿真器(ICE)才支持的一些功能。DBG邏輯包括一個(gè)存儲地址、數(shù)據(jù)和總線狀態(tài)信息的總線捕捉緩沖器。它允許用戶設(shè)置復(fù)雜的和/或順序觸發(fā)條件?!?/P>

  由于DBG電路提供少量緩沖存儲器,對于HCS08為8個(gè)字,對于HCS12為64個(gè)字,因此大多數(shù)情況下,緩沖器捕捉的僅僅是程序流的變化。這些以地址形式存儲的變化發(fā)生在CPU接收到中斷、分支或變址跳轉(zhuǎn)時(shí)。運(yùn)行在主PC上的調(diào)試軟件,在獲得被保存下來的地址后可以重建程序流程。原則上,調(diào)試器是這樣判斷的,“如果程序從這里運(yùn)行到了那里,那么它一定要執(zhí)行這些指令?!?/P>

  緩沖器還可捕捉數(shù)據(jù),例如寫入到一個(gè)串行I/O寄存器的所有數(shù)據(jù)。DBG邏輯還包括兩個(gè)16位比較器,可根據(jù)地址、數(shù)據(jù)和其它信息以9種不同模式觸發(fā)緩沖存儲器。Freescale和TI公司的器件所提供的增強(qiáng)片上調(diào)試能力可滿足許多開發(fā)人員的需要。但對于片上系統(tǒng)(SOC)設(shè)計(jì)來說,可能需要以不同的方式來實(shí)現(xiàn)調(diào)試工具。當(dāng)SOC設(shè)計(jì)中包括內(nèi)核處理器和外設(shè)時(shí),外部引腳就不再能夠反映出器件中出現(xiàn)的所有情況。同時(shí),與特定處理器內(nèi)核相關(guān)的任何調(diào)試邏輯也無法了解關(guān)于SOC中集成外設(shè)或其它處理器的信息。

  為幫助簡化SOC設(shè)計(jì)的調(diào)試和測試,F(xiàn)SS公司提供了三種嵌入式工具組成的工具包,一個(gè)調(diào)試模塊、一個(gè)總線分析儀和一個(gè)邏輯分析儀;該公司將所有這些工具都稱為片上測試儀器。該公司總裁兼首席執(zhí)行官Rick Leatherman說:“將這三個(gè)組件集成到設(shè)計(jì)中,你就擁有了一個(gè)適用于任何SOC的調(diào)試環(huán)境?!痹摴疽訴erilog或VHDL代碼為其工具發(fā)給許可證,同時(shí)還提供專門針對Actel 8051處理器以及Altera Nios內(nèi)核的工具。Leatherman補(bǔ)充說:“例如,如果你獲得MIPS32 4KE內(nèi)核的使用許可,在設(shè)計(jì)中就可使用我們的跟蹤控制模塊?!边@一跟蹤控制模塊駐留在更大調(diào)試模塊內(nèi),負(fù)責(zé)收集實(shí)時(shí)跟蹤信息,進(jìn)行壓縮并寫入到芯片內(nèi)部或該公司JTAG控制器設(shè)備的跟蹤緩沖器中。

  QuickLogic公司的QuickMIPS處理器(一款MIPS 4KC內(nèi)核)就包括了一個(gè)FSS公司的調(diào)試模塊和可配置邏輯分析儀。進(jìn)行設(shè)計(jì)調(diào)試時(shí),程序員可以同時(shí)運(yùn)行兩種功能,并在兩者之間實(shí)現(xiàn)交叉觸發(fā)。片上控制通過SOC上的JTAG端口完成。

  Leatherman稱需要盡早與設(shè)計(jì)小組會面,決定他們在SOC中需要實(shí)現(xiàn)哪些功能。這種會面還可使他更好地了解設(shè)計(jì)小組希望片上儀器在硬件和軟件開發(fā)過程中起到哪些作用。他說:“片上儀器確實(shí)使設(shè)計(jì)工程師的工作更復(fù)雜了一點(diǎn),因?yàn)槠蟽x器需要邏輯門和一些外部引腳。但當(dāng)設(shè)計(jì)人員拿到第一塊設(shè)計(jì)完的芯片并且了解到片上儀器的作用時(shí),他們會邀請我們回來。”

  當(dāng)系統(tǒng)需要能夠跟蹤大量總線狀態(tài)和內(nèi)部操作相關(guān)的數(shù)據(jù)時(shí),SOC必須提供較多的并行信號。特殊的FSS探頭連接SOC(或電路板)到PC主機(jī),用來傳輸這些信息,探頭還控制JTAG信號?!?BR>



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉