CDK 調試窗口配置參考
1、Debug配置
1)Use ICE。使用仿真器,請選擇ICE。
2)Stop at
main。進入debug模式后,代碼直接運行并停在main()。
3)Soft
Reset。軟復位內容由CPU決定。目前APT所有芯片的軟復位內容都為0xabcd1234。
4)Perform Reset after
Load。進入(ru)debug模式后,執行一次復位操作。
2、ICE configuration
在Debug界面(mian)點(dian)擊Settings會進入ICE Configuration。如下圖。
1)ICE
Clock。ICE的時鐘設置建議不超過芯片上電后運行的最(zui)慢時鐘的1/4。
2)Enable debug print。參考“如何使用CDK的serialpane"。
3)Reset
After Connect。連接上后進行軟復位操作。
4)Update。查看調試器和芯片的連接情況。
5)Download to
Flash。進入調(diao)試(shi)模式前(qian),把(ba)代碼download到芯片Flash內。
如果您(nin)的(de)電腦使用了(le)如360之類的(de)殺毒軟件,除了(le)在安裝過程中允許CDK的(de)操(cao)作之外(wai),安裝之后,必須將整(zheng)個CDK安裝目錄加入(ru)到殺毒軟件的(de)白名單區。
在一(yi)些工程中(zhong),存在一(yi)些條件編譯(yi)(如下(xia)圖)。
當多個(ge)(ge)文(wen)件(jian)同(tong)時需要這個(ge)(ge)條(tiao)件(jian)編譯(yi)的(de)時候(hou),可以通(tong)過設置(zhi)全局條(tiao)件(jian)編譯(yi)統一(yi)管理。
有時候build后會出現下(xia)列錯誤(wu),提示(shi)某些函數沒有被定義。但在CDK環境下(xia),卻可以(yi)通(tong)過goto implementation定位到(dao)。
出現這個提示(shi),說明(ming)不是函(han)數聲明(ming)的問題,而是連(lian)接器沒有找(zhao)到對應函(han)數的目標文(wen)件。
這時(shi)候,您需要就檢查
1、link type。確保選中了“start-group"
2、包含(han)這個函(han)數的文(wen)件加入工(gong)程的方式。
如果只是(shi)把文(wen)件copy到(dao)工程目錄,即使reload all project,這個文(wen)件對工程來說(shuo)仍然可(ke)能是(shi)不可(ke)見的。您(nin)需(xu)要通過(guo)工程視圖右(you)鍵(jian)“Add an Exsiting File” 或者 “Add Source Folder”。
3、查看相關函數是否(fou)被宏定義包裹。
如果是,需要對(dui)相應的宏進行定義。
根據(ju)CDK的提示信息(xi),列舉如下:
1、如(ru)果CDK提(ti)示如(ru)下,說明您的的仿真器沒有(you)和PC連接。
2、如(ru)果(guo)CDK提(ti)示如(ru)上,說明您的仿真器(qi)沒有和芯片連(lian)接。
請檢查:
● 仿真器和芯片的(de)物理連接是(shi)否穩(wen)定。
● 芯片供電(dian)是否正常。
● 對于一些(xie)有多組SWD口(kou)可(ke)以選擇的芯片,請檢查實(shi)際連接的SWD口(kou)是否(fou)和user option中的設置一致。
● 芯片的SWD口有(you)沒(mei)有(you)被誤(wu)改為非SWD功能(neng)。如果您曾(ceng)經(jing)連接成功,而后失(shi)敗(bai),很可能(neng)是這種情況
3、如果CDK提示如上(shang)(shang),說明您的仿(fang)真器(qi)(qi)處于非正常狀態(tai)。通常可以通過復位(wei)仿(fang)真芯片或是給(gei)仿(fang)真器(qi)(qi)重(zhong)新上(shang)(shang)電解決(jue)。
4、如(ru)果CDK提示如(ru)上,CDK編譯正常(chang),但不能Debug。說明您的仿真器連接是正常(chang)的,但殺毒軟件(jian)(jian)(jian)把(ba)CDK的仿真bin文(wen)件(jian)(jian)(jian)清除了,要(yao)恢復且把(ba)殺毒軟件(jian)(jian)(jian)清除選項配置不要(yao)清CDK相關(guan)文(wen)件(jian)(jian)(jian)才行。
提示找(zhao)不到(dao)flash 算法,如下圖所示。
您(nin)需要(yao)做兩個(ge)操作。
● Flash Management,將對應芯片(pian)的Flash算法加入(ru)到CDK的庫中。
● 點擊CKD菜單欄中的“Flash” -> "Flash Management..." -> "Add" 選擇代碼庫(ku)文件目錄下 “..FLASHDOWNAPT32F102_FLASHDOWN.elf ” 文件。注(zhu)意:此示例是(shi)(shi)添加APT32F102的Flash文件,如果(guo)是(shi)(shi)其他(ta)系(xi)列產品操作流程一樣。
=》
● 選擇工程(cheng)所(suo)用到的Flash 算法。
● 點(dian)(dian)擊(ji)(ji)CKD菜單欄(lan)中(zhong)的“Project” -> "Open Active Project Options..."(或(huo)者點(dian)(dian)擊(ji)(ji)Project View欄(lan)中(zhong)的快捷按鈕),在Project Settings對(dui)話(hua)框中(zhong)點(dian)(dian)擊(ji)(ji)“Flash” ->"Add",彈出對(dui)話(hua)框選中(zhong)"apt32f102"點(dian)(dian)擊(ji)(ji)“Add”再點(dian)(dian)“OK”退出,重新編譯即可通(tong)過(guo)。
當調試器(qi)提示 校驗(yan)失敗時,
您可以嘗(chang)試:
1、重新下載(zai)
2、嘗試flash erase
3、檢查(cha)是(shi)否加載了正(zheng)確的flash算法文件。
如果上述嘗試(shi)都(dou)不成功(gong),請更換芯片。
正常情況下,開發(fa)板通電后狀態如(ru)下圖(tu)。
現(xian)將led指示狀態(tai)說(shuo)明如下(xia)。
1、藍燈常亮:仿(fang)真芯片空閑。
2、藍燈閃爍:仿真芯片(pian)busy。
3、藍(lan)燈(deng)不亮,上方紅燈(deng)閃爍,指示(shi)錯誤。此時,檢(jian)查
● 電腦是否同時(shi)連接兩塊開發板。這樣會(hui)有沖突。
● 電腦是否處于開機狀(zhuang)態。
4、右側芯(xin)片(pian)端紅色燈亮:芯(xin)片(pian)供(gong)電正常。
驅(qu)動(dong)代碼更新(xin)(xin)后,工程視圖(tu)中會出現(xian)紅色的(de)問號(hao)。如下(xia)圖(tu)所示(shi)。這是因為驅(qu)動(dong)代碼的(de)版本號(hao)更新(xin)(xin)了。
解決方(fang)法:
1、switch SDK,選擇(ze)最新版本(ben)。
2、Reload All Projects
CDK支持(chi)兩種形式的串口通信。可以用來做為簡單的調試輸出和(he)輸入。
形式 | 占用芯片串口資源 | 需要CPU支持 | 輸出 | 輸入 | 非調試界面使用 | |
1 | Debug(print) | 不占用 | 依賴 (CK801支持,CK802不支持) | 支持 | 不支持 | 不行 |
2 | Uart # | 占用,需要將芯片UART口通過串口USB轉接板連接到PC | 不依賴 | 支持 | 支持 | 可以 |
使用方法如下:
1、Debug(print)
● Enable debug print
● 工程配置Compiler tab下加入Define "DBG_PRINT2PC=0;" 或者去掉這個(ge)define。
● 打(da)開view
2、Uart #
● 工程配置 Compilertab下(xia)加入Define "DBG_PRINT2PC=1;"
● 打開view(同Debugprint)
● 配置串口(COM口,波特率等(deng))