青青av-亚洲激情一区二区-欧洲色综合-看片网址国产福利av中文字幕-成人精品毛片-亚洲黄色免费观看-国产夫妻在线观看-69av电影-久久性片-中文字幕av影片-色综合久久久久无码专区

【ARM】開源調(diào)試解決方案DAPLink 和 OpenOCD

1、 文檔目標(biāo)

本文介紹了流行的開源調(diào)試解決方案 DAPLink 和 OpenOCD 的情況


2、 什么是 DAPLink?

Arm Mbed DAPLink 是一個開源軟件項目,一直在 Arm、其合作伙伴、眾多硬件供應(yīng)商和世界各地的開源社區(qū)的大力開發(fā)下。

DAPLink 支持對 Arm Cortex CPU 上運行的應(yīng)用軟件進(jìn)行編程和調(diào)試。DAPLink 通常稱為固件接口,在連接到應(yīng)用 MCU 的 SWD 或 JTAG 端口。


DAPLink是arm開源的一款燒寫器,硬件電路與 STlink可以兼容,可以用于cortex系列的單片機調(diào)試與程序燒寫。V2版本增加串口支持。由于arm開源了整個項目,所以任何人使用DAPLink,都不存在版權(quán)的問題。


如果您使用支持 CMSIS-DAP 調(diào)試協(xié)議的 IDE 進(jìn)行開發(fā),則是兼容DAPLink 。


3、什么是 OpenOCD?

OpenOCD(即開放片上調(diào)試器)是一種用于嵌入式系統(tǒng)開發(fā)的功能強大且多功能的開源軟件工具。它具有多種用途,包括針對各種微控制器和處理器的調(diào)試、系統(tǒng)內(nèi)編程和邊界掃描測試。


OpenOCD 支持 JTAG 和 SWD 等各種硬件接口,允許開發(fā)人員與嵌入式設(shè)備上的軟件進(jìn)行交互和調(diào)試。其靈活性、多架構(gòu)支持和跨平臺兼容性使其成為嵌入式系統(tǒng)開發(fā)人員工具鏈中的寶貴工具,可在開發(fā)過程中促進(jìn)固件編程和邊界掃描測試等任務(wù)。


4、OpenOCD 支持 DAPLink 嗎?

是的,OpenOCD 的 master 分支支持它。以下位置有 CMSIS-DAP 的接口配置: interface/cmsis-dap.cfg

驅(qū)動程序?qū)崿F(xiàn)自動檢測以下 DAPLink 設(shè)備及其各自的 USB VID/PID 組合:

VID 0xc251: Keil Software

PID 0xf001: LPC-Link-II CMSIS_DAP

PID 0xf002: OPEN-SDA CMSIS_DAP (Freedom Board)

PID 0x2722: Keil ULINK2 CMSIS-DAP

PID 0x2750: Keil ULINKplus CMSIS-DAP

OpenOCD作為服務(wù)器,并通過端口3333接受來自GDB的傳入連接或通過端口4444接受來自telnet的傳入連接。GDB用于源文件步驟調(diào)試。telnet連接用于刷新。OpenOCD連接到 DAPLINK仿真器。DAPLINK適配器連接到目標(biāo)


5、OpenOCD command 常用命令

  • 適配器命令

“adapter driver ” 命令告訴OpenOCD您正在使用哪種類型的調(diào)試適配器,比如DAPLINK/cmsis-dap的驅(qū)動器名稱是”cmsis-dap”;

“transport select “通信方式配置,聲明使用SWD/JTAG或其他通信方式,例如為”swd”;

“adapter_khz ” 該命令設(shè)置時鐘通信速率,例如5M的為”500″;

  • 目標(biāo)板狀態(tài)處理命令(Target state handling)

init 此命令終止配置階段并進(jìn)入運行階段,如重置目標(biāo),編程閃存等需要執(zhí)行該命令

poll 查詢目標(biāo)板當(dāng)前狀態(tài)

halt 中斷目標(biāo)板的運行

resume <address> 恢復(fù)目標(biāo)板的運行,如果指定了<address>,則從地址開始運行

step <address> 單步執(zhí)行,如果指定了<address>,則從地址開始執(zhí)行一條指令

reset [run|halt|init] run:復(fù)位并運行目標(biāo); halt:復(fù)位并停止目標(biāo)運行; init:立即停止目標(biāo),并執(zhí)行復(fù)位的init腳本

  • 編程一個文件默認(rèn)情況下將執(zhí)行以下操作:

1. 執(zhí)行'init'

2. 調(diào)用"reset init"來重置和停止目標(biāo)

3. 調(diào)用"flash write_image"給指定的文件名擦除和寫入到Flash

4. 調(diào)用"verify_image "對比下載文件是否有誤

5. 調(diào)用"reset run"復(fù)位運行程序

6. 退出OpenOCD服務(wù)

關(guān)于OpenOCD 相關(guān)的用戶手冊請參考:https://openocd.org/doc/html/index.html


【更多軟件使用問題請站內(nèi)搜索或關(guān)注B站:28quan官網(wǎng)電子查看視頻教學(xué)】

主站蜘蛛池模板: 渭源县| 奉节县| 姚安县| 新龙县| 庄浪县| 云龙县| 双流县| 常德市| 柞水县| 临沂市| 平山县| 保山市| 鄢陵县| 沿河| 神木县| 连平县| 三门峡市| 九龙县| 房山区| 乌鲁木齐县| 佛学| 乐亭县| 澜沧| 叙永县| 彰化县| 通榆县| 桃源县| 辛集市| 大冶市| 从化市| 临朐县| 南平市| 新丰县| 嵊泗县| 个旧市| 诸暨市| 广宗县| 沧源| 三门峡市| 郓城县| 象山县|