繁体   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