多個ARM器件的調(diào)試需要將硬件連接成菊花鏈的形式。這樣,只需要一個JTAG接口就能夠?qū)栈ㄦ溕系娜我釧RM器件進行仿真調(diào)試。而TKScope正支持這種菊花鏈連接的多器件仿真模式。
1 菊花鏈結(jié)構(gòu)簡介
多個ARM器件的硬件連接成菊花鏈結(jié)構(gòu),連接JTAG接口TDO的器件為菊花鏈上的第一個器件,連接JTAG接口TDI的器件為菊花鏈上的最后一個器件。前一個器件的TDI和后一個器件的TDO連接在一起,菊花鏈上所有ARM器件的TMS、TCK信號連接在一起。例如,系統(tǒng)中菊花鏈上存在2個ARM器件:一個是ARM7TDMI內(nèi)核,另一個是Cortex-M3內(nèi)核。菊花鏈硬件連接示意圖如圖1所示。
2 TKScope仿真器設置
TKScope仿真菊花鏈結(jié)構(gòu)時,需要特別注意[主要設置]、[TAP設置]兩個選項的設置方法。其他選項按照常規(guī)的仿真設置方法即可,這里不再重復敘述。
TKScope仿真菊花鏈結(jié)構(gòu)時,[主要設置]界面中的[時鐘模式]需要選擇[固定時鐘],JTAG時鐘頻率值可根據(jù)實際芯片特性設置。此時,不能選擇[同步時鐘],[自動時鐘]也不建議選擇。JTAG時鐘頻率值的設置需要考慮菊花鏈上所有ARM器件的特性,不能大于任何一個ARM器件運行的JTAG時鐘頻率值。建議所有ARM器件的JTAG時鐘頻率值設置一致。
ARM7TDMI內(nèi)核器件的JTAG最大時鐘頻率值為1 MHz;Cortex-M3內(nèi)核器件的JTAG最大時鐘頻率值為4 MHz。因此JTAG時鐘頻率值不能高于1 MHz。
本文中ARM7TDMI內(nèi)核器件和Cortex-M3內(nèi)核器件的JTAG時鐘頻率值都設置為0.5 MHz。TKScope仿真ARM7TDMI內(nèi)核,[主要設置]界面如圖2所示;TKScope仿真Correx-M3內(nèi)核,[主要設置]界面如圖3所示。
[!--empirenews.page--]
第一次進行仿真,在[TAP設置]界面中選擇[人工配置],如圖4所示。
TKScope驅(qū)動設置界面中,各個選項都正確設置完成后,選擇[硬件自檢],開始進行硬件自檢。系統(tǒng)檢測到2個或2個以上內(nèi)核時,會彈出內(nèi)核選擇提示對話框,如圖5所示。
此時,用戶可以選擇調(diào)試目標進行硬件自檢。例如,當前的工程用于仿真ARM7TDMI內(nèi)核器件,那么選中圖5中的ARM7器件,單擊[確認],進行硬件自檢,直到自檢全部成功完成。同樣,如果當前的工程是用于仿真Cortex-M3內(nèi)核器件的,那么選中圖5中的CORTEX器件,單擊[確認],進行硬件自檢。
硬件自檢成功完成后,再次打開[TAP設置]界面,此時設置為[自動檢測],如圖6所示。這樣設置以后,再次進行調(diào)試就不需要重復上述選擇調(diào)試目標的過程,系統(tǒng)會自動檢測到第一次調(diào)試時設置的調(diào)試目標。
3 TKScope仿真菊花鏈結(jié)構(gòu)操作流程
綜上所述,TKScope仿真復雜菊花鏈結(jié)構(gòu)的操作流程非常簡單。操作步驟如下:
①打開工程文件,正確設置TKScope驅(qū)動的各個選項。其中,需要特別注意[主要設置]選項,[TAP設置]選擇[人工配置]選項。
②執(zhí)行[硬件自檢],系統(tǒng)掃描出菊花鏈上的所有器件,選中此時需要調(diào)試的器件,繼續(xù)自檢過程,直到全部正確完成。
③再次打開[TAP設置]界面,選中[自動檢測]。這樣再次調(diào)試時,不必重復選擇調(diào)試器件的過程,系統(tǒng)會自動檢測到第一次調(diào)試時設置的器件信息。
TKScope仿真菊花鏈結(jié)構(gòu)按照上述的流程操作即可,每個器件對應的工程文件只需正確設置一次,以后再次調(diào)試時不必重復設置過程。