pdf-icon

ESP-IDF Quick Start

1. ESP-IDF Setup

2. Devices & Examples

CoreS3

CoreS3 ESP‑IDF BSP 使用チュートリアル

本チュートリアルでは、ESP‑IDF 開発環境に CoreS3 ボードサポートパッケージ(BSP)を統合し、オンボード周辺機器ドライバの迅速な初期化および管理を行う方法を紹介します。開発効率を向上させることができます。

1. 準備

  1. 環境構築:本チュートリアルは Ubuntu OS を前提とした ESP‑IDF 開発環境の構築方法を解説します。他プラットフォームの手順については、ESP‑IDF – ESP32‑S3 入門チュートリアル を参照してください。
ESP‑IDF バージョン
本チュートリアルでは ESP‑IDF バージョン v5.4.1 を推奨します
  1. Git を使用して esp-idf リポジトリをクローンし、指定ブランチに切り替え、スクリプトを実行してツールチェーンをインストールします。
注意
. ./export.sh コマンドの "." とスクリプトパスの間に空白が必要です。このコマンドは source ./export.sh と同等です
git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.4.1 # 推奨
./install.sh
. ./export.sh
  1. 以降の idf.py コマンドは ESP‑IDF が有効になっている必要があります。実行前にプロジェクトディレクトリ内で . ./export.sh を呼び出し、環境変数を有効化してください。詳細は ESP‑IDF – ESP32‑S3 入門チュートリアル を参照。

2. プロジェクト作成

  1. ターミナルを開き、作業ディレクトリへ移動します。cores3_projects フォルダを作成し、その中に移動した後、esp-idf ディレクトリの export.sh を呼び出して環境を有効化します。以下のコマンドは cores3_projectsesp-idf が同階層にある場合の例です。パスが異なる場合は適宜修正してください。空のプロジェクトテンプレート my_project を作成するには、次の idf.py create-project コマンドを実行します。
mkdir cores3_projects
cd cores3_projects
. ../esp-idf/export.sh
idf.py create-project my_project
  1. プロジェクトディレクトリに移動し、Espressif Component Registry ツールを使って M5Stack CoreS3 BSP を追加します。
cd my_project
idf.py add-dependency "espressif/m5stack_core_s3^3.0.0"
  1. ビルドターゲットを設定します。
idf.py set-target esp32s3
  1. API 互換性のため、ビルド前に idf.py menuconfig を実行し、Component configAudio Codec Device Configuration メニュー内の後方互換 I2C Driver オプションを無効化してください。
idf.py menuconfig

3. サンプルプログラム

  1. 空のテンプレートに含まれるエントリファイルを開き、以下のサンプルコードに置き換えます。
vim main/my_project.c 
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "lv_demos.h"
#include "bsp/esp-bsp.h"
static char *TAG = "app_main";
#define LOG_MEM_INFO (0)
void app_main(void) {
/* ディスプレイと LVGL の初期化 */
bsp_display_start();
/* バックライトを 100% に設定 */
bsp_display_backlight_on();
ESP_LOGI(TAG, "Display LVGL demo");
bsp_display_lock(0);
lv_demo_widgets(); /* ウィジェットのデモ */
// lv_demo_music(); /* スマートフォン風音楽プレーヤーデモ */
// lv_demo_stress(); /* LVGL ストレステストデモ */
// lv_demo_benchmark(); /* LVGL 性能ベンチマークデモ */
bsp_display_unlock();
}
  1. このサンプルはディスプレイを駆動して LVGL デモを表示します。別のデモを使う場合は、コメントを切り替えてビルドしてください。使用前に idf.py menuconfigComponent configLVGL ConfigurationDemos で該当デモを有効化します。

4. ビルド & 書き込み

  1. デバイスのリセットボタンを長押し(約2秒)すると、内部の緑色 LED が点灯します。ボタンを放すとダウンロードモードに入り、書き込み待ち状態になります。
  1. 次のコマンドでプログラムをビルドし、デバイスに書き込みます。
idf.py flash
On This Page