2019年3月28日 星期四

AndeSight IDE與AndeShape AICE-MCU Debug tools連線測試


實驗設備:
(1). AndeShapeTM ADP-XC5 Platform
(2). AndeShapeTM AICE-MCU
(3). AndesCoreTM N801
(4). AndeSight TM MCU V200 IDE

實驗目的:
Netlist(.mcs)燒錄到FPGA之後,我們會先測試AICE否可以與CPU連線,以便在GDB Debuging時可以正常與CPU做連線。
我們會先使用ICEman測試AICE使否可以與CPU連線,測試前要先了解CPU clock是多少MHz,因為JTAGclock不可以比CPU clock來的快,如果JTAGclockCPU clock快,就要使用ICEman的指令將AICE JTAGclock調慢。

AndeShapeTMAICE JTAG clock: 48 / 30 / 24 / 15 / 12 / 7.5 / 6 / 3.75MHz
AndeShapeTMAICE-MCU JTAG clock: 48 / 24 / 12 / 6 / 3 / 1.5MHz/750/375KHz

Andes EmbeddedTM整個Debuging的架構如下圖所示,當AndeSightTMIDE 進行Debuging時,是使用GDB軟體來下達Debug指令,Debug指令再經由ICEman連接AICE讀取CPUEDM(Embedded debug module)的資訊,進而得到CPU內部執行程序的狀態。
實驗步驟:
ICEmanAICE測試:
(1). Target board安裝好,接上電源,並將AICE-MCU連接至電腦,開啟電源(SW1),按下PWR ON(SW2),之後7-LED會顯示〝99〞。

(2). 使用滑鼠點選桌面的ICEman ICON


(3). 輸入〝ICEman.exe -p 1234〞測試AICE是否可以連線至CPU,下圖是ICEman可以正確連線至CPU的狀態。
注意:
如果想要知道ICEman有支援哪些參數,可以輸入〝ICEman.exe -help〞,可以看到修改JTAK clock的参數是〝-c〞。


(4). 假設CPU clock比較慢,這時可能會造成ICEamn無法正常與CPU連線,此時可以將AICE JTAG clock降頻,輸入〝ICEman.exe –p 1234 –c 10〞,可以發現AICE JTAG clock24MHz變為12MHz,其他可以調整的頻率可以參照-help
 
(5). ICEman確定可以與CPU連線後,我們可以將參數加入至AndeSight TMIDE內,減少重覆設定的麻煩,我們使用滑鼠點選桌面AndeSight TMIDE ICON

(6). 選擇〝Window>Preferences〞。




(7). 將步驟(4)所增加的參數加入至〝ICEman Misc Arguments〞欄位中,這裡輸入〝-c 10〞,輸入完成按〝OK〞既可。
 


中斷型態的選擇與設定:
Target board儲存程式的memoryROM或是Flash就設定使用Hardware breakpoint如果是使用RAM就設定成Software breakpoint,因為ADP-XC5使用的是SRAM,因此中斷都使用Software breakpoint,如果是拿到量產的MCU晶片可能就是選擇Hardware breakpoint因為量產的MCU大多使用ROM 或是 Flash儲存程式
 

 
Software breakpoint設定:
(1). 使用滑鼠在設定中斷點的區域按〝滑鼠右鍵〞,選擇〝Breakpoint Types〞設定〝C/C++ Breakpoints〞的Software breakpoint
 
(2). 之後就可以設定中斷點,進行Debuging步驟。

 
Hardware breakpoint設定:
(1). 選擇〝Window>Preferences〞。
 


(2). 在〝ICEman Misc Arguments〞欄位中,原本增加的參數〝-c 10〞,再增加〝-reset-hold :-H(reset and hold)的參數,變成〝-c 10 -H〞,輸入完成按〝OK〞既可。
這是要讓ICEman收到GDB中斷點指令時,會停在Debug Configurations視窗下〝Set program counter at (hex):〞欄位設定的位置,一般都是設定為〝0x0〞,我們會在之後的步驟做設定。
 

(3). 選擇〝Run>Debug Configurations...〞。


(4). 勾選下列選項並輸入參數。





(5). 將編譯完成的燒錄檔(.bin),利用下列AndeSight IDE所提供的Real Board連結工具,選擇使用MCU IC設計廠商所提供的燒錄程式(ISP),將燒錄檔燒錄至MCUFlashc或是ROM中。
 

(6). 使用滑鼠在設定中斷點的區域按〝滑鼠右鍵〞,選擇〝Breakpoint Types〞設定〝C/C++ Hardware Breakpoints〞的Hardware breakpoint


(7). 之後就可以設定中斷點,進行Debuging步驟。


沒有留言:

張貼留言