3. keil + vscode 进行stm32协同开发

1. 为什么使用vscode

主要还是界面友好,使用习惯问题,vscode 从前端,js, c/c++, qt, 仓颉,rust都有很好插件的支持,并且有romote, wsl 等很多插件可以提高效率, 唯一的问题就是要使用插件进行环境的配置。

2. 使用前准备

  • vscode 安装
  • keil MDK 环境安装, 可参考: https://blog.csdn.net/qq_51355375/article/details/143273553
  • 工程模板准备, 可参考: https://blog.csdn.net/qq_51355375/article/details/143276840
  • 3. 插件安装

  • c/c++ Extesion Pack
  • EIDE
  • Cortex DeBug


  • 4. 配置EIDE工具链

    EIDE官网: https://em-ide.com/zh-cn/docs/intro
    插件安装完后,点击图标配置工具链

  • CppCheck
  • OpenOCD Programmer
  • GNU Arm EmdeddedToolchain(stable)




    安装完成会有一个 ‘✔’ 标记将会出现
  • 5. 配置外部编译器

    在安装的插件中找到eide, 点设置


    找到keil 安装路径中的ARMCC路径

    填入插件ARMCC安装路径设置

    6. 导入工程

    将之前创建的工程模板复制一份



    是否与原有的 KEIL 项目共存于同一目录下? 如果选择 “No”,你需要为 EIDE 项目指定存放位置 !
    这里选择不共存

    在原项目的Projecs目录下创建EIDE目录,存放eide项目文件

    7. 项目配置

    7.1 添加固件包


    选择当时给MDK安装过的固件包

    7.2 编译配置


    编译输出配置:

    一些配置和keil中是对应的


    下载器选,这里选OpenOCD

    根据实际配置OpenOCD

    检查头文件配置和宏

    可以通过配置文件或直接添加

    8. 编译下载测试



    单片机上电,连接下载器

    9. 调试

    9.1 配置 cortex-debug


    点击对应选项在配置文件中会出现对应配置项


    之前工具链安装过,复制下来就行, 注意,这里使用绝对路径

    9.2 创建调试



    修改launch.json

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Cortex Debug",
                "cwd": "${workspaceFolder}",
                "executable": "build/template/stm32f103.elf",
                "request": "launch",
                "type": "cortex-debug",
                "runToEntryPoint": "main",
                "servertype": "openocd",
                "configFiles": [
                    "interface/stlink.cfg",
                    "target/stm32f1x.cfg"
                ]
            }
        ]
    }
    
    


    executable 配置路径在 EIDE 项目下的build 下对应路径
    点击调试运行,调试按钮界面出现,测试成功

    10. 自动识别文件编码


    搜索 files.autoGuessEncoding

    勾选后就能自动识别文件编码,防止导入的项目中文乱码

    作者:不知所云,

    物联沃分享整理
    物联沃-IOTWORD物联网 » 3. keil + vscode 进行stm32协同开发

    发表回复