用户工具

站点工具


knowledge:3d_print:2023021001

这是本文档旧的修订版!


Marlin固件代码结构

Marlin 是一个非常复杂的 Arduino 程序。对于开发人员来说,该导航和对于可能想要进行小改动的新用户来说一样复杂。本文档旨在成为一份简明指南,帮助您了解 Marlin 代码库并了解该程序的工作原理。

本文档提供了结构细节和程序流程的高级概述。到最后你应该知道在哪里(以及如何)找到你的所想要的。其他细节,如 Marlin 编码风格,在编码标准页面上为那些可能想要贡献的人提供了更详细的描述。

基本文件夹结构

  • MarlinFirmware:根文件夹,仅包含需要位于此处的文件。当您使用 PlatformIO 构建 Marlin 时,它会在.pio此处创建一个文件夹,而在 shell 中使用 git 时,这应该是您当前的工作目录。
  • buildroot:包含开发人员的帮助脚本、字体工具、CI 测试、Marlin 徽标和其他数据。
  • buildroot/share/PlatformIO:电路板定义、变体、链接描述文件和构建脚本都存储在这里。该文件夹经常被ini文件夹中的构建环境引用。
  • ini:此文件夹包含按 MCU 类型组织的所有 PlatformIO 环境设置。该platformio.ini文件将这些拉入以提供 PlatformIO 的构建/上传/调试设置。一个文件非常有用:Marlin 的自定义构建脚本features.ini在构建开始时用于根据启用的功能过滤源文件,因此构建完成得更快。
  • Marlin:首先,这是构建 Marlin 时需要的主要配置文件所在的位置。Arduino 项目文件在Marlin.ino这里。cd Marlin而且,如果您想使用make(仅支持与 Arduino IDE 兼容的目标)进行构建,您应该在 shell 中。
  • Marlin/src:包含 Marlin 应用程序(“草图”)。主程序开头MarlinCore.cpp包含使 Marlin 成为 Arduino 程序的setup()和函数。loop()该文件夹的内容将在下一节中详细介绍。

Marlin/src 文件夹

Marlin/src文件夹中仅有的 Marlin 的主要源文件,MarlinCore.cpp包含setup()loop(),以及MarlinCore.h头文件。

源代码的其余部分分为 10 个子文件夹,其中许多子文件夹进一步划分。以下是每一个的基本概述

knowledge/3d_print/2023021001.1676036360.txt · 最后更改: 2023/06/07 04:09 (外部编辑)

Valid HTML5 Valid CSS Driven by DokuWiki