• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

如何獲取Jlink-ob的固件

2024/05/29
5728
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

前面文章提到,我準(zhǔn)備自己DIY一個DebugTool,自己做一個既能夠通過SWD下載又能實現(xiàn)RTT和兼容Jscop進行波形輸出,同時還能進行串口通信的工具。

在對比了DAPLink和Jlink-ob之后,我覺得先使用STM32F072這個芯片來DIY一個Jlink-ob,使用072好處是,它電路簡單,不需要外部晶振,同時支持opencdc的虛擬串口和SWO引腳。

這樣,如果效果好的話,就在DebugTool上面繼承DAPlink和Jlink-ob兩個燒錄器,可以同時跟蹤調(diào)試多個板子。

首先花了一個小時畫了個小板子,正好嘉立創(chuàng)有免費的打板優(yōu)惠卷,連運費都不需要,真的感謝嘉立創(chuàng)。

為了方便可靠,接口使用了TypeC接口,并將CC1和CC2進行下拉,保證任何接口都可以獲取到5V的VBUS電壓。

由于無需晶振,電路非常簡潔,為了方便手工焊接,所有阻容元器件全部選用了0603封裝,吃激素吃的手還是抖,駕馭不了0402的器件。

鑒于嘉立創(chuàng)的免費卷,先做一個獨立的下載器手工一下。另外,立創(chuàng)商城的STM32真的價格太高了,我還是選擇了淘寶,目前STM32F072C8T6大概是3塊錢一片,拆機件便宜一些,還在板子上的,沒拆下來的更便宜,1.8就可以拿到手。

板子還沒到,所以先學(xué)習(xí)一下,如果獲取STM32F072中的jlink-ob的固件

SEGGER肯定不會給我們在官方網(wǎng)站上提供一個按鈕的。

但是,我們知道,我們在使用jlink-ob的時候,經(jīng)常會遇到固件更新的提示,既然它能夠通過usb更新jlink-ob的固件,那么說明jlink的驅(qū)動程序中一定包含了對應(yīng)的固件。

一個網(wǎng)名為DIY JLink-OB-072 (JLink + COM) : X893的大神就找到了固件的位置,我們一起來探究一下。

先說答案,這個固件存放在jlink的驅(qū)動文件中,就是我們在MDK中也會調(diào)用的JlinkAMR.dll文件。

dll文件就是window系統(tǒng)中編譯好的二進制文件,所以我們可以使用vs code或者Winhex打開這個二進制文件,就像我們打開bin文件一樣。

我們可以在里面搜索關(guān)鍵字,關(guān)鍵字搜索可以直接搜索STM32F072,這個dll文件里面包含多個jlink-ob的固件,這里我們只關(guān)心對應(yīng)STM32F072的。

從上面的圖里,我們可以看到這個版本的dll文件中,對應(yīng)的jlink-ob的固件,以及他的編譯時間為2017年。

順著這個地方向上翻閱,可以翻到一個40 22 00 20 的地方,他后面還跟著 8D 46 01 08。

這里因為是小端模式,所以我們應(yīng)該把這兩個32bit的數(shù)據(jù)反過來,它就變成了0x20002240和0x0801468D。

熟悉Cortex-M核的朋友都知道,編譯后生成的bin文件的第一個32bit數(shù)據(jù)和第二個32bit數(shù)據(jù)是處理器的SP和PC兩個寄存器對應(yīng)的取值。

SP是對應(yīng)的程序的棧頂指針,而PC則對應(yīng)著程序要運行的指令。

至于,這里的為什么是0x20002240和0x0801468D,我們在下一篇文章中分析。

這里,我們有了程序的起始部分,只需要把他后面的數(shù)據(jù)全部copy出來另存為一個bin文件就可以了,要copy多少呢,其實按照STM32F072的flash大小來復(fù)制就可以,因為程序結(jié)尾之后的數(shù)據(jù)并不會執(zhí)行,除非他在程序末端存放了一些配置數(shù)據(jù)。

接下來,我們還需要制作一個bootloader固件,因為從PC指針對應(yīng)的0x0801468D可以看出來,固件是從很大的一個地址開始運行,的所以我們需要將前面的數(shù)據(jù)補充為0xFF,然后將上面的提到的SP和PC指針對應(yīng)的8個字節(jié)一起覆蓋到bootloader的開始。

這樣程序就會自動跳轉(zhuǎn)到我們的固件中執(zhí)行了。

關(guān)于SP和PC指針的確定,以及bootloader的大小還需要在研究一下。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
LTST-C191KRKT 1 Lite-On Semiconductor Corporation Single Color LED, Red, Water Clear, 1.1mm, GREEN, PLASTIC PACKAGE-2

ECAD模型

下載ECAD模型
$0.08 查看
74HC165D,653 1 Nexperia 74HC165; 74HCT165 - 8-bit parallel-in/serial out shift register@en-us SOP 16-Pin

ECAD模型

下載ECAD模型
$0.46 查看
CPC1017NTR 1 IXYS Corporation Transistor Output SSR, 1-Channel, 1500V Isolation, SOP-4
$0.62 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

多年硬件從業(yè)經(jīng)驗,專注分享從研發(fā)到供應(yīng)鏈,再到精益制造過程中的經(jīng)驗和感悟!