讓W806 跟STM32一樣進行實時調試下載程序

發布於 2022-06-17 06:54:26

本節將為大家講解如何使用CDS + cklink 實現基於 FLASH 的 debug 與燒錄

前期準備

  • 下載鏈接下方提供的W806 的Flash 下載算法文件w806.flash,由於阿裡網盤的分享限制,因此制作了7z格式的自解壓exe文件,小夥伴們可放心食用,直接解壓即可得到 w806.flash 文件 本次算法文件不包含官方的secboot文件,因此需要 修改 gcc_csky.ld 文件的flash 起始地址

​ flash 算法鏈接 「W806flash」https://www.aliyundrive.com/s/qsFyBhTnpm2

​ 測試的工程也在鏈接裡面。

  • 修改gcc_csky.ld 文件

​ 本次制作的flash 算法暫未集成 官方的secboot文件,後期會加上!!!

    • 使用CDS 打開 創建的工程 打開 gcc_csky.ld 文件按照圖中修改即可,由於未集成secboot 所以需要將程序運行地址提前,修改好後之後進行重新編譯,

    image-20220617055759381

硬件連接

  • 使用杜邦線連接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

導入flash 下載算法

  • 解壓下載的 W806flash.exe 文件,會得到 W806flash 文件夾,文件夾中即下載算法文件 W806.flash

image-20220617061047414

  • 打開CDS 工程,依次點擊軟件上方的工具欄選項 Window -->> Preferences

image-20220617060800498

​ 在彈出的對話框中按照如圖所示,依次點擊,進行導入flash 下載算法操作

image-20220617060843508

點擊Import 選項後選擇 我們剛才解壓的flash 下載算法文件即 W806.flash

image-20220617061248979

隨後會彈出一個 Modify Flash Template 的對話框,用戶根據需要可以進行修改,也可保持默認 點擊OK 即可

image-20220617061454631

導入成功後會在右側顯示 Flash 算法的版本以及基本信息,點擊 Apply and Close 關閉即可

image-20220617061601856

配置工程使用下載算法

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

image-20220617061854918

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

image-20220617061932945

  • 在參數配置頁面按照如圖進行配置即可

image-20220617062606405

  • 在 點擊 image-20220617062700226進行選擇使用的下載算法,在彈出的頁面中按照如下配置

image-20220617063256855

配置好後如圖所示,點擊 Apply and Close 即可

image-20220617063332446

  • 切換的 Debugger 配置選項欄,進行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 選項即可,

<img src="https://zyqmain-1311779619.cos.ap-nanjing.myqcloud.com/img/202206170636307.png&quot;/>

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

image-20220611163158020

  • 一切配置正常後,可以看到如下界面即表示成功
  • image-20220617063954969
  • 如果 小夥伴連接的有串口 0 的話 ,會看到如下打印

image-20220617064047357

斷點的設置

由於本次是基於Flash 的調試,因此斷點類型需要設置為 硬件斷點 或者自動斷點 設置方法如下

image-20220617064358298

設置好後,雙擊側邊欄 即可快捷進行斷點設置

image-20220617064537884

隨後 即可進行debug 調試了,斷開 debug ,按下開發板的 複位鍵 ,程序即可正常自動運行。

0 條評論

發布
問題