使用VS Code编译Marlin固件
参考:https://marlinfw.org/docs/basics/install_platformio_vscode.html
前言
在阅读本文之前,您应该已经阅读了使用 PlatformIO 安装 Marlin。
VSCode中的PlatformIO插件:PlatformIO将 VSCode 变成了一个完整的 IDE,用于编译和开发 Marlin。

1.安装
1.1安装VSCode
访问设置 Visual Studio 代码页面,为您的特定平台下载并安装最新的 VSCode。
1.2安装 PlatformIO IDE
前往“获取 PlatformIO IDE ”页面了解如何在 VSCode 中安装 PlatformIO IDE。
(最快的上手方法是安装Auto Build Marlin,PlatformIO 也会随之安装。)


2.在 VSCode / PlatformIO 中打开 Marlin
您可以通过以下几种方式之一在Visual Studio Code中打开 Marlin :
- 将下载的 Marlin Firmware 文件夹拖到Visual Studio Code应用程序图标上,或
- 使用VSCode File菜单中的Open...命令,或
- 打开 PIO Home 选项卡,然后单击“ Open Project ”按钮。
3.设置你的环境
为您的开发板手动设置环境:
打开文件platformio.ini并更改default_envs为您的开发板使用的环境。查看此文件以了解您的芯片的环境名称。例如,LPC1768芯片的环境名称显示为[env:LPC1768]. 省略外包装:[env:____].

当您单击PlatformIO按钮时,您将看到PROJECT TASKS包括Build和Upload。这些按钮将构建和上传您的默认环境。

如果您不想设置,请从PlatformIO Project Tasks 列表default_envs中为您的开发板选择环境。
识别主板环境
主板所需的 PlatformIO 环境在pins.h文件中的主板注释中。在 Marlin 2.0 中,它位于子目录Marlin/src/pins/pins.h中。
例子:
Configuration.h 文件中有#define MOTHERBOARD BOARD_RAMPS_14_EFB
在pins.h文件中搜索RAMPS_14_EFB ,直到出现以下内容:
#elif MB(RAMPS_14_EEB)
#include "pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
注释的第一部分列出了板上使用的 CPU。
env:xxxx 部分是用于此板的 PlatformIO 环境。
4. 启动构建、清理或上传任务
启动任务是通过PlatformIO 的 Project Tasks、底部状态栏图标或Auto Build Options完成的。


使用构建窗口比使用 PlatformIO 安装 Marlin中显示的要好一些。
- 面板可以调整大小。
- 控制台可以通过鼠标滚轮或滚动条滚动。
- 文本可以突出显示并复制到剪贴板。
“firmware.bin”文件
一些较新的板需要将firmware.bin文件复制到板载 SD 卡上,然后您必须重新启动打印机才能完成安装。如果板子已连接并且您的 PC 可以看到 SD 卡,PlatformIO 将尝试自动复制文件,但这可能并不总是有效。在这些情况下,您需要找到firmware.bin文件并将其手动复制到 SD 卡。

使用VS Code编译Marlin固件的更多相关文章
- 转:小白编译openwrt固件教程
原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu, ...
- 【转载】在Linux中使用VS Code编译调试C++项目
原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...
- Ubuntu下安装并配置VS Code编译C++
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069091.html Ubuntu下安装并配置VS Code编译C++ 安装 ...
- 开发者说 | 使用Visual Studio Code编译、调试Apollo项目
转载地址:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247484266&idx=1&sn=d6bcd4842 ...
- 机械臂——arduino、marlin固件、printrun软件【转】
最近了解到,在市面上大多数机械臂控制都采用的arduino这个开源硬件来控制的,而我发现既然会单片机,就没有必要采用arduino来控制了,arduino只是一种为了简化编程而开发一种软硬件控制平台, ...
- 使用VS Code编译运行C/C++程序
使用VS Code编译运行C/C++程序 - qq_435248055的博客 - CSDN博客 https://blog.csdn.net/qq_31823267/article/details/78 ...
- Mac系统使用VS Code编译Bootstrap 4
环境: macOS 10.13.6 node.js 8.11.3 sass 1.10.3 bootstrap 4.1.3 vs code 1.25.1 Bootstrap3为我们提供了在线编译工具,可 ...
- debian下编译openwrt固件
参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...
- Marlin固件之—:基础入门与測试
一.Marlin的简介 Marlin固件是一个3D打印的开源固件,3D打印固件有很多,Marlin最为健全和强大,当然相对也会复杂一些.使用Gcode控制爱.Gcode是数控机床等工控控制使用范围较广 ...
随机推荐
- Solution Set -「ABC 217」
大家好屑兔子又来啦! [A - Lexicographic Order] 说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...
- DevOpts 前端开发和 Spug
DevOpts 前端开发和 Spug 朋友新工作是进行 DevOpts 前端开发,涉及 Spug. DevOps 是什么 DevOps 是一种思想.用于促进开发和运维之间的沟通.协作或整合. Tip: ...
- RFC2544优化步长测试——信而泰网络测试仪实操
一.测试拓扑 拓扑说明 1.测试仪两个端口和DUT两个端口相连 2.测试仪P1端口发出流量,经过DUT转发后,从B端口发出,进入测试仪P2端口. 二.测试思路 1.在测试仪端口上创建两个Interfa ...
- DHCPv4协议测试——信而泰网络测试仪实操
一.DHCP简介 1. DHCP原理 DHCPv4概述 上网最基本元素 · IP地址 · 子网掩码 · 缺省网关 · DNS服务器 DHCP概述-手工配置 为什么需要自动分配,手工配置不行吗? · 答 ...
- 实力再获认可!Smartbi入选爱分析·产业数字化厂商全景报告
近日,中国独立的第三方产业数字化研究与咨询机构--爱分析发布<2021爱分析·产业数字化厂商全景报告>.思迈特软件凭借优秀的解决方案能力及丰富的业务实践经验,入选报告中银行数字化.保险数字 ...
- C语言memcpy()函数和memmove()函数
C语言memcpy()函数和memmove()函数 关于 memcpy() 函数,请先看链接. memcpy() 函数和 memmove() 函数的函数原型如下: void* memcpy(void ...
- 【C#】通过一个案例 彻底了解 Volatile和 内存屏障
案例如下的.我个人理解是不会出现出现0,0的结果,但是很明显出现了. 说明对我对 Volatile\内存屏障\乱序排序的理解是不对. 今天就通过这个案例,理清这些概念. using System; u ...
- bool 类型位逻辑运算符(| & ^)与条件逻辑运算符(|| &&)的区别
bool 类型的运算符 & ^| && || ! 运算符&&和|| 是短路的,这意味着如果左侧表达式的值足以确定结果,则它们将不会评估其右侧表达式. ...
- Solving Large-Scale Granular Resource Allocation Problems Efficiently with POP(2021-POP-SOSP-文献阅读笔记)
读者 这篇文章来自2021的SOSP,单位是斯坦福大学和微软.选该文章的理由有二,一是资源分配的主题较为相关:二是文章结构.语言很清晰,读起来很舒服. 本文的中心思想可以概括为:分化瓦解,各个击破.即 ...
- StackExchange.Redis 实现SetNx
今天有同事指出如何在StackExchange.Redis 实现Redis的原生命令. ConnectionMultiplexer redis = ConnectionMultiplexer.Conn ...