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!

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

    关注

    114

    文章

    3631

    浏览量

    79549
  • 开发环境
    +关注

    关注

    1

    文章

    203

    浏览量

    16461
  • 学习板
    +关注

    关注

    0

    文章

    39

    浏览量

    12082
  • PIO
    PIO
    +关注

    关注

    0

    文章

    18

    浏览量

    6117
  • vscode
    +关注

    关注

    1

    文章

    146

    浏览量

    7373
收藏 人收藏

    评论

    相关推荐

    基于libconfig进行配置文件解析

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

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

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

    FreeRTOS_006_FreeRTOSConfig.h配置文件 (三)

    FreeRTOS_006_FreeRTOSConfig.h配置文件(三)
    的头像 发表于 03-14 11:10 3142次阅读
    FreeRTOS_006_FreeRTOSConfig.h<b class='flag-5'>配置文件</b> (三)

    FreeRTOS_004_FreeRTOSConfig.h配置文件 (一)

    FreeRTOS_004_FreeRTOSConfig.h配置文件(一)
    的头像 发表于 03-14 11:18 2441次阅读
    FreeRTOS_004_FreeRTOSConfig.h<b class='flag-5'>配置文件</b> (一)

    AD8283评估板设计和配置文件

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

    labview读写配置文件实例分享

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

    SpringBoot配置文件application

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

    SpringBoot配置文件application

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

    教程 2:自定义配置文件示例

    教程 2:自定义配置文件示例
    发表于 03-13 19:33 0次下载
    教程 2:自定义<b class='flag-5'>配置文件</b>示例

    教程 3:构建自定义配置文件

    教程 3:构建自定义配置文件
    发表于 03-15 19:39 0次下载
    教程 3:构建自定义<b class='flag-5'>配置文件</b>

    教程 2:自定义配置文件示例

    教程 2:自定义配置文件示例
    发表于 07-04 20:50 0次下载
    教程 2:自定义<b class='flag-5'>配置文件</b>示例

    教程 3:构建自定义配置文件

    教程 3:构建自定义配置文件
    发表于 07-06 18:49 0次下载
    教程 3:构建自定义<b class='flag-5'>配置文件</b>

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

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

    springboot的全局配置文件有几种

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

    php的配置文件是什么

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