ARM Cortex-M3 微處理器測試方法研究與實現
ARM Cortex-M 系列微處理器主要用于低成本和低功耗領域,如智能測量。人機接口設備。汽車和工業(yè)控制系統(tǒng)。大型家用電器。消費性產品和醫(yī)療器械等領域。圖4 為Cortex-M 系列微處理器的簡要框圖。
ARM Cortex-M3 內核搭載了若干種調試相關的特性。
最主要的就是程序執(zhí)行控制,包括停機(halting)。單步執(zhí)行(stepping)。指令斷點。數據觀察點。寄存器和存儲器訪 問。性能速寫(profiling)以及各種跟蹤機制。Cortex-M3 的調試系統(tǒng)基于ARM 最新的CoreSight 架構,雖然內核本身不再含有JTAG 接口,但是提供了調試訪問接口(DAP)的總線接口。通過DAP 可以訪問芯片的寄存器,也可以訪問系統(tǒng)存儲器,并且可以在內核運行的時候訪問,這就對芯片的測試提供了接口支持。集成Cortex-M3 內核的微處理器一般提供一個調試端口(DP)與DAP 相連,目前可用的調試端口包括SWJDP,既支持傳統(tǒng)的JTAG 調試,也支持新的串行線調試協(xié)議。Cortex-M3 內核還能掛載一個嵌入式跟蹤宏單元(ETM)。ETM 可以不斷地發(fā)出跟蹤信息,這些信息通過跟蹤端口接口單元(TPIU)送到內核的外部,對于外部集成再跟蹤信息分析儀的ARM 芯片,可把TIPU 輸出的已執(zhí)行指令信息捕捉到,并且送給芯片測試系統(tǒng)。
2.2 測試向量生成
用自動測試設備(ATE)測試ARM 芯片是一種傳統(tǒng)的測試技術,其優(yōu)點是可以靈活編制測試向量,專注于應用相關的功能模塊和參數。但是由于ARM 芯片的功能與應用有相當的復雜性,因此對測試系統(tǒng)所具有的能力也要求較高。這就要求測試設備本身必須要具備測試各種不同功能模塊的能力,包含對邏輯。模 擬。內存。高速或高頻電路的測試能力等等。同時測試系統(tǒng)最好是每個測試通道都有自己的獨立測試能力,避免采用資源共享的方式,以便能夠靈活運用在各種不同 的測試功能上。所以常規(guī)的ARM 芯片測試設備往往要求相當高的配置才能應對測試需求。
測試的含義非常廣泛,就ARM 芯片測試而言,可以定義多種類型的測試,不同類型的測試需要產生不同類型的測試向量。而測試向量生成的方法,雖然可以人工編制,但多數情況需要由測試向量 生成工具(ATPG)生成,才能產生比較完備的測試集。本文介紹的ARM 芯片測試方法,借助對應的ARM 芯片開發(fā)工具產生測試代碼,再由專用的測試向量生成工具生成測試向量。這種方法的優(yōu)點是能針對ARM 芯片應用開發(fā)人員關心的測試集合產生測試向量,因而比較高效,測試成本也能控制在比較低的水平上。此外,可以借助大量的ARM 芯片應用軟件來轉碼,能大幅減少工作量。缺點是不容易用算法來實現自動生成完備的測試代碼。
圖5 為ARM 芯片測試向量生成器。測試代碼一般可以從ARM 芯片開發(fā)例程中獲得,測試向量通過編譯器編譯成ARM 芯片可執(zhí)行代碼,然后與激勵向量和期望向量混合生成完整的ARM 芯片測試向量。ARM 芯片測試向量生成工具通過時間參數來確定測試代碼。激勵向量與期望向量之間的時序關系,ARM 芯片時間參數可從芯片手冊中獲得。測試向量生成后,通過BC3192 集成開發(fā)環(huán)境下載到測試系統(tǒng)圖形卡中,啟動測試程序,激勵向量依序施加到被測ARM 芯片的輸入端口,同時對輸出端進行監(jiān)測比較獲得測試結果。綜上,測試向量的產生是ARM 芯片測試的核心,本文所述測試向量生成器通過輸入ARM 芯片可執(zhí)行代碼和芯片時間參數來產生測試邏輯,具有易用。高效的特點,現已用于多個ARMCortex 內核微處理器的測試中。
3 結論
本文通過分析ARM Cortex-M3 內核的工作原理和跟蹤調試方法,利用通用的ARM 集成開發(fā)環(huán)境,結合BC3192V50 測試系統(tǒng)的測試向量生成器,能夠快速高效產生基于ARM Cortex-M3 內核的微處理器測試向量,進而完成功能和直流參數測試。本案所述方法同樣適于其他微處理器的測試。
評論