W806在CDS環境下在線RAM調試.

發布於 2022-06-11 16:36:38

前言

​ W806 默認程序再內部FLASH 中運行,要想使用cklink直接進行RAM 在線調試需要修改 gcc_csky.ld 文件,只需要將程序的 text 段和 rodata 段一同指向 W806的內部RAM 地址即可。需要注意的是整體編譯的固件大小不能超過W806 RAM大小,否則是無法調試的。

修改 gcc_csky.ld 文件

​ 使用CDS 打開 創建的工程 打開 gcc_csky.ld 文件修改如下,之後進行重新編譯

image-20220611154140837

cklink 連接W806

  • 使用杜邦線連接cklink 和W806 ,其連接引腳為;
CKLINK W806
TRST RESET(PA0)
TMS TMS(PA4)
TCK TCK(PA1)
GND GND
  • 這裡使用W806 開發板外部供電,不再使用cklink 供電,有可能由於供電不足導致調試失敗。
  • 由於W806的PA1 PA4 引腳,有其它額外的功能,請確保調試時,這兩個引腳未複用其他功能。

打開T-Head DebugServer

雙擊桌面上的T-Head DebugServer 圖標,如果連接一切正常回西安是如下圖片

image-20220611160629606

CDS 設置 debugger 參數

  • 右鍵 項目,按照如圖所示進行 debugger 配置即可

image-20220611160945826

  • 在彈出的 Debug Configuration 選項卡中 ,雙擊T-Head Application 選項進行打開debug 參數配置頁面

image-20220611161149052

image-20220611161402338

  • 在彈出的 Debug 配置頁面,選擇 Debugger 選項欄,進行配置

    image-20220611161752492

      • Local JTAG 該選項是直接使用cklink 進行調試,無需單獨啟動 T-Head DebugServer ,兩種調試不能同時進行,使用 Local JTAG 進行調試,需要將 T-Head DebugServer 關閉。
      • JTAG Server 該選項需要借助 T-Head DebugServer 進行創建 socket 進行遠程調試,配置時候需要將端口號與T-Head DebugServer 創建的端口號保持一致才可以
      • Simulator 該選項主要仿真 CPU核使用
      • OpenOCD 該選項針對RISC -V 系列使用

我們調試W806 一般使用 LocalJTAG 和JTAG Server 兩個選項,LocalJTAG 選項需要 cklink 固件與 CDS中內嵌的固件一直,否則會自動升級,無法阻止,JTAG Server 選項不會自動升級。本次我們使用 JTAH Server 選項

image-20220611162559122

  • 配置好後選擇 Apply 然後 直接點擊 Debug 選項即可,

image-20221110180518938

第一次需要這樣配置,隨後只需要點擊 IDE 界面上的小蜘蛛圖標即可,或者右鍵選擇 debug 也是可以的

image-20220611163158020

  • 一且正常的話即可進行單步調試了

image-20220611163358043

2 條評論

發布
問題