0 PlatformIO通往卓越嵌入式软件开发的门户
利用PlatformIO的协作生态系统,发掘嵌入式软件开发的真正潜力,采用声明式原则、测试驱动方法和现代工具链,取得无与伦比的成功。
- 开放源代码、最大许可的Apache 2.0许可证
- 跨平台集成开发环境和统一调试器
- 静态代码分析器和远程单元测试
- 多平台和多架构构建系统
- 固件文件资源管理器和内存检测。
1 什么是PlatformIO?
开发和团队自由发挥!不再被供应商锁定!
PlatformIO 是一款跨平台、跨体系结构、多框架的专业工具,适用于嵌入式系统工程师和为嵌入式产品编写应用程序的软件开发人员。
1.1 荣誉
PlatformIO 荣获2015/16年度物联网大奖最佳软件和工具提名。
Microsoft PlatformIO IDE for VSCode编辑器的原生PlatformIO IDE扩展是整个 Microsoft Marketplace 中评分/评论最高的扩展,五星级评论超过2,500 条。全球有超过 3,000,000 名开发人员安装了该扩展。
https://github.com/platformio/platformio-core 7K+星。
1.2 理念
PlatformIO在嵌入式市场的独特理念为开发人员提供了现代化的集成开发环境(云和桌面集成开发环境),该环境可跨平台运行,支持多种不同的软件开发工具包(SDK)或框架,并包括复杂的调试、单元测试、自动代码分析和远程管理。它的架构最大限度地提高了开发人员的灵活性和选择性,开发人员可以使用图形或命令行编辑器(PlatformIO Core (CLI)),也可以同时使用这两种编辑器。
对于在多个特定平台上开发解决方案的专业嵌入式系统工程师来说,PlatformIO是一款必备工具。此外,PlatformIO采用分布式架构,为新老开发人员提供了快速集成的途径,以开发可用于商业用途的产品,并缩短了产品的整体上市时间。
此外,PlatformIO还可在您最喜爱的任何现代操作系统(macOS、MS Windows、Linux、FreeBSD)上运行。
1.3 技术
PlatformIO将最新的可扩展和灵活的软件技术应用于嵌入式市场,该领域传统上由复杂的软件工具提供服务,经验丰富的硬件工程师需要长期学习才能掌握这些工具(通常非常痛苦)。有了PlatformIO,用户可以是业余爱好者,也可以是专业人士。他们可以导入经典的Arduino "Blin "草图,也可以为商业产品开发复杂的底层嵌入式C程序。任何支持框架的示例代码都能在几分钟内编译并上传到目标平台。
构建系统结构可自动标记软件依赖关系,并使用模块化层次结构进行应用,从而消除了通常的复杂性和痛苦。开发人员不再需要手动查找和组装工具链、编译器和库依赖环境,就能为特定目标开发应用程序。有了PlatformIO,点击编译按钮就能自动引入所有必要的依赖项。这就好比你是一名家具设计师,而你的CAD程序有"构建"按钮,可以让机器人获取所有必要的部件和紧固件,并将它们正确地组装起来。
PlatformIO Core(CLI是独特的、从零开始开发的构建系统,它消除了开发人员在超越特定SDK或嵌入式应用实例的范围时通常会遇到的软件集成、打包和库依赖性等问题。它可与各种代码开发环境配合使用,并可与众多云平台和网络服务源轻松集成。用户在快速上手方面不会遇到任何障碍:无需许可证费用,无需法律合同。用户可以保持构建环境的充分灵活性,因为这些工具是开源的,并且获得了许可(修改这些工具不需要许可,也不要求共享修改内容)。
1.4 解决问题
人们对嵌入式世界望而却步的主要问题是为特定MCU/板设置开发软件的复杂过程:工具链、专有供应商的集成开发环境(有时不是免费的),更重要的是,要在计算机上安装支持该软件的操作系统。
- 多种硬件平台(MCU:Microcontroller Unit、板卡board)需要不同的工具链、集成开发环境等,还分别需要花时间学习新的开发环境。
- 寻找适当的库和代码示例,说明如何使用常用的传感器、执行器等。
- 团队成员之间共享嵌入式项目,无论他们喜欢使用哪种操作系统。
1.5 如何工作
在不深入探讨PlatformIO实施细节的情况下,使用 PlatformIO 开发项目的工作周期如下:
- 用户在"platformio.ini"(项目配置文件)中选择感兴趣的电路板。
- PlatformIO根据电路板列表下载所需的工具链并自动安装。
- 用户开发代码,PlatformIO 确保代码已编译、准备就绪并上传到板上。
2 PlatformIO IDE
PlatformIO IDE是下一代物联网集成开发环境。
- 跨平台构建系统,与操作系统软件无外部依赖关系:
- 1,000多种板卡
- 40多个开发平台
- 20多个框架
- 调试
- 远程开发
- 单元测试
- C/C++智能代码自动完成
- 用于快速专业开发的C/C++智能代码筛选器
- 数百个常用库的库管理器
- 多窗格的多项目工作流程
- 支持深色和浅色主题
- 串行端口监控器
- 内置带有 PlatformIO Core (CLI)和 CLI 工具(pio、platformio)的终端
- 内置PlatformIO Home
我们为最流行的集成开发环境和文本编辑器提供官方软件包(插件、扩展)。
根据我们的经验,PlatformIO IDE for VSCode有更好的系统性能,用户也发现它更容易上手。
2.1 VSCode PlatformIO扩展
Visual Studio Code是一款轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于 Windows、macOS 和 Linux。它内置了对java script、TypeScript和Node.js的支持,并为其他语言(如 Python、C++、C#、PHP、Go)和运行时(如 .NET 和 Unity)提供了丰富的扩展生态系统。
2.1 CLion PlatformIO扩展
CLion是适用于Linux、OS X和Windows的跨平台C/C++集成开发环境。CLion包括智能编辑器、代码生成、代码质量保证、自动重构、即时代码分析、项目管理器、集成版本控制系统和调试器等功能。
3 PlatformIO Core (CLI)
PlatformIO Core(CLI 工具)是整个 PlatformIO 生态系统的核心,包括
- 多平台构建系统
- 统一软件包管理器
- 库管理
- 库依赖关系查找器(LDF Library Dependency Finder)
- 串行端口监控器
- 集成组件(云和桌面集成开发环境以及持续集成)。
PlatformIO Core由Python编写,可在Windows、macOS、Linux、FreeBSD和基于ARM的信用卡大小的计算机(Raspberry Pi、BeagleBone、CubieBoard、Samsung ARTIK 等上运行。
PlatformIO Core提供内容丰富、文档齐全的命令行界面(CLI)。其他基于PlatformIO的软件和集成开发环境都基于 PlatformIO Core CLI,如 PlatformIO IDE。换句话说,它们用自己的图形用户界面包装 PlatformIO Core。
请注意,如果要使用 PlatformIO I