新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32 Cube Programmer 和 STM32 Cube IDE 協(xié)同調試的方法

STM32 Cube Programmer 和 STM32 Cube IDE 協(xié)同調試的方法

作者: 時間:2024-01-04 來源:ST 收藏

1. 前言

本文引用地址:http://butianyuan.cn/article/202401/454484.htm

很多人以為使用 Cube 的時候就不能同時使用 Cube Programmer ,其 實不然。 共享模式功能很早就已經具備,但是很多人并沒有在意。 Cube Programmer 和 STM32 Cube 都能夠使用 共享模式。使用 ST- LINK 共享模式,在使用 STM32 Cube 單步調試時,也可以使用 STM32 Cube Programmer 查看寄存器、內存以及選項字節(jié)。

2. 共享模式

想要發(fā)掘工具的所有潛力,一種方法是仔細閱讀工具的文檔。對于使用 STM32 Cube Programmer 的用戶,我推薦大家將<<UM2237 STM32 Cube Programmer 用 戶手冊>>通讀一遍。對于使用 STM32 Cube IDE 的用戶,我推薦大家將<<UM2609 STM32 Cube IDE 用戶指南>>通讀一遍。在讀的過程中,我們能夠發(fā)現這兩個文檔里提到 了一個 ST-LINK 共享模式。

·STM32 Cube Programmer

我們可以看到 UM2237 如下所示提到了 STM32 Cube Programmer 支持 Shared 配 置,意思是使能 shared 模式可以允許 2 個或者多個 STM32 Cube Programmer 或者其他調 試工具連接同一個 ST-LINK。這里的其他調試工具可以是 STM32 Cube IDE。

圖片.png

·STM32 Cube IDE

我們可以看到 UM2609 中說得更加詳細。如下所示,它提到了,ST-LINK 共享模 式的原理是使用 ST-LINK Server;在共享模式下,STM32 Cube IDE 和 STM32 Cube Programmer 可以同時使用;ST-LINK Server 的共享模式的端口默認是 7184 而且不能修改。

圖片.png

3.STM32 Cube IDE 和 STM32 Cube Programmer 的協(xié)同調試的配置。

我們先來找個簡單的例子看下如何使用 ST-LINK 共享模式來進行協(xié)同調試。我們選取 STM32H563 的 GPIO_IOToggle 例程,它位于 STM32CubeRepositorySTM32Cube_FW_H5_V1.0.0ProjectsNUCLEO- H563ZIExamplesGPIOGPIO_IOToggle。請各位讀者注意,你可以選擇任何例程,不限于 新發(fā)布的產品 STM32H5,也不限于簡單的例程 GPIO_IOToggle。而且,即使你使用的

STM32 Cube IDE 和 STM32 Cube Programmer 版本比我使用的要舊,這個功能大概率已經在 哪里。當然我們總是推薦你保持 STM32 Cube 工具為最新的穩(wěn)定版本。

對于 STM32 Cube IDE,我們需要在調試配置里多進行一項配置。我們可以看到如下圖所 示藍色選中的[Shared ST-LINK]。默認這一項是不選中的,我們需要這項功能就去打個勾。

圖片.png

接下來就是正常的編譯,啟動調試界面,讓它在調試界面正常運行。我們不需要掛起 它。你看到的應該是下圖這個樣子。

圖片.png

然后我們轉向 STM32 Cube Programmer 窗口。如果我們不用 ST-LINK 共享模式,我們 這個時候是不能使用 STM32 Cube Programmer 進行連接,因為 ST-LINK 已經被占用。如下 圖所示。

圖片.png

同樣共享模式不是 STM32 Cube Programmer 的默認配置。我們需要將STM32 Cube Programmer 改成支持 ST-LINK 共享。

圖片.png

我們不想讓程序從頭開始,所以這里我們使用 “Hot plug”Mode。這樣配置就完成了。 我們可以得到如下圖所示連接成功的樣子:

圖片.png

4. 幾個調試案例

這里舉出幾個協(xié)同調試案例,供大家參考。STM32 用戶若遇見STM32 Cube Programmer 支持得更好的功能,就可以考慮協(xié)同調試的方法。

4.1. 寄存器抓取與保存

寄存器抓取與保存是早期 STM32 Cube IDE 和 STM32 Cube Programmer 協(xié)同調試的一個 典型場景。早期的 STM32 Cube IDE 并不支持寄存器保存,雖然能查看寄存器,但是不能將 寄存器的內容保存下來進行比較。當然現在 STM32 Cube IDE 已經支持寄存器內容的保存, 并且支持運行時動態(tài)刷新。不過在文本格式上,STM32 Cube Programmer 依然更加的清 晰。所以我們在使用 STM32 Cube IDE 進行調試的同時,仍然有使用 STM32 Cube Programmer 來抓取寄存器和進行保存的需求。

寄存器的保存使用的菜單時高亮的[REG](Registers – BETA)。當我們點擊[Read],然后 點擊[Save to file]選擇[All peripherals]或者[Currently displayed peripherals],就可以保存所 有的寄存器內容。保存的寄存器格式易于查看,帶有相應的寄存器地址。

圖片.png

4.2. 查看選項字節(jié)

查看選項字節(jié)是 STM32 Cube Programmer 的優(yōu)勢。當 STM32 Cube IDE 正在調試應用 時,若我們懷疑某個選項字節(jié)設置不對,我們可以不必關閉 STM32 Cube IDE,而直接使用 STM32 Cube Programmer 進行查看。

圖片.png

圖1.

4.3. 文件比較

如果我們懷疑 Flash 的內容與需要下載的程序不同,同樣我們在不關閉 STM32 Cube IDE

的調試界面就可以使用 STM32 Cube Programmer 檢查 Flash。例如:

圖片.png

圖2.

5. 小結

ST-LINK 共享模式是一種很有用的功能,可以讓 STM32Cube 多個工具發(fā)揮各自的特 長,對同一設備在同一時間進行協(xié)同調試,可以極大的提高 STM32 開發(fā)效率。

*LAT1317 - Rav 1.0 - Sep.2023*

相關下載鏈接:https://share.eepw.com.cn/share/download/id/391380



關鍵詞: STM32 IDE ST-LINK

評論


相關推薦

技術專區(qū)

關閉