新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 微處理器和片上系統的全速實時調試

        微處理器和片上系統的全速實時調試

        作者:ECN高級技術編輯 Jon Titus 時間:2004-11-02 來源:電子產品世界 收藏

        2004年6月B版

          過去十多年時間里,和微控制器生產商都提供了獨立于CPU工作的內建監視功能。現在,許多處理器芯片都做為標準特性提供背景調試(background-debug)功能。德州儀器(TI)、Freescale和First Silicon Solutions(FSS)等公司為設計人員進一步擴展了背景調試技術。

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

          TI公司MSP430產品線營銷總監Mark Buccini說:“嵌入的仿真器邏輯可在系統全速實時工作時對處理器進行監視。仿真器邏輯可以設置斷點、跟蹤操作以及控制時鐘。”因為開發人員在目標系統中進行調試,與實際應用中的條件完全一樣,因此片上仿真邏輯解決了如“在仿真器中工作得挺好,但在實際目標中卻不工作!”的一些問題。

          用戶只需要從PC主機連接一條JTAG電纜到目標MSP430系統。目標設計不需要特殊電路,只需要提供一個連接到MSP430處理器的JTAG連接器就可以了。Buccini說:“客戶可根據條件或根據變量進行觸發,從而在高層次進行調試。客戶不需要逐位考察JTAG端口輸出的0和1數字。”TI提供實現閃存編程和調試控制操作的C語言功能。一些第三方供應商也在軟件中實現對MSP430的支持。根據請求,TI還可為希望直接與MSP430通信的編程人員提供一個動態鏈接庫(DLL),從而可完成特殊測試或編程目的。

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

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

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

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

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

          為幫助簡化SOC設計的調試和測試,FSS公司提供了三種嵌入式工具組成的工具包,一個調試模塊、一個總線分析儀和一個邏輯分析儀;該公司將所有這些工具都稱為片上測試儀器。該公司總裁兼首席執行官Rick Leatherman說:“將這三個組件集成到設計中,你就擁有了一個適用于任何SOC的調試環境。”該公司以Verilog或VHDL代碼為其工具發給許可證,同時還提供專門針對Actel 8051處理器以及Altera Nios內核的工具。Leatherman補充說:“例如,如果你獲得MIPS32 4KE內核的使用許可,在設計中就可使用我們的跟蹤控制模塊。”這一跟蹤控制模塊駐留在更大調試模塊內,負責收集實時跟蹤信息,進行壓縮并寫入到芯片內部或該公司JTAG控制器設備的跟蹤緩沖器中。

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

          Leatherman稱需要盡早與設計小組會面,決定他們在SOC中需要實現哪些功能。這種會面還可使他更好地了解設計小組希望片上儀器在硬件和軟件開發過程中起到哪些作用。他說:“片上儀器確實使設計工程師的工作更復雜了一點,因為片上儀器需要邏輯門和一些外部引腳。但當設計人員拿到第一塊設計完的芯片并且了解到片上儀器的作用時,他們會邀請我們回來。”

          當系統需要能夠跟蹤大量總線狀態和內部操作相關的數據時,SOC必須提供較多的并行信號。特殊的FSS探頭連接SOC(或電路板)到PC主機,用來傳輸這些信息,探頭還控制JTAG信號。■



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 敦化市| 靖远县| 林芝县| 莆田市| 新津县| 浠水县| 滕州市| 海盐县| 特克斯县| 金溪县| 子长县| 张北县| 启东市| 布拖县| 汉阴县| 红桥区| 庆元县| 惠东县| 崇阳县| 济宁市| 姜堰市| 定远县| 阿拉善盟| 黄大仙区| 高淳县| 庆安县| 富蕴县| 湛江市| 保德县| 洛川县| 栾川县| 宁夏| 永平县| 蒲江县| 山阴县| 渭南市| 东港市| 海阳市| 洛宁县| 洛隆县| 中卫市|