ESP32 FreeRTOSを WSLで利用の覚書
ESP32 用 RTOSは2つある。
- Arduino 付属の FreeRTOS
- AWS 提供の ESP32用 FreeRTOS
1)Arduino 付属の FreeRTOS
スケッチ例からサンプルを利用できる。
サンプルには特に importなしで利用している。xTaskCreatePinnedToCore()を setup()で設定。loop() は空。
2)AWS の FreeRTOS
下記ブログが一番わかりやすかった。
以下メモ書き。
Amazon FreeRTOS と ツールチェインをそれぞれgithubと Espressif社サイトから ダウンロードが必要。
今回はWSL(Windows Subsystem for Linux)で利用した。理由はMSYSが嫌だったから。 Standard Setup of Toolchain for Linux は 64-bit Linux を利用。
WSLで利用するときの留意点のメモ。
- Windowsのシリアルポートが利用できる
- COMnはWSL上では ttySn で接続される。例えばCOM3ならば シリアルデバイス名 は /dev/ttyS3 。WSLにUSBシリアルドライバは追加不要なので楽。
- WSLのファイルは ルートがAppdataの深く下にある。
- C:\Users\(userid)\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs がルートになる。ファイルは直接操作可能。
- make flash monitor が便利。 flashに書き込んでそのまま シリアルモニターできる。独立しては make monitor とか。終了は Ctl + ] 。
- デモのサンプルは下記など。更新後はmake clean必要でちょっと面倒。
- ~/amazon-freertos/demos/espressif/esp32_devkitc_esp_wrover_kit/make/make.c
- ~/amazon-freertos/demos/common/demo_runner/aws_demo_runner.c
参考
- https://dev.classmethod.jp/hardware/amazon-freertos-esp32-iot-device-management/
- https://aws.amazon.com/jp/freertos/getting-started/
- https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html
- https://docs.espressif.com/projects/esp-idf/en/latest/get-started/linux-setup.html