![](/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.