簡體   English   中英

在TrueStudio中上傳到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(命令行界面)執行此編程, 如本鏈接中的文檔所述 這需要執行以下步驟,我已按照以下步驟進行了多次檢查:

  1. 首先,輸出(二進制)文件必須是intel .HEX,而不是TrueStudio .elf默認文件。 要更改此設置,請轉到Project properties -> c/c++ build -> settings -> tool settings tab -> other -> Output format然后勾選選項“轉換構建輸出”,確保在下拉列表中選擇了Intel Hex選項。

    1


  2. 要從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 )。

    2


產量

然后,通過剛剛創建的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!

3

顯然,可以從IDE內部成功調用ST-Link_CLI,但是它無法以某種方式消化.hex文件(在debug文件夾內)並將其上載到STM32板上。

即使從CubeMX刷新一個全新生成的項目並設置上述選項(包括將其設置為.hex文件),也不會允許此工具鏈將其上傳到開發板上。


手動代碼閃爍

通過使用ST-Link GUI手動將TrueStudio構建的.HEX文件上傳到STM32開發板上,我已經能夠成功上傳該文件,因此我認為問題不在於ST-Link本身。 但是,我無法以這種方式調試它,因為我需要為此使用TrueStudio IDE工具,因此需要外部工具配置才能成功工作。

34

相反,我懷疑問題出在我自己的設置上,這是由於某種原因錯過了通話或設置了錯誤的選項。 也可能是GUI和CLI客戶端以完全不同的方式運行,允許一個客戶端讀取和上傳文件,而另一個則不能,但這在我看來是不合理的。


但是,我在這里有點茫然,因為我似乎無法弄清楚為什么其他人可以通過提供的Atollic文檔進行這項工作,而我正在拋出這些錯誤。

您嘗試使用三角形重塑輪子。

一切都在TrueStudio中配置:

在此處輸入圖片說明

只需添加調試配置即可。

此時OpenOCD將提供什么好處

一個基本:調試

鑒於我已經了解了多少TrueStudio?

這種知識(如何配置外部工具等)在99.9999%的情況下是毫無用處的。 它只是Eclipse的配置。 這里實際上並不太復雜。

關於我自己的代碼,我無法使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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM