大家好!我遇到了一个荒谬的情况:我在 Linux Mint eclipse Oxigen 3 中编写了一个用于 stm32f103c8t6 简单 LED 闪烁的试用固件。组装后,我应该得到 .elf 和 .hex 文件。我使用带有 st-flash 实用程序的 stlinkv2 将它上传到控制器。在终端中,它显示一切都已成功刷新。但控制器 LED 不闪烁。重置,关闭和打开无济于事。但是无法分别将.elf文件上传到控制器,调试不起作用。最有趣的是,当我将相同的固件复制到 Windows 下的计算机上,并将相同的 stlinkv2 上传到控制器时,控制器启动了。可能是什么问题呢?从 Windows 刷新时,控制器内存看起来与固件相同。用Linux刷机时,控制器内存中出现完全不同的值。




理解:需要用命令./st-flash --format ihex write myapp.hex来刷机,说明固件的十六进制格式。
设法赢得和调试,即修复未为设备“通用 tcp/ip”定义的错误重置命令
由于我安装了最新版本的 gdb 硬件调试版本 9.4,因此出现错误,我必须在 eclipse 中安装 gdb 硬件调试版本 9.3(一切都可以立即使用)。