PlatformIOでESP32を開発する

コンポーネントのバージョン


PlatformIO for ESP32にもFreeRTOSとlwIPが組み込まれています。
組み込まれているコンポーネントのバージョンをESP-IDFと比べてみました。


ESP-IDF

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

#include "lwip/init.h"

void app_main()
{
    printf("freeRTOS version:%s\n", tskKERNEL_VERSION_NUMBER);
    printf("NEWLIB version:%s\n", _NEWLIB_VERSION);
    printf("lwIP version:%d-%d-%d-%d\n",
      LWIP_VERSION_MAJOR,LWIP_VERSION_MINOR,
      LWIP_VERSION_REVISION,LWIP_VERSION_RC);
    printf("ESP-IDF version:%s\n", esp_get_idf_version());
}

実行すると以下の様に表示されます。

freeRTOS version:V8.2.0
NEWLIB version:3.0.0
lwIP version:2-1-3-0
ESP-IDF version:v4.1-dev-1572-g30372f5a4


PlatformIO for ESP32

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "Arduino.h"

#include "lwip/init.h"

void setup() {
    delay(2000);
    printf("freeRTOS version:%s\n", tskKERNEL_VERSION_NUMBER);
    printf("NEWLIB version:%s\n", _NEWLIB_VERSION);
    printf("lwIP version:%d-%d-%d-%d\n",
      LWIP_VERSION_MAJOR,LWIP_VERSION_MINOR,
      LWIP_VERSION_REVISION,LWIP_VERSION_RC);
    printf("ESP-IDF version:%s\n", esp_get_idf_version());
    vTaskDelete( NULL );
}

void loop() { // Never run
    printf("[%s:%d] loop\n",pcTaskGetTaskName(NULL),xTaskGetTickCount());
}

実行すると以下の様に表示されます。

freeRTOS version:V8.2.0
NEWLIB version:2.2.0
lwIP version:2-0-3-255
ESP-IDF version:v3.2.3-14-gd3e562907

2022年1月の時点で、ESP-IDFの方は既にVer5.0がリリースされています。
ESP-IDF Ver3.2.5が リリースされたのは2020年11月なので、PlatformIOのコアライブラリは1年以上更新されていないことになります。

続く
....