当前位置: 首页 > news >正文

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

在这里插入图片描述
接受了新时代编辑器的我,实在受不了Keil的上古编辑页面,周树人说过:由奢入俭难,下面我们一起折腾一下开源软件Vscode, 用以开发51和STM32,有错误之处,欢迎大佬指正

步骤一 :下载软件

VScode
MinGW
OpenOCD
配置MINGW:环境变量添加MinGW 、OpenOCD的bin目录
测试:gcc -v openocd -
在这里插入图片描述
在这里插入图片描述

步骤二 :安装插件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置EIDE插件路径:添加KEIL路径,包含ARM C51

在这里插入图片描述
在这里插入图片描述

步骤三 :EIDE 项目创建:

  1. 安装实用工具,也可以选择手动安装,配置环境变量时选择的路径不一样而已,其他的如Jlink、STlink的可以等同配置
    Toolcharin or arm-none-eabi-gcc
    openocd

    EIDE: .eide\tools\gcc_arm\bin\
    手动安装:你下载安装的位置,例如:D:\Program Files (x86)\gcc-arm-none-eabi-10.3-2021.10\bin
    在这里插入图片描述
  2. 创建项目
    • 选择创建项目
    • 内置项目模板
    • 选择STM32F103,然后取名(尽量使用英文)
    • 点击切换工作区,切换到插件项目页面
      在这里插入图片描述

步骤四 项目配置

  1. 芯片支持包:点击+from repo输入STM32F1选择STM32F10xx_DFP.2.3.0.pack, 然后点击添加芯,选择对应芯片型号,如STM32F103C8在这里插入图片描述 2. 项目构建配置:gcc or gcc-arm, 不正确会有提醒,在输出界面 - 烧录器选择:点击切换按钮,选择openOCD(选择对应烧录器,如STLink、JLink), 接口配置选择:cmsis-dap.cfg(野火使用的是这个),其他可对应选择 - 在这里插入图片描述3. 配置完成后的页面:
    在这里插入图片描述
    然后就可以点击项目编译了,编译成功界面如下:
    在这里插入图片描述

步骤五 cortex-debug - Openocd-Debuger 配置

  1. 切换到调试界面,选择openOCD, 点击配置:
    在这里插入图片描述
  2. 点击切换,,将右侧切换到EIDE界面
    配置相关目录,完整的cortex-debug文件(点击添加配置后直接粘贴该代码,然后配置):
{
    "cwd": "${workspaceRoot}",
    "executable": "${workspaceRoot}/build/Debug/STM32F103-Demo.elf",		// 可执行文件的路径
    "name": "cmsis-dap",                                          //用的什么仿真stlink还是jlink
    "request": "launch",
    "type": "cortex-debug",
    "servertype": "openocd",                                    //我这里是openocd,你看你自己用的什么
    "svdFile": ".pack/Keil/STM32F1xx_DFP.2.3.0/SVD/STM32F103xx.svd",
    "configFiles": [
        "interface/cmsis-dap.cfg",
        "target/stm32f1x.cfg"                                   
    ],
    "runToEntryPoint": "main" 
}

在这里插入图片描述

  1. 点击调试运行
    在这里插入图片描述

以上,环境搭建已经完成,有问题评论区细聊,不足之处请大佬指正。

相关文章:

  • SuperMap iClient3D for WebGL三维场景与二维地图联动
  • 【算法】手撕二分查找
  • 二叉堆-堆排序
  • 使用Kubernetes部署Spring Boot项目
  • RAG组件:向量数据库(Milvus)
  • SQL命令详解之多表查询(连接查询)
  • 中间件专栏之MySQL篇——MySQL缓存策略
  • DeepSeek + Dify + Ollama + Docker + Linux 私有化部署,构建你的专属私人 AI 助手
  • Spring 源码硬核解析系列专题(扩展篇):Spring Batch 回滚机制源码解析
  • Linux kill 命令
  • 基于 Rust 与 GBT32960 规范的编解码层
  • matlab 四维数据可视化(已解决)
  • OCR PDF 文件是什么?它包含什么内容?
  • 鸿蒙开发:wrapBuilder来封装全局@Builder
  • 企业级Python后端数据库使用指南(简略版)
  • 13天 -- Redis 中如何实现分布式锁? Redis 的 Red Lock 是什么?你了解吗? Redis 实现分布式锁时可能遇到的问题有哪些?
  • fastjson1.2.24 CVE-2017-18349 漏洞复现
  • 【pytest框架源码分析二】pluggy源码分析之add_hookspecs和register
  • Golang的性能分析指标解读
  • 如何解决跨域请求的问题(CORS)?
  • 成都网络优化网站/广州王牌seo
  • 深圳附近做个商城网站找哪家公司好/百度小说风云榜排行榜官网
  • wordpress 批量修改分类/seo视频教学网站
  • 网站首页空白 wordpress/企业建站
  • 哪些网站做的比较炫/免费的舆情网站app
  • 崇明做网站公司/培训体系包括四大体系