本節將為大家講解如何使用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
測試的工程也在鏈接裡面。
本次制作的flash 算法暫未集成 官方的secboot文件,後期會加上!!!
-
- 使用CDS 打開 創建的工程 打開 gcc_csky.ld 文件按照圖中修改即可,由於未集成secboot 所以需要將程序運行地址提前,修改好後之後進行重新編譯,
硬件連接
- 使用杜邦線連接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 圖標,如果連接一切正常回顯示如下圖片
導入flash 下載算法
- 解壓下載的 W806flash.exe 文件,會得到 W806flash 文件夾,文件夾中即下載算法文件 W806.flash
- 打開CDS 工程,依次點擊軟件上方的工具欄選項 Window -->> Preferences
在彈出的對話框中按照如圖所示,依次點擊,進行導入flash 下載算法操作
點擊Import 選項後選擇 我們剛才解壓的flash 下載算法文件即 W806.flash
隨後會彈出一個 Modify Flash Template 的對話框,用戶根據需要可以進行修改,也可保持默認 點擊OK 即可
導入成功後會在右側顯示 Flash 算法的版本以及基本信息,點擊 Apply and Close 關閉即可
配置工程使用下載算法
- 右鍵創建好的項目,按照如圖所示進行 debugger 配置即可
- 在彈出的 Debug Configuration 選項卡中 ,雙擊T-Head Application 選項進行打開debug 參數配置頁面
- 在 點擊 進行選擇使用的下載算法,在彈出的頁面中按照如下配置
配置好後如圖所示,點擊 Apply and Close 即可
- 切換的 Debugger 配置選項欄,進行Debugger 配置
- 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 選項
- 配置好後選擇 Apply 然後 直接點擊 Debug 選項即可,
<img src="https://zyqmain-1311779619.cos.ap-nanjing.myqcloud.com/img/202206170636307.png"/>
第一次需要這樣配置,隨後只需要點擊 IDE 界面上的小蜘蛛圖標即可,或者右鍵選擇 debug 也是可以的
- 一切配置正常後,可以看到如下界面即表示成功
- 如果 小夥伴連接的有串口 0 的話 ,會看到如下打印
斷點的設置
由於本次是基於Flash 的調試,因此斷點類型需要設置為 硬件斷點 或者自動斷點 設置方法如下
設置好後,雙擊側邊欄 即可快捷進行斷點設置
隨後 即可進行debug 調試了,斷開 debug ,按下開發板的 複位鍵 ,程序即可正常自動運行。