1

我正在尝试通过 STLINK 连接器从 Linux 命令行中刷新 ST 板(STM32 发现套件 STM32L072)。

要使用 STLINK 闪存,您只需将二进制文件复制粘贴到 USB 阅读器(与 STLINK 关联)中即可;

为此,使用dmesg,我找到了/dev/sdx。然后我挂载/dev/sdx

mkdir /mnt/board
sudo mount /dev/sdx /mnt/board

使用ls命令,我可以读取 ST 板的文件夹:

$ ls /mnt/board/
DETAILS.TXT  MBED.HTM

==>我可以阅读ST板。

现在我可以将二进制文件复制到 ST 板上。复制后应自动完成闪存:

sudo cp mybinarytoflash.bin /mnt/board

我们可以看到 STLINK 的 LED 闪烁,呈绿色。二进制文件正在闪烁。

但我有两个主要问题:

  • 有时,将二进制文件复制到/mnt/board后,不会立即将二进制文件闪存到 ST 板。有时我们必须等待 30 秒以上。

  • 我的第二个问题,就是刷完之后ST板没有RESET。当我使用装有 Windows 的计算机执行此过程时,ST 板在闪烁后被重置。我需要对/dev/sdx或其他东西做些什么吗?

非常感谢,纪尧姆

4

1 回答 1

4

我找到了一个新的解决方案,使用一个工具来驱动 STLINK 作为探针:

安装 STLINK 工具: sudo apt-get install stlink-tools

  • 闪光灯sudo st-flash write <file_to_flash>.bin 0x08000000
  • 重置sudo st-flash reset

该解决方案完美运行,并且闪烁很快。

于 2020-07-23T19:41:53.190 回答