linux下VSCode开发STM32(一) | 实现一键编译传送门
1、安装openocd
1.1 终端输入sudo pacman -S openocd 回车 等待安装完成~
1.2 查询openocd 所在路径
终端输入whereis openocd 回车 这个路径/usr/share/openocd 是我们想要的,进入此路径下 1.3 USB设备
在linux上使用usb设备时,需要将contrib 目录中的60-openocd.rules 文件复制到/etc/udev/rules.d/ 目录中
我已复制,所以不再重复操作了
1.4 配置文件
它下面scripts 文件夹存放着openocd使用的文件,在interface 文件夹下存放着下载器接口的文件,在target 下存放着目标芯片的配置文件:
2.openocd连接到开发板
使用命令openocd -f <接口配置文件> -f <目标芯片配置文件> 即可成功连接到目标芯片:
- 接口配置文件在
interface 文件夹下: - 目标芯片配置文件在
target 文件夹下:
输入命令openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg 我使用的下载器为ST-Link-v2
结果若如图所示,表示openocd 成功连接到开发板
3.使用telnet连接到openocd
openocd连接到目标板后,它的默认telnet端口是4444 ,所以我们可以新建一个终端(一定不要关闭掉连接到目标板的终端!!!) 连接到openocd的端口,然后使用命令控制。 这里因为要下载文件,所以我将路径切换到之前创建的.hex 文件的目录下 然后使用命令telnet localhost 4444 连接到openocd:
这样就表示连接成功了 接下来使用命令控制目标芯片:
halt :目标芯片挂起,相当于关机flash write_image erase <要下载的文件> :将.hex文件下载到开发板reset :复位
要下载的目标文件需要使用绝对路径 ,下载之前需要先halt
依次输入命令: 复位后即可验证程序是否下载成功
4.配置Makefile
修改makefile 内容: 现在就可以使用make download 命令进行下载了
5 、配置.vscode
修改一下tasks.json 文件: 保存之后 按下Ctrl+Shift+b 就可以看到多出了一个命令 选择Download即可进行下载
|