如何从 Linux 上的 STM32WB55 Nucleo Pack 闪存 MB1355C and/or MB1293C?
How to flash MB1355C and/or MB1293C from the STM32WB55 Nucleo Pack on Linux?
我想在我的 (Ubuntu 18.04.3 LTS) 机器上从 STM32WB55 Nucleo Pack 对 (MB1355C and/or MB1293C) 设备进行编程 - 最好使用 eclipse基于 IDE,支持调试功能。
我安装了
- STM32CubeProgrammer(版本 2.2.1)
- Atolic TrueStudio(版本 9.3.0)
- STM32CubeIDE(版本1.1.0)
我现在有以下 udev rules
chandran@chandran-OptiPlex-9020:~$ ll /etc/udev/rules.d/
total 160
drwxr-xr-x 2 root root 4096 Dec 13 14:11 ./
drwxr-xr-x 4 root root 4096 Dec 4 13:44 ../
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules.O
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules.O
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules.O
-rw-r--r-- 1 root root 458 Dec 11 17:26 49-stlinkv3loader.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules.O
-rw-r--r-- 1 root root 381 Dec 6 17:10 '#61-msp430uif.rules#'
-rw-r--r-- 1 root root 381 Dec 4 15:09 61-msp430uif.rules
-rwxr-xr-x 1 root root 2145 Dec 4 15:09 70-mm-no-ti-emulators.rules*
-rw-r--r-- 1 root root 58549 Dec 4 12:29 70-snap.core.rules
-rw-r--r-- 1 root root 79 Dec 5 12:11 77-msp430-blacklist.rules
-rw-r--r-- 1 root root 0 Dec 5 12:10 77-msp430-blacklist.rules~
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules.O
我在拨出组
chandran@chandran-OptiPlex-9020:~$ groups chandran
chandran : chandran adm dialout cdrom sudo dip plugdev lpadmin sambashare
我下载了一个名为 STM32100E-EVAL_USART_IrDA_Transmit
的示例项目并成功构建,但是当我连接评估板并单击 debug
刷新微控制器时,我收到以下错误消息
ST-Link enumeration failed
Error in initializing ST-Link device.
Reason: (2) ST-Link DLL error.
当我使用 STM32CubeIDE 尝试上述操作时,我收到相同的错误消息。
我已尝试按照 users manual 的第 7.6 节所述移动 JP1
,但无济于事。
A previous question on stack overflow deals with the same error message so I got STM32CubeProgrammer to launch 并尝试进行@IsaBostan 建议的更改,但似乎未检测到开发板
我该如何继续解决这个问题并对电路板进行编程?
欢迎提出调试想法或建议,即使它们尚未经过测试...
这只是 KamilCuk 所建议的权限问题
以 root
身份启动 TrueStudio
,然后单击 debug
解决了问题。
这是在我的机器上运行的:
sudo su
/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ide/./TrueSTUDIO
STM32CubeIDE 的调试器在我的机器上按如下方式启动时也可以工作:
sudo su
/opt/st/stm32cubeide_1.1.0/./stm32cubeide
STM32CubeProgrammer 在启动时直接连接到设备,如下所示:
sudo su
/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/./STM32CubeProgrammer
我的设备显示在 /dev/ttyACM0
下,具有以下权限:
crw-rw----+ 1 root dialout 166, 0 Dec 28 11:56 ttyACM0
不需要 openocd
和 st-flash
。
我想在我的 (Ubuntu 18.04.3 LTS) 机器上从 STM32WB55 Nucleo Pack 对 (MB1355C and/or MB1293C) 设备进行编程 - 最好使用 eclipse基于 IDE,支持调试功能。
我安装了
- STM32CubeProgrammer(版本 2.2.1)
- Atolic TrueStudio(版本 9.3.0)
- STM32CubeIDE(版本1.1.0)
我现在有以下 udev rules
chandran@chandran-OptiPlex-9020:~$ ll /etc/udev/rules.d/
total 160
drwxr-xr-x 2 root root 4096 Dec 13 14:11 ./
drwxr-xr-x 4 root root 4096 Dec 4 13:44 ../
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules
-rw-rw-r-- 1 root root 270 Oct 14 18:10 49-stlinkv1.rules.O
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules
-rw-rw-r-- 1 root root 464 Oct 14 18:10 49-stlinkv2-1.rules.O
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules
-rw-rw-r-- 1 root root 278 Oct 14 18:10 49-stlinkv2.rules.O
-rw-r--r-- 1 root root 458 Dec 11 17:26 49-stlinkv3loader.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules
-rw-rw-r-- 1 root root 845 Oct 14 18:10 49-stlinkv3.rules.O
-rw-r--r-- 1 root root 381 Dec 6 17:10 '#61-msp430uif.rules#'
-rw-r--r-- 1 root root 381 Dec 4 15:09 61-msp430uif.rules
-rwxr-xr-x 1 root root 2145 Dec 4 15:09 70-mm-no-ti-emulators.rules*
-rw-r--r-- 1 root root 58549 Dec 4 12:29 70-snap.core.rules
-rw-r--r-- 1 root root 79 Dec 5 12:11 77-msp430-blacklist.rules
-rw-r--r-- 1 root root 0 Dec 5 12:10 77-msp430-blacklist.rules~
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules
-rw-rw-r-- 1 root root 18450 Oct 14 17:33 99-jlink.rules.O
我在拨出组
chandran@chandran-OptiPlex-9020:~$ groups chandran
chandran : chandran adm dialout cdrom sudo dip plugdev lpadmin sambashare
我下载了一个名为 STM32100E-EVAL_USART_IrDA_Transmit
的示例项目并成功构建,但是当我连接评估板并单击 debug
刷新微控制器时,我收到以下错误消息
ST-Link enumeration failed
Error in initializing ST-Link device.
Reason: (2) ST-Link DLL error.
当我使用 STM32CubeIDE 尝试上述操作时,我收到相同的错误消息。
我已尝试按照 users manual 的第 7.6 节所述移动 JP1
,但无济于事。
A previous question on stack overflow deals with the same error message so I got STM32CubeProgrammer to launch 并尝试进行@IsaBostan 建议的更改,但似乎未检测到开发板
我该如何继续解决这个问题并对电路板进行编程?
欢迎提出调试想法或建议,即使它们尚未经过测试...
这只是 KamilCuk 所建议的权限问题
以 root
身份启动 TrueStudio
,然后单击 debug
解决了问题。
这是在我的机器上运行的:
sudo su
/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ide/./TrueSTUDIO
STM32CubeIDE 的调试器在我的机器上按如下方式启动时也可以工作:
sudo su
/opt/st/stm32cubeide_1.1.0/./stm32cubeide
STM32CubeProgrammer 在启动时直接连接到设备,如下所示:
sudo su
/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/./STM32CubeProgrammer
我的设备显示在 /dev/ttyACM0
下,具有以下权限:
crw-rw----+ 1 root dialout 166, 0 Dec 28 11:56 ttyACM0
不需要 openocd
和 st-flash
。