VSCode单片机项目实战:开发与调试指南

目录

  一、 创建项目工程
  二、 编译与烧写
  三、 在线调试

VsCode- Embedded IDE 搭建单片机开发环境操作

一、 创建项目工程

1.点击 VsCode 界面左侧 EIDE 图标,在新界面中选择 新建项目–>空项目​;

2.根据需求选择对应芯片内核,本项目使用STM32F407ZGT6,故选择 Corete-M 项目;

3.输入项目名称(如 STM32F407_Demo),回车–>选择保存路径 ;

4.在 STM32F407_Demo/ 下创建目录文件:

  • Code,用于存放代码;
  • ldscripts , 用于存放链接脚本;
  • 5.添加芯片支持包

    5.1 可以加载本地.pack支持包,也可下载网络.pack支持包; 输入 STM32F4 ,就可以安装STM32F4xx_DFP.pack ,等待安装完成;

    5.2 选择对应芯片型号: STM32F407ZGTx ;


    6.构建配置:

    6.1 选择构建配置–>编译器选择 GCC;

    6.2 EIDE 在线安装的STM32F4xx_DFP.pack里面不会包含 _flash.ld 文件,若创建的项目根目录下没有ldscripts 或 linker 文件夹,则需要从 STM32CubeMX生成 或官方固件库中获取标准链接脚本如 STM32F407ZGTx_FLASH.ld);

  • 链接脚本路径修改为:${workspaceFolder}/ldscripts/STM32F407ZGTx_FLASH.ld ,
    打开.ld文件后,按芯片实际需求调整存储器定义(如 FLASH (rx) : ORIGIN = 0x8002000, LENGTH = 512K) ;

  • 6.3 构建器选项,按需修改编译等级和c语言版本等设置 ;

    7.烧录配置:选择JLink 或 STLink ( 此处我选择的是STLink ) ;若是JLink ,需安装 SEGGER 驱动;

  • 选择芯片名称:STM32F407ZG ;(JLink )
  • 接口类型:SWD ;
  • 更改下载速度: 2000 kHz ;

  • 8.STM32F407_Demo\Code\ 目录下 添加源文件 :

  • 将 STM32F407_Demo.pack\Keil\STM32F4xx_DFP.2.14.0\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f407xx.s 文件拷贝,替换工程中 STM32F407_Demo\Code\startup 文件夹下的同名文件 ;

  • 方式1: 将官方 STM32F407xx Drivers 拷贝到 STM32F407_Demo\Code\ ;

  • 方式2: 使用 STM32CubeMX生成工程代码 或 原keil工程,将工程代码直接拷贝到 STM32F407_Demo\Code\ ;

  • 本例使用的STM32CubeMX生成工程代码,拷贝到 STM32F407_Demo\Code\。

  • 项目资源–>添加源文件–>普通文件夹–>Code
  • 9.项目属性配置:

    9.1 设置要包含的目录;

    9.2 设置预处理宏定义:
    STM32F407xx
    USE_HAL_DRIVER


    二、 编译与烧写

    2.1 编译

    1. 按下 Ctrl+Shift+B 调出任务面板 ;
    2. 选择EIDE: Build任务(对应tasks.json中的 Make 命令);
    3. 编译成功后,终端会输出:[ DONE ] build successfully !, elapsed time 0:0:0 ,
      并在工程目录下build\Debug\ 生成 .elf(调试文件)、.hex(烧写文件)、.bin(二进制文件);

    2.2 烧写

    1. Ctrl+Alt+D 或 点击 ↓Flash 进行程序烧写 ;

    三、 在线调试

    1. 调试配置

  • 点击运行和调试->创建launch.json文件,调试器选择 Cortex Debug ;
  • 配置 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/Debug/STM32F407_Demo.elf",
                "request": "launch",
                "type": "cortex-debug",
                "runToEntryPoint": "main",
                "servertype": "stlink", // 若是 Jlink,此次应改为 jlink
                "interface": "swd",
                "svdFile": ".pack/Keil/STM32F4xx_DFP.2.14.0/CMSIS/SVD/STM32F40x.svd",
                "device": "STM32F407ZG",
               
                //"showDevDebugOutput": "raw"
          
               
            }
        ]
    }
    
    
    注:
     "svdFile": .svd 文件对应的路径一定要正确,是成功进入调试的关键 。
    
    

    2. 进行调试

    调试配置完成后,确保烧录器与板子接线正确,按 F5 或 点击开始调试,即可进行在线调试.

    作者:星源~

    物联沃分享整理
    物联沃-IOTWORD物联网 » VSCode单片机项目实战:开发与调试指南

    发表回复