【发布时间】:2020-11-10 16:20:10
【问题描述】:
我正在尝试通过 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 呈绿色闪烁。二进制文件正在闪烁。
但我有 2 个电源问题:
-
有时,在将二进制文件复制到/mnt/board后,二进制文件的flash 到ST 板并没有立即进行。有时我们必须等待 30 秒以上。
-
我的第二个问题,就是刷机后ST板没有RESET。当我使用装有 Windows 的计算机执行此过程时,ST 板在闪烁后被重置。我需要对 /dev/sdx 或其他东西做些什么吗?
非常感谢, 纪尧姆
【问题讨论】:
-
也许你必须使用命令
sync告诉 Linux 立即将所有文件写入驱动器,而不是将它们保存在内部缓冲区中。 -
这不是编程问题。
-
嗨 P__J__。也许这不是一个纯粹的编程问题,但也许我将二进制文件复制到USB驱动程序(STLINK)的方法并不完美,并且有一种方法可以更好地复制。在 Windows 下,它工作得很好。使用 Linux 和我的方法,它不能完美地工作。
标签: linux command-line raspberry-pi stm32 stm32ldiscovery