吴忠躺衫网络科技有限公司

聚豐項(xiàng)目 > 移植Black Magic Probe到RTT

移植Black Magic Probe到RTT

使用RT-Thread開發(fā)的MCU調(diào)試器,嘗試移植Black Magic Probe的功能代碼作為獨(dú)立組件,完成SWD協(xié)議連接MCU,并通過(guò)RSP協(xié)議實(shí)現(xiàn)GDB調(diào)試。

jf_50393217 jf_50393217

分享
0 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

jf_50393217 jf_50393217

團(tuán)隊(duì)成員

jf_50393217 招采總監(jiān)

分享
項(xiàng)目簡(jiǎn)介
使用RT-Thread開發(fā)的MCU調(diào)試器,嘗試移植Black Magic Probe的功能代碼作為獨(dú)立組件,完成SWD協(xié)議連接MCU,并通過(guò)RSP協(xié)議實(shí)現(xiàn)GDB調(diào)試。
硬件說(shuō)明

1、使用stm32的SWD調(diào)試原理如下圖。

連線圖.png


即通過(guò)中科藍(lán)訊AB32VG1開發(fā)板的PE0引腳作為SWD協(xié)議的輸入和輸出引腳,向目標(biāo)設(shè)備(例如stm32)發(fā)送指令和接收數(shù)據(jù),而PE1引腳作為SWD協(xié)議的時(shí)鐘數(shù)據(jù)引腳,向目標(biāo)板輸出調(diào)試邏輯的時(shí)鐘信號(hào)。

<span style="color: rgb(51, 51, 51); font-family: " microsoft="" yahei",="" 微軟雅黑,="" roboto,="" "helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "microsoft="" "source="" han="" sans="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" sans-serif;="" font-size:="" 11.25pt;="" letter-spacing:="" 0.75pt;="" text-align:="" justify;"="">

軟件說(shuō)明

傳統(tǒng)的調(diào)試模式是這樣的:


poYBAGG6sieAY-uuAAB2_ObRNiA652.png

也就是前端工具(例如VSCode,Eclipse等等)通過(guò)電腦上的GDB 連接gdbserver,然后gdbserver通過(guò)USB連接的硬件調(diào)試器(debug probe)來(lái)調(diào)試目標(biāo)單片機(jī)設(shè)備(可通過(guò)swd接口或者jtag接口)。硬件調(diào)試器(debug probe)只充當(dāng)協(xié)議解析(SWD和JTAG)和連接目標(biāo)板的角色。


其實(shí)目前常見單片機(jī)的性能是相當(dāng)充裕的,更不用說(shuō)本次活動(dòng)的藍(lán)訊驕龍AB32VG1芯片??梢詫dbserver這個(gè)橋接GBD和硬件調(diào)試器的角色轉(zhuǎn)移到硬件調(diào)試器上。如圖所示:

BlackMp模式.png這樣做的好處就是,GDB可以直接通過(guò)USB串口來(lái)訪問(wèn)自帶了gdbserver的調(diào)試器,免去調(diào)用gdbserver的過(guò)程?,F(xiàn)在有些芯片需要使用特定版本的OpenOCD,否則連不上,安裝的版本多了,自己也不一定記得清到底哪個(gè)是給誰(shuí)用的。而且一般調(diào)用openocd也只是開個(gè)程序掛在那里,有時(shí)候還經(jīng)常忘記開。

現(xiàn)在把它集成到硬件調(diào)試器里,計(jì)算機(jī)上就不需要運(yùn)行g(shù)dbserver,可以直接通過(guò)GDB調(diào)用串口設(shè)備來(lái)調(diào)試。


在Black Magic Probe源碼里,blackmagic/src/gdb_main.c文件定義了gdbserver的對(duì)應(yīng)行為。src/target里定義了不同mcu目標(biāo)的flash燒錄操作和McuID,以及swd協(xié)議對(duì)應(yīng)操作。


本次工程的目標(biāo)是將對(duì)應(yīng)的gdbserver功能,以及swd協(xié)議,mcu目標(biāo)源碼移植到RT-Thread上,實(shí)現(xiàn)對(duì)應(yīng)的功能。


通過(guò)邏輯分析儀捕獲對(duì)應(yīng)的協(xié)議信息并驗(yàn)證(例如成功讀取操作響應(yīng)時(shí)序應(yīng)如下圖):


讀取OK.png實(shí)際捕獲的信息(因項(xiàng)目未完成,暫無(wú)對(duì)應(yīng)截圖和內(nèi)容):

演示效果

1、因工作時(shí)間較忙,項(xiàng)目未能及時(shí)完成,目前新建了對(duì)應(yīng)的項(xiàng)目,還在分析對(duì)應(yīng)源碼,需要時(shí)間完善

評(píng)論區(qū)(0 )
百家乐赌博软件下载| 迪威百家乐官网娱乐场| 百家乐官网qq游戏| 百乐坊百家乐游戏| 百家乐破解分| 唐人博彩| 百家乐官网博彩平| 澳门百家乐洗码提成查询| 大发888手机版官网| 百家乐官网真人娱乐注册| 百家乐官网實戰後二穩賺| 澳门百家乐限红规则| 斗地主棋牌游戏| 百家乐官网椅子| 百家乐蓝盾有赢钱的吗| 菲比国际娱乐| 温州百家乐官网的玩法技巧和规则| 赌片百家乐的玩法技巧和规则 | 大发888方官| 真钱百家乐官网五湖四海全讯网| 百家乐玩法注意事项| 88娱乐城官网| 君怡百家乐官网的玩法技巧和规则 | 百家乐皇室百家乐| 长治市| 开心8百家乐娱乐城| 太阳城娱乐城官方网站| 网上百家乐官网是现场吗| 百家乐赌场论坛博客| 汝南县| 波音百家乐网上娱乐| 万豪国际娱乐城| 真人百家乐在线玩| 丰合娱乐| 百家乐官网园百乐彩| 大发888客户端的软件| 七胜百家乐官网赌场娱乐网规则| 北京太阳城二手房| 蓝盾百家乐官网洗码| 大发888破解方法| 在线玩百家乐官网的玩法技巧和规则 |