0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PIO工程的结构以及配置文件

CHANBAEK 来源:鱼香ROS 作者:小鱼 2023-07-02 15:33 次阅读

你好,我是爱吃鱼香ROS的小鱼。上一节我们搭建好了MicroROS学习板的开发环境,并新建了第一个工程。本节我们详细了解下该工程,了解我们需要在哪里写代码,在哪里改配置?

一、工程目录概述

图片

image-20221218001241164

首先展开工程,可以看到工程一共有8个部分如上图所示。

  1. PIO配置文件
  2. VsCode配置文件
  3. 头文件放置目录
  4. 库文件放置目录
  5. 代码资源放置目录,主函数就在这里
  6. 测试文件放置目录
  7. git忽略文件
  8. platformio配置文件

二、在哪里写代码?

打开src/main.cpp就是我们工程的程序入口文件,打开该文件,已经默认给我们生成了9行代码,后续的主要开发就在这里进行。

#include < Arduino.h >

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}Copy to clipboardErrorCopied

三、工程配置文件-platformio.ini

打开工程主目录下的platformio.ini文件,预生成的配置文件如下

; 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:featheresp32]
platform = espressif32
board = featheresp32
framework = arduinoCopy to clipboardErrorCopied

这里用到的主要配置有四个

  1. [env:featheresp32]编译环境
  2. platform = espressif32单片机平台
  3. board = featheresp32,开发板
  4. framework = arduino,开发框架-arduino

后续还有很多关于工程的配置都放在这里,同时我们可以添加一条配置board_build.f_cpu = 240000000L,将单片机的主频提高到240MHZ的主频。

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino
board_build.f_cpu = 240000000LCopy to clipboardErrorCopied

四、编译工程

在VsCode中编译PIO,编译工程和将编译结果下载到开发板上都非常的方便。

编译工程可以手动点击左下角的对号进行,其他操作也可以通过按钮进行。

图片

点击编译按钮,看到如下界面则代表编译成功

图片

其中打印信息有很多有用的提示,比如工程占用的RAM和Flash大小(可以理解为系统程序大小)

RAM:   [          ]   4.9% (used 16144 bytes from 327680 bytes)
Flash: [==        ]  16.2% (used 212961 bytes from 1310720 bytes)Copy to clipboardErrorCopied

编译完成工程,在.pio/build/featheresp32目录下可以看到firmware.bin,这个就是我们工程编译之后生成的二进制文件,将该文件下载到开发板上就可以运行了。

五、PIO快捷键

这里再介绍几个PIO的快捷键,在接下来的学习中你肯定能用到

快捷键 内容
Ctrl+Alt+B 编译工程
Ctrl+Alt+U 将程序上传烧录到开发板
Ctrl+Alt+S 打开串口Monitor

六、总结

本节我们简单的了解下PIO工程的结构以及配置文件,下一节我们开始学习如何输出Hello World!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    81009
  • 开发环境
    +关注

    关注

    1

    文章

    225

    浏览量

    16611
  • 学习板
    +关注

    关注

    0

    文章

    44

    浏览量

    12159
  • PIO
    PIO
    +关注

    关注

    0

    文章

    18

    浏览量

    6202
  • vscode
    +关注

    关注

    1

    文章

    155

    浏览量

    7698
收藏 人收藏

    评论

    相关推荐

    基于libconfig进行配置文件解析

    本文介绍基于libconfig进行配置文件解析
    的头像 发表于 06-08 10:18 1403次阅读
    基于libconfig进行<b class='flag-5'>配置文件</b>解析

    探讨PROE的配置文件——系统配置文件config.pro

    PROE的配置文件让不少初学者感到烦恼,尽管不少教材里都会提到关于PROE的配置文件。但大多数显得过于理论化,而不便于初学者理解,可操作性不强。本文力求以通俗的语言结合
    发表于 09-28 15:50 0次下载

    ICD配置文件的详细介绍和配置内容的详细概述

    配置文件配置文件是利用SCL语言描述变电站设备对象模型后生成的文件,用于在不同厂商的配置工具之间交换配置信息。
    的头像 发表于 06-02 11:16 1.8w次阅读
    ICD<b class='flag-5'>配置文件</b>的详细介绍和<b class='flag-5'>配置</b>内容的详细概述

    Keil的黑色界面配置文件配置方法

    本文档的主要内容详细介绍的是Keil的黑色界面配置文件配置方法。
    发表于 12-03 15:05 26次下载

    Python进行配置文件的教程免费下载

    本文档的主要内容详细介绍的是Python进行配置文件的教程免费下载。
    发表于 09-30 16:41 6次下载
    Python进行<b class='flag-5'>配置文件</b>的教程免费下载

    AD8283评估板设计和配置文件

    AD8283评估板设计和配置文件
    发表于 05-31 16:04 9次下载
    AD8283评估板设计和<b class='flag-5'>配置文件</b>

    labview读写配置文件实例分享

    labview读写配置文件实例分享
    发表于 11-01 16:05 45次下载

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法内: public class learnMap { @Value
    的头像 发表于 01-13 15:28 648次阅读

    Python程序配置文件管理的最佳工程实践

    现在配置对象已经是单例了,但还有一个问题,它的每个配置项的值都是默认值,我们当然是希望它在创建对象的时候是使用配置文件中的值啦。下面看需求三怎么实现。
    的头像 发表于 05-04 10:00 710次阅读

    KT142C语音芯片配置文件总是不起作用?配置文件的问题集中归纳

    KT142C语音芯片配置文件总是不起作用?配置文件的问题集中归纳
    的头像 发表于 10-20 15:04 575次阅读
    KT142C语音芯片<b class='flag-5'>配置文件</b>总是不起作用?<b class='flag-5'>配置文件</b>的问题集中归纳

    linux修改网卡ip配置文件

    Linux是一种开源的操作系统,因此,它给用户提供了很高的自由度,可以根据个人需要进行各种定制和配置。其中,修改网络接口配置文件是常见的操作,可以通过修改网卡ip配置文件来设置网络接口的IP地址
    的头像 发表于 11-17 10:51 2237次阅读

    springboot的全局配置文件有几种

    、服务器端口等等。本文将详细介绍Spring Boot的全局配置文件,包括其类型、常见的配置以及使用方法。 第一部分:Spring Boot全局配置文件的类型 Spring Boot
    的头像 发表于 12-03 15:28 1566次阅读

    springboot的核心配置文件有哪些

    的工作量。 Spring Boot的核心配置文件主要有以下几个: application.properties:Spring Boot应用程序的主要配置文件。它使用Java的键值对格式来定义各种配置属性
    的头像 发表于 12-03 15:30 1164次阅读

    php的配置文件是什么

    PHP的配置文件是一种用于配置PHP解释器的文本文件。它包含了一系列的指令和选项,用于影响PHP的行为和性能。通过修改配置文件,可以改变PHP解释器的默认行为,从而满足不同的需求。 在
    的头像 发表于 12-04 15:55 1533次阅读

    oracle配置文件tnsnames怎么配置

    Oracle配置文件tnsnames.ora是一个文本文件,用于定义数据库连接的别名和连接信息。通过配置文件,可以在应用程序中使用别名来连接数据库,而不必直接给出数据库的具体连接信息
    的头像 发表于 12-06 10:15 8554次阅读