前言

之前的博客介绍了openocd在Windows平台下的编译、与OpenOCD搭配CH347实现对STM32固件下载,本次的任务是将原本KEIL IDE的工作搬至VS Code上,依靠强大的vscode插件进行程序编译与下载。
在WCH官网安装CH347驱动程序,并前往GitHub下载Windows平台下的ch347_openocd

Embedded IDE插件

EIDE 是一个 VSCode 插件,用来开发单片机项目,比如:8051, stm8, stm32等。
安装
在VSCode的插件扩展中直接搜索embedded ide即可安装。
配置:在侧边栏打开插件配置,如下图:
在这里插入图片描述
在设置中进行如下设置
EIDE.ARM.ARMCC5: Install Directory为编译器目录,具体可参考KEIL安装AC5编译器
在这里插入图片描述
EIDE.ARM.INI: Path:keil安装目录中的ini文件路径
在这里插入图片描述
重点:EIDE.Open OCD: Exe Path:openocd的执行路径在这里插入图片描述
将之前下载OpenOCD_CH347\OpenOCD_CH347\bin路径下的ch347.cfg复制到OpenOCD_CH347\scripts\interface路径中。

编译与下载

如何创建一个嵌入式工程?我们当然可以通过插件去新建工程,但由于HAL库文件多等原因,这里采用第二种方式。
首先利用keil创建工程,在EIDE 插件中导入刚创建的工程:
在这里插入图片描述
在编写完代码后确认一下设置:
在这里插入图片描述
①:如使用HAL库,确保芯片支持包中已加入对应的pack
②:为编译器选项
③:为包含CH347的openocd.exe
④:目标开发板配置文件,为openocd中包含,一般不用改动
⑤:选择openocd接口为CH347
编译:与在keil中一样,按下键盘F7即可编译。
烧录:点击烧录按钮,会将编译好的HEX文件烧入进target,出现下图即表示烧录成功。
在这里插入图片描述

引伸

以上提到的下载方式为jtag,如需更换为SWD,可修改OpenOCD_CH347\scripts\interface\ch347.cfg文件:

# 指定编程器为CH347
adapter driver ch347
# CH347的VID PID,Windows平台下可直接注释掉不使用
ch347 vid_pid 0x1a86 0x55dd 
# 指定时钟速度单位为khz,由于stm32f1x.cfg中有速度限制,所以实际速率为1.875MHZ
# CH347 JTAG自身速率最高可达60MHz
adapter speed 10000
# 指定下载模式为jtag,如需使用swd,改为transport select swd
transport select jtag
Logo

一站式 AI 云服务平台

更多推荐