(五)FT2232HL高速调试器之--三步实现STM32的VSCODE在线仿真工程搭建

对于单片机开发,rtthread studios 与 vscode,鱼与熊掌可以兼得否,其实是可以的,下面通过三个步骤,实现基于FT2232HL高速调试器的,stm32的VSCODE在线仿真工程的搭建。

1、软件下载与VSCODE插件安装配置

软件下载

1)Openocd下载

链接:https://sysprogs.com/files/auxiliary/openocd/com.sysprogs.arm.openocd/openocd-20240916.7z

解压缩放置到D盘根目录,也可以是任一其它目录

2)ENV工具下载,RTThread官网下载,也解压缩放置在D盘根目录,其它亦可

3)

VSCODE插件安装

1)Cortex-Debug

并配置openocd路径,指到D盘放置openocd.exe的位置(编辑一下即可)

  1. Rt-Thread Assistant For VSCode

并配置ENV路径,指到D盘放置ENV.exe的位置

2、用RT-THREAD Studios 构建STM32工程

选择自己手头的STM32开发板,建立一个rtthread studios工程,并编译。

此处省略2000个字。

3、配置仿真环境

1)创建launch.json文件

用vscode打开工程文件夹,在工程文件夹下,增加一个.vscode文件夹,里面放一个launch.json文件

内容

javascript 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Openocd",
      "executable": "${workspaceRoot}/rt-thread.elf",
      "request": "launch",
      "type": "cortex-debug",
      "runToEntryPoint": "main",
      "targetId": "STM32F103ZE", // 芯片型号
      "servertype": "openocd",
      "configFiles": [
        // 前面章节提到过的脚本
        "D:/OpenOCD-20240916-0.12.0/share/openocd/scripts/interface/ftdi/ft2232h_swd.cfg",
        // 根据自己芯片系列进行选择
        "D:/OpenOCD-20240916-0.12.0/share/openocd/scripts/target/stm32f1x.cfg"
      ],
      // ENV路径里面的系列调试软件,这里是ARM芯片;
      // RISCV需选其它的,如riscv32-unknown-elf-gdb.exe, 可能需要从芯片官方提供的库里寻找
      "gdbPath": "D:/env-windows-v2.0.0/env-windows/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gdb.exe"
    }
  ]
}

根据自己配置的路径,与芯片型号,进行配置。

注:对于HPM提供的编译链debug工具如下图所示:

2)配置编译路径环境变量 EXEC_PATH

注:对于risc-v类芯片,如hpm,也要配置相应的环境变量

3)修改rtconfig.py文件

javascript 复制代码
import os

# toolchains options
ARCH = 'arm'
CPU = 'cortex-m3'
CROSS_TOOL = 'gcc'

# cross_tool provides the cross compiler
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
PLATFORM = 'gcc'
EXEC_PATH = ''

if os.getenv('RTT_EXEC_PATH'):
    EXEC_PATH = os.getenv('RTT_EXEC_PATH')

PREFIX = 'arm-none-eabi-'
CC = PREFIX + 'gcc'
AS = PREFIX + 'gcc'
AR = PREFIX + 'ar'
CXX = PREFIX + 'g++'
LINK = PREFIX + 'gcc'
TARGET_EXT = 'elf'
SIZE = PREFIX + 'size'
OBJDUMP = PREFIX + 'objdump'
OBJCPY = PREFIX + 'objcopy'

# add
DEVICE = ' -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections'
CFLAGS = DEVICE + ' -Dgcc'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
LFLAGS = DEVICE + ' --specs=nano.specs -Wl,--print-memory-usage,--gc-sections,-Map=rt-thread.map,-cref,-u,Reset_Handler -T linkscripts//STM32F103ZE//link.lds'
CFLAGS += ' -O2 -gdwarf-2 -g'
AFLAGS += ' -gdwarf-2'

# DEVICE = ''
# CFLAGS = ''
# AFLAGS = ''
# LFLAGS = '-T linkscripts//STM32F103ZE//link.lds'

CPATH = ''
LPATH = ''
CXXFLAGS = ''
POST_ACTION = ''

rtconfig.py配置请参考

RT-Thread-rt thread studio使用的一些问题和dlmodule编译的疑惑RT-Thread问答社区 - RT-Thread

4)scons编译

最后,点击三角形符号,连接好自己的板子(SWD连接方式,见前面章节介绍),即可实现在线仿真调试。

4、最终效果

如下图,便可以实现在线仿真调试了。

相关推荐
charlie1145141912 小时前
通用GUI编程技术——Win32 原生编程实战(十六)——Visual Studio 资源编辑器使用指南
开发语言·c++·ide·学习·gui·visual studio·win32
猿儿本无心4 小时前
仿VSCode做一个程序员快速装机工具
ide·vscode·编辑器
山川行6 小时前
关于《项目C语言》专栏的总结
c语言·开发语言·数据结构·vscode·python·算法·visual studio code
呆呆敲代码的小Y7 小时前
UnityMCP+Claude+VSCode,构建最强AI游戏开发环境
人工智能·vscode·游戏·unity·游戏引擎·u3d·mcp
不懒不懒7 小时前
安装python3.9.7和pycharm-community-2022.3.2.exe以及linux
linux·ide·python·pycharm
weixin_4266892011 小时前
VSCODE 树莓派C语言开发环境建立
vscode·树莓派
飞翔的烤鸡翅12 小时前
Kilo Code在PyCharm上的一些实践
ide·python·pycharm·ai编程·kilo code
程序设计实验室12 小时前
是谁 2026 年还在用 Sublime Text 写代码?
ide
syjy212 小时前
零基础WordPress建站:可视化编辑器推荐(2026版-含下载)
编辑器·wordpress插件·wordpress建站