首页 > 其他分享 >VSCode+PlatformIO开发环境搭建

VSCode+PlatformIO开发环境搭建

时间:2024-01-10 15:36:17浏览次数:45  
标签:commands PlatformIO 项目 VSCode 插件 compile json env 搭建

VSCode+PlatformIO开发环境搭建

使用VSCode搭建platform开发环境,可以实现在vscode中搭建MCU等平台的嵌入式开发IDE,实现类似于IAR、Keil等功能,包括代码编辑、项目编译、程序烧录、调试等基础功能,同时可以使用Platform及VSCode的众多插件功能,从而提高开发效率,接下来时开发环境搭建的步骤。

插件安装

  • PlatformIO IDE​插件:

    image

  • C/C++​相关插件

    提供基础的C/C++语言支持​image

  • 可选:Clangd

    通过配合编译生成的编译数据库信息compile_commands.json​,提供高效的代码检查、跳转等功能

    image

  • 可选Teleplot​:数据可视化工具

    image

项目设置

新建/打开项目

项目通过PlatformIO提供的GUI工具进行管理,通过New Project​开新建pio项目,新建项目时会要求设置项目名称、Board​类型、软件框架类型、项目保存地址(默认保存在默认地址,需要自信修改项目保存位置)

image

项目配置

pio的项目根目录存在一个platformio.ini​的项目配置文件,以GD32官方Platform项目里程配置为例:

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env]
platform = https://github.com/CommunityGD32Cores/platform-gd32.git
platform_packages = 
    framework-spl-gd32@https://github.com/CommunityGD32Cores/gd32-pio-spl-package.git
; GD32F30x series

[env:genericGD32F305VC]
board = genericGD32F305VC
framework = spl

[env:genericGD32F303CC]
board = genericGD32F303CC
framework = spl

一个项目可以根据不同的Env​同时配置多个不同的Board​,会在点击Build时会同时生成多种型号的产物,配置文件中各字段详见官方文档

Clangd插件支持

生成compile_commands.json

Clangd插件通过编译生成的数据库文件compile_commands.json​对项目进行分析,默认build时不会生成该文件,根据官方文档介绍,我们可以在build结束后执行> pio run -t compiledb​来生成,默认生成在项目根目录下,可以通过官方方案为每一个Env​生成各自的compile_commands.json

# Example

Generate compile_commands.json with toolchain includes for each project environment and save database to the “build_dir/envname” folder:

- platformio.ini:

‍‍```platformio.ini
[env:myenv]
platform = ...
board = ...
extra_scripts = pre:extra_script.py
‍‍```
- extra_script.py:

‍‍```python

import os
Import("env")

# include toolchain paths
env.Replace(COMPILATIONDB_INCLUDE_TOOLCHAIN=True)

# override compilation DB path
env.Replace(COMPILATIONDB_PATH=os.path.join("$BUILD_DIR", "compile_commands.json"))
‍‍```
## Generate compile_commands.json

> pio run -t compiledb

配置Clangd插件

Clangd目前还是找不到文件无法进行分析的,需要告诉一下clangd数据库文件在哪里

    "clangd.arguments": [
		// ...
        "--compile-commands-dir=/path/to/youConfigFile"
    ]

image

标签:commands,PlatformIO,项目,VSCode,插件,compile,json,env,搭建
From: https://www.cnblogs.com/Biiigwang/p/17956569/vscode-platformio-development-environment-zrv

相关文章

  • K8S集群搭建
    K8S各节点环境准备1虚拟机操作系统环境准备参考链接:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/2关闭swap分区2.1临时关闭swapoff-a&&sysctl-wvm.swappiness=02.2基于配置文件关闭sed-ri'/^[^#]*swap/......
  • VSCode快捷键(MAC版本)
    光标移动移动到单词的最前面:option+←移动到单词最末尾:option+→将当前行代码移动到上一行:option+↑将当前行代码移动到下一行:option+↓移动到当前行最前面:cmd+←移动到当前行最末尾:cmd+→花括号之间跳转:cmd+shift+移动到文档第一行或最后一行:cmd+↑/c......
  • k8s集群搭建1.22.x (centos)
    版本1.22.xx版本兼容 集群搭建指导https://www.cnblogs.com/Sunzz/p/15184167.html  【1.18】https://blog.csdn.net/qq_34629877/article/details/120234616 【1.22】升级centos内核#导入公钥rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org#安装......
  • jenkins搭建(docker)
    docker-compose.yamlversion:'3'services:jenkins:image:jenkins/jenkinsrestart:alwaysuser:rootcontainer_name:jenkinsvolumes:-/usr/local/jenkins/jenkins_home:/var/jenkins_home-/var/run/docker.sock......
  • 使用nestjs和react快速搭建项目架子
    首先搭建前后端的项目架子搭建nestjs架子npx@nestjs/clinew项目名使用vite搭建一个react+ts的架子,vite地址:https://cn.vitejs.dev/guide/。搭建好后cd到项目中,然后安装依赖,尝试启动。npmcreatevite@latest项目名----templatereact-ts数据库使用postgresql,使用do......
  • GPU环境搭建(TrWebOCR)
    查看显卡信息lspci| grep -invidia查看系统是否受支持uname -m http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements验证是否有编译环境gcc-v验证系统是否安装了正......
  • vscode设置vue3代码格式化
    下载插件可以使用Volar或Prettier  设置格式化时选用的插件mac:【shift】+【option】+【f】win:【shift】+【alt】+【f】 选择其中之一左下角选择【设置】 点击右上角的文件切换图标,可以切换到setting.json 实际使用假设这是默认代码状态 使用Prettier默认......
  • 源码开发实践:搭建企业培训APP的技术难题及解决方案
    在企业培训源码开发实践中,各位开发者可能遇到各种各样的问题,本文将深入探讨这些挑战,并提供解决方案,助力你顺利搭建企业培训APP。 1.多平台兼容性企业中员工使用的设备多种多样,包括iOS、Android等不同操作系统。在搭建培训APP时,如何实现多平台兼容性成为一项首要任务。解决方案是采......
  • docker搭建Grafana+Loki+Promtail日志分析
    环境搭建Grafana搭建dockersearchgrafanadockerpullgrafana/grafanadockerrun-d-p3000:3000--namegrafanagrafana/grafanaLoki搭建创建宿主机目录mkdir-p/usr/local/glp/loki/indexmkdir-p/usr/local/glp/loki/chunkschmod-R777/usr/local/glp/loki/index......
  • 使用 WordPress搭建个人博客
    安装LNMP下载LNMP:wgethttp://soft.vpser.net/lnmp/lnmp2.0.tar.gz-cOlnmp2.0.tar.gz解压并执行:tarzxflnmp2.0.tar.gz&&cdlnmp1.5&&./install.shlnmp选择想要安装的版本然后回车开始安装时间比较长,耐心等待一下,看到以下显示表示安装成功配置nigix查看nginx配置文......