微處理器和片上系統(tǒng)的全速實時調試
2004年6月B版
過去十多年時間里,微處理器和微控制器生產商都提供了獨立于CPU工作的內建監(jiān)視功能?,F(xiàn)在,許多處理器芯片都做為標準特性提供背景調試(background-debug)功能。德州儀器(TI)、Freescale和First Silicon Solutions(FSS)等公司為設計人員進一步擴展了背景調試技術。
TI公司設計的一種嵌入式仿真器可使PC主機通過標準JTAG連接訪問微控制器內部。在TI的MSP430低功耗微控制器中,嵌入在硬件中的仿真器內核負責分析數(shù)據(jù)、地址和時鐘信號(與此相對比,簡單的片上調試操作僅支持存儲器讀寫和單步程序執(zhí)行,以及監(jiān)視基本的處理器操作)。
TI公司MSP430產品線營銷總監(jiān)Mark Buccini說:“嵌入的仿真器邏輯可在系統(tǒng)全速實時工作時對處理器進行監(jiān)視。仿真器邏輯可以設置斷點、跟蹤操作以及控制時鐘?!币驗殚_發(fā)人員在目標系統(tǒng)中進行調試,與實際應用中的條件完全一樣,因此片上仿真邏輯解決了如“在仿真器中工作得挺好,但在實際目標中卻不工作!”的一些問題。
用戶只需要從PC主機連接一條JTAG電纜到目標MSP430系統(tǒng)。目標設計不需要特殊電路,只需要提供一個連接到MSP430處理器的JTAG連接器就可以了。Buccini說:“客戶可根據(jù)條件或根據(jù)變量進行觸發(fā),從而在高層次進行調試。客戶不需要逐位考察JTAG端口輸出的0和1數(shù)字。”TI提供實現(xiàn)閃存編程和調試控制操作的C語言功能。一些第三方供應商也在軟件中實現(xiàn)對MSP430的支持。根據(jù)請求,TI還可為希望直接與MSP430通信的編程人員提供一個動態(tài)鏈接庫(DLL),從而可完成特殊測試或編程目的。
通過JTAG端口將MSP430仿真器功能連接到主機的接口裝置成本約為11美元或更高。TI提供MSP430的程序開發(fā)軟件包括免費的GCC編譯器、免費但有限制的IAR編譯器以及商業(yè)軟件供應商銷售的工具。開發(fā)人員應當充分利用低功耗MSP430芯片所內建的仿真器邏輯所提供的優(yōu)點。
Freescale公司在HCS08和HCS12處理器系列中增加了一個稱為DBG的模塊,從而增強了這些處理器的調試能力。在處理器IC中的邏輯模塊對于HCS08系列稱為DBG08,對于HCS12系列稱為DBG12。HCS12系列(C和E版本的芯片)提供了一些HCS08芯片所沒有的功能。支持DBG的處理器和主計算機之間的連接要用一個4線接口:電源、地、復位和雙向調試連接。
Freescale公司8位和16位應用及系統(tǒng)經理Jim Sibigtroth說:“DBG邏輯為編程人員提供了原來只有外部電路內仿真器(ICE)才支持的一些功能。DBG邏輯包括一個存儲地址、數(shù)據(jù)和總線狀態(tài)信息的總線捕捉緩沖器。它允許用戶設置復雜的和/或順序觸發(fā)條件。”
由于DBG電路提供少量緩沖存儲器,對于HCS08為8個字,對于HCS12為64個字,因此大多數(shù)情況下,緩沖器捕捉的僅僅是程序流的變化。這些以地址形式存儲的變化發(fā)生在CPU接收到中斷、分支或變址跳轉時。運行在主PC上的調試軟件,在獲得被保存下來的地址后可以重建程序流程。原則上,調試器是這樣判斷的,“如果程序從這里運行到了那里,那么它一定要執(zhí)行這些指令?!?/P>
緩沖器還可捕捉數(shù)據(jù),例如寫入到一個串行I/O寄存器的所有數(shù)據(jù)。DBG邏輯還包括兩個16位比較器,可根據(jù)地址、數(shù)據(jù)和其它信息以9種不同模式觸發(fā)緩沖存儲器。Freescale和TI公司的器件所提供的增強片上調試能力可滿足許多開發(fā)人員的需要。但對于片上系統(tǒng)(SOC)設計來說,可能需要以不同的方式來實現(xiàn)調試工具。當SOC設計中包括內核處理器和外設時,外部引腳就不再能夠反映出器件中出現(xiàn)的所有情況。同時,與特定處理器內核相關的任何調試邏輯也無法了解關于SOC中集成外設或其它處理器的信息。
為幫助簡化SOC設計的調試和測試,F(xiàn)SS公司提供了三種嵌入式工具組成的工具包,一個調試模塊、一個總線分析儀和一個邏輯分析儀;該公司將所有這些工具都稱為片上測試儀器。該公司總裁兼首席執(zhí)行官Rick Leatherman說:“將這三個組件集成到設計中,你就擁有了一個適用于任何SOC的調試環(huán)境。”該公司以Verilog或VHDL代碼為其工具發(fā)給許可證,同時還提供專門針對Actel 8051處理器以及Altera Nios內核的工具。Leatherman補充說:“例如,如果你獲得MIPS32 4KE內核的使用許可,在設計中就可使用我們的跟蹤控制模塊?!边@一跟蹤控制模塊駐留在更大調試模塊內,負責收集實時跟蹤信息,進行壓縮并寫入到芯片內部或該公司JTAG控制器設備的跟蹤緩沖器中。
QuickLogic公司的QuickMIPS處理器(一款MIPS 4KC內核)就包括了一個FSS公司的調試模塊和可配置邏輯分析儀。進行設計調試時,程序員可以同時運行兩種功能,并在兩者之間實現(xiàn)交叉觸發(fā)。片上控制通過SOC上的JTAG端口完成。
Leatherman稱需要盡早與設計小組會面,決定他們在SOC中需要實現(xiàn)哪些功能。這種會面還可使他更好地了解設計小組希望片上儀器在硬件和軟件開發(fā)過程中起到哪些作用。他說:“片上儀器確實使設計工程師的工作更復雜了一點,因為片上儀器需要邏輯門和一些外部引腳。但當設計人員拿到第一塊設計完的芯片并且了解到片上儀器的作用時,他們會邀請我們回來?!?/P>
當系統(tǒng)需要能夠跟蹤大量總線狀態(tài)和內部操作相關的數(shù)據(jù)時,SOC必須提供較多的并行信號。特殊的FSS探頭連接SOC(或電路板)到PC主機,用來傳輸這些信息,探頭還控制JTAG信號?!?BR>
評論