OpenOCD學習筆記 2 執行

2021-10-06 15:25:37 字數 2250 閱讀 1984

以windows下使用為例。

在cmd視窗下執行openocd -h可以獲取幫助資訊。

--help | -h display this help

--version | -v display openocd version

--file | -f use configuration file

--search | -s dir to search for config files and scripts

--debug | -d set debug level to 3

| -dset debug level to

--log_output | -l redirect log output to file

--command | -c run

[-f配置檔案命令]

先了解一下-f命令,該命令是使用配置檔案,後面的引數是配置檔案*.cfg的路徑。cfg檔案可以是多個檔案,例如:

openocd

-f config1.cfg -f config2.cfg -f config3.cfg

openocd優先搜尋當前資料夾,也可以通過-s命令或add_script_search_dir命令設定資料夾路徑。

執行add_script_search_dir的方式如下(注意add_script_search_dir和引數都要用雙引號括起來,試過這個命令沒有成功,不知道是不是只能用-s來設定了):

openocd -c 「add_script_search_dir c:」

一般情況下,首先要配置好偵錯程式,可以在openocd的安裝目錄內找到和你手上偵錯程式相同的cfg檔案。例如如果使用daplink,則可以在資料夾openocd\0.10.0-13\scripts\inte***ce下找到cmsis-dap.cfg

執行openocd -f inte***ce\cmsis-dap.cfg的結果如下:

xpack openocd, 64-bit open on-chip debugger 0.10.0+dev (2019-07-17-11:28)

licensed under gnu gpl v2

for bug reports, read

info : listening on port 6666 for tcl connections

info : listening on port 4444 for telnet connections

info : cmsis-dap: swd  supported

info : cmsis-dap: jtag supported

info : cmsis-dap: fw version = 2.0.0

info : cmsis-dap: inte***ce initialised (jtag)

info : swclk/tck = 1 swdio/tms = 1 tdi = 1 tdo = 1 ntrst = 0 nreset = 1

error: cmsis-dap command cmd_dap_swj_clock failed.

最後乙個錯誤可以忽略,是因為沒有指定目標板導致設定頻率錯誤。

inte***ce cmsis-dap

inte***ce的引數常用的有cmsis-dap、ftdi、ft232r、jlink。注意,如果是用stlink,可以看一下stlink.cfg裡面的配置,它的inte***ce引數是hla。

全部的引數可以參考手冊openocd.pdf中的8.2 inte***ce drivers。

[-c命令模式]

上面用的是-f的方式執行,也可以用-c的方式執行:

openocd -c 「inte***ce cmsis-dap」

[-d除錯功能]

除錯功能有3級設定,等級3包括所有資訊,而預設的等級2輸出資訊、錯誤和警告,等級1則只輸出錯誤資訊。命令方式如下:

openocd -c 「inte***ce cmsis-dap」 -d1

[-l 輸出到檔案]

除錯資訊預設是輸出到視窗的,可以通過-l命令輸出到乙個檔案中。

openocd -c 「inte***ce cmsis-dap」 -l 「debug.txt」

這樣除錯資訊都輸出到openocd.exe所在資料夾

執行openocd時它是作為乙個server,所以還需要連線乙個client(telnet, gdb, rpc)來傳送命令

telnet:遠端登陸系統

gdb:unix及unix-like下的除錯工具(常用)

rpc:遠端過程呼叫

Docker學習筆記 2 執行nginx

這裡我們使用網易蜂巢來查詢相應的映象 然後就就執行這個映象 docker run hub.c.163.com library nginx執行後發現結果是一片空白,這是為啥呢?因為這樣執行我們只是在前台進行執行而不是後台,而nginx執行方式最好是在後台執行,所以加上 d這個引數,代表run in b...

DCMTK學習筆記2 建立工程,執行案例

iphlpapi.lib ws2 32.lib wsock32.lib netapi32.lib ofstd.lib oflog.lib dcmdata.lib dcmdsig.lib dcmnet.lib dcmsr.lib dcmimgle.lib dcmqrdb.lib dcmtls.lib ...

學習筆記2

異常 try catch exception e finally 如果出現異常的 沒有try catch語句,異常會浮現至它所出現的方法上,然後從該方法拋至其呼叫者。異常分為檢查異常和非檢查異常,常見的錯誤例如1 0等為非檢查異常,大部分都是檢查異常。過載,重寫 過載就是同乙個類中方法名相同,但是方...