国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

如何在Linux上使用WchLink+Openocd調試RP2040系單片機

2023-02-18 00:15 作者:PCX-LK  | 我要投稿

0.前言

最近在制作基于rp2040芯片的音游控制器,從某控制器交流群的大佬口中得知arm系的單片機可以使用調試器,于是就自己買來了一個wchLink準備研究(如圖)

我實際上還用不上調試器,因為現在在用MicroPython(((

up主的wchLinkE

又從網上得知了OpenOCD這個開源的調試軟件。

我使用的系統(tǒng)是Linux,但是網上的Linux上使用openocd+wchlink的資料少之又少,而且多半圍繞著專有軟件(就是你MRS)

但是openOCD需要一些特殊配置才能運行,所以折騰了很久才搞明白(感謝群內CafuuChino大佬的幫助)

這個教程應該適用于所有的支持SWD下載調試的arm單片機

有建議和疑問歡迎在評論區(qū)提出

1.你需要什么

????一個wchlink調試器

????一臺Linux系統(tǒng)的電腦(我這里以Debian為例)

????一個基于rp2040的開發(fā)板

????一些杜邦線

????手&腦子&眼睛以及不怕折騰的精神

2.安裝openOCD&Git

打開終端模擬器輸入:

????sudo apt install openocd git -y

等待apt安裝完畢后進入下一步

3.克隆OpenOCD的源碼倉庫

為什么要克隆源碼?因為我不知道apt安裝的OpenOCD的cfg文件在哪(或者根本沒有))

我建議你cd一個方便的路徑來克隆源碼

終端模擬器輸入以下命令克隆

????git clone?https://github.com/raspberrypi/openocd

這里克隆的是樹莓派官方的opencod源碼,可以調試rp2040的單個核心(因為wchlink不能多重調試)

4.獲取wchLink的VID和PID

插入wchLink到電腦后終端執(zhí)行

????lsusb

得到像下面的輸出


lsusb的輸出

其中“QinHeng Electronics WCH-Link”就是我們的wchLink設備

我們需要知道它的VID和PID(每個wchLink的都不一樣所以別照抄)

紅框部分是wchLink的VID和PID

所以VID就是:1a86

PID就是:8012

我們還需要在它們前面添加“0x”

所以最終得到VID:0x1a86? PID:0x8012

5.連接硬件&配置OpenOCD并啟動

首先cd到第3步克隆的源碼的根文件夾下

然后連接wchLink和rp2040開發(fā)板

????wchLink的SWDIO連接rp2040開發(fā)板的SWD接口

????wchLink的SWCLK連接rp2040開發(fā)板的SWCLK接口

????以及把兩者的GND和3v3相互連接起來

最后wchLink插入電腦

然后終端模擬器輸入

????sudo openocd -c 'adapter driver cmsis-dap' -c 'cmsis_dap_vid_pid VID?PID' -f tcl/target/rp2040-core0.cfg

其中VIDPID需要替換成上一步中最后得到的

rp2040-core0.cfg是選擇調試哪個核心用的配置文件,這里是調試第一個核心(還有rp2040-core1.cfg,調試第二個核心,但是rp2040.cfg不能使用,因為wchLink不支持多重調試,如果你有像jlink之類的支持多重調試的調試器就能用

如果一切順利的話你會得到不含ERROR的終端輸出,這意味著OpenOCD配置完畢并啟動了(如圖)

如果出現“Error: Error connecting DP: cannot read IDR”則證明wchLink與開發(fā)板的連接有問題

一個正常的輸出截圖?

然后你就可以使用telnet或者其他的工具連接OpenOCD進行調試了

具體方法/指令還請百度


如何在Linux上使用WchLink+Openocd調試RP2040系單片機的評論 (共 條)

分享到微博請遵守國家法律
西畴县| 五华县| 金寨县| 克拉玛依市| 大兴区| 资阳市| 潍坊市| 田阳县| 茌平县| 多伦县| 策勒县| 义马市| 通化县| 陆良县| 吉林省| 吴旗县| 合肥市| 会昌县| 咸丰县| 米泉市| 曲阜市| 旬阳县| 新余市| 宜春市| 九江县| 阜阳市| 呼和浩特市| 册亨县| 布拖县| 泽普县| 南靖县| 定襄县| 朝阳市| 贡嘎县| 东平县| 秦安县| 两当县| 班戈县| 镇巴县| 乌拉特中旗| 华容县|