![](/img/trans.png)
[英]How to fix, “Breakpoint installation failed: unmatched quote” when setting breakpoints in TrueSTUDIO for STM32
[英]How to fix 'Unable to open file' when uploading to STM32 in TrueStudio
我試圖將我的STM32F411RE編寫程序從TrueStudio for STM32 IDE上載到電路板本身。 該開發板通過mini USB b電纜連接,目的是通過SWD對其進行編程。
Atollic提供了一個很好的教程,說明如何通過TrueStudio IDE和ST-Link_CLI(命令行界面)執行此編程, 如本鏈接中的文檔所述 。 這需要執行以下步驟,我已按照以下步驟進行了多次檢查:
首先,輸出(二進制)文件必須是intel .HEX,而不是TrueStudio .elf默認文件。 要更改此設置,請轉到Project properties -> c/c++ build -> settings -> tool settings tab -> other -> Output format
然后勾選選項“轉換構建輸出”,確保在下拉列表中選擇了Intel Hex選項。
要從IDE內部調用ST-Link_CLI,需要進行外部工具配置。 要進行此配置,請轉到Run -> External Tools -> External Tools Configurations ....
並創建一個新配置,將其稱為ST-Link_CLI。
對於工作目錄,我指定ST-LINK_CLI的目錄
( C:\\Program Files (x86)\\STMicroelectronics\\STM32 ST-LINK Utility\\ST-LINK Utility
)
而對於位置,我指定此目錄和文件名
( C:\\Program Files (x86)\\STMicroelectronics\\STM32 ST-LINK Utility\\ST-LINK Utility\\ST-LINK_CLI.exe
)。
最后,我添加以下參數來識別STM32板,使其通過SWD連接並處於復位狀態,同時告訴其上載TrueStudio構建的.HEX文件
( -c ID=0 SWD UR LPM -P ${project_loc}\\Debug\\${project_name}.hex -v
)。
然后,通過剛剛創建的Run -> External Tools -> ST-Link_CLI
鏈接調用此外部工具配置時,得到以下輸出:
STM32 ST-LINK CLI v3.4.0.0
STM32 ST-LINK Command Line Interface
ST-LINK SN: 066EFF525750877267092042
ST-LINK Firmware version: V2J33M25
Connected via SWD.
SWD Frequency = 4000K.
Target voltage = 3.3 V
Connection mode: Connect Under Reset
Reset mode: Hardware reset
Debug in Low Power mode enabled
Device ID: 0x431
Device flash Size: 512 Kbytes
Device family: STM32F411xC/E
Loading file...
Unable to open file!
顯然,可以從IDE內部成功調用ST-Link_CLI,但是它無法以某種方式消化.hex文件(在debug文件夾內)並將其上載到STM32板上。
即使從CubeMX刷新一個全新生成的項目並設置上述選項(包括將其設置為.hex文件),也不會允許此工具鏈將其上傳到開發板上。
通過使用ST-Link GUI手動將TrueStudio構建的.HEX文件上傳到STM32開發板上,我已經能夠成功上傳該文件,因此我認為問題不在於ST-Link本身。 但是,我無法以這種方式調試它,因為我需要為此使用TrueStudio IDE工具,因此需要外部工具配置才能成功工作。
相反,我懷疑問題出在我自己的設置上,這是由於某種原因錯過了通話或設置了錯誤的選項。 也可能是GUI和CLI客戶端以完全不同的方式運行,允許一個客戶端讀取和上傳文件,而另一個則不能,但這在我看來是不合理的。
但是,我在這里有點茫然,因為我似乎無法弄清楚為什么其他人可以通過提供的Atollic文檔進行這項工作,而我正在拋出這些錯誤。
關於我自己的代碼,我無法使ST-Link_CLI像我打算的那樣作為外部工具工作,[但是我已經使STCubeProgrammer(CLI)能夠以與各自相同的方式工作。我正在嘗試使用ST-Link]。( http://gotland.atollic.com/resources/applicationnotes/AN1801_cubeprogrammer_in_truestudio.pdf )。
鑒於我實際上使用了與以前相同的過程,而是指定了STCubeProgrammer(而不是ST-Link)的位置和可執行文件,因此我懷疑問題確實可能是ST-Link CLI(連接到TrueStudio)。
現在,它成功且立即將我引導到TrueStudio的調試環境中:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.