(摘) ESP-IDF编程 环境搭建

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

这是一篇摘录。官方这里有更详细的步骤和说明。

我的使用环境为Ubuntu。

  1. 准备工作 

  2. 建个目录克隆项目 git clone –recursive https://github.com/espressif/esp-idf.git

  3. 进入目录安装 ./install.sh (我并没有自定义安装目录)

  4. 设置环境变量,让它随处可用: . $HOME/esp/esp-idf/export.sh

  5. 创建工程:把目录下examples/get-started/hello_world复制到你的目录作试用

  6. 设置我的目标板: idf.py set-target esp32

  7. 设备配置: idf.py menuconfig  这里有介绍各项功能

  8. 编译工程: idf.py build

  9. 烧录: idf.py -p PORT [-b BAUD] flash

  10. 看监控: idf.py -p PORT monitor  (注意使用Ctrl+]退出)

也可以烧录后开始监控 idf.py -p PORT flash monitor

idf.py -p /dev/ttyUSB0 flash 我没有添加波特率也可以,看起来是按默认460800连接。

idf.py size 可以查看应用程序相关大小

idf.py app - 仅构建应用程序。

idf.py app-flash - 仅烧写应用程序。

idf.py app-flash 会自动判断是否有源文件发生了改变而后重新构建应用程序。

idf.py erase_flash 擦除 Flash

看HelloWorld也不复杂。

#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"

void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU cores, WiFi%s%s, ",
            CONFIG_IDF_TARGET,
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

相关文章