M5StackでAmazon FreeRTOSを使用する 2
はじめに
前回、M5StackでAmazon FreeRTOSが動作することが確認できたので、今回はアプリの作成方法を確認しながら、LEDを点滅(いわゆるLチカ)したいと思います。
仕事で関わっているRecord Meetingという自動議事メモ作成サービスでM5Stackを利用しているのですが、デバイスが増えてくると管理が大変です。Amazon FreeRTOSがM5Stackで使えるようになるととても魅力的です。
Amazon FreeRTOSのアプリケーション作成を始めるにあたり、ドキュメントを探しましたが、まだリソースが少ないようです。次のあたりを参考にしました。「Using Amazon FreeRTOS in Your Own CMake Project for ESP32」、「Document how to create a new cmake project outside the freertos source tree #832」
アプリケーションは、このようなディレクトリ構成にするのがよさそうです。
- amazon-freertos
- components
- foo
- include
- foo.h
- src
- foo.c
- CMakeLists.txt
- src
- main.c
- CMakeLists.txt
今回使用したLEDはこれ、マルツ Grove - White LED【104030009】 、M5StackのAポートに差します。
Git bashから、任意の場所にデモアプリをダウンロードします
git clone https://github.com/fukuen/m5stack-freertos-blinky --recursive
前回と同じモノの名前や証明書を使う場合は、証明書やヘッダーファイルを前回使用したamazon-freertosフォルダーから、今回のamazon-freertosフォルダーにコピーしてください。新しく登録する場合は、/tools/aws_config_quick_start/configure.json を修正して SetupAWS.py を実行してください。
ダウンロードしたディレクトリーに移動して、アプリケーションをビルドします。
cd m5stack-freertos-blinky
cmake -DCMAKE_TOOLCHAIN_FILE=amazon-freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja -S . -B build
cd build
ninja
ビルドが完了したら、フラッシュします。
cd ..
idf.py flash
シリアルコンソールでモニターしてみます。
idf.py monitor
LEDが点滅して、シリアルコンソールに次のように出力されます。当然ですが、画面には何も表示されません。
--- idf_monitor on COM6 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:7224
load:0x40078000,len:12620
load:0x40080400,len:6708
entry 0x40080778
I (72) boot: Chip Revision: 1
I (72) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (38) boot: ESP-IDF v3.3-163-g601a03e 2nd stage bootloader
I (39) boot: compile time 10:02:55
I (39) boot: Enabling RNG early entropy source...
I (44) boot: SPI Speed : 40MHz
I (48) boot: SPI Mode : DIO
I (52) boot: SPI Flash Size : 4MB
I (56) boot: Partition Table:
I (60) boot: ## Label Usage Type ST Offset Length
I (67) boot: 0 nvs WiFi data 01 02 00010000 00006000
I (75) boot: 1 otadata OTA data 01 00 00016000 00002000
I (82) boot: 2 phy_init RF data 01 01 00018000 00001000
I (89) boot: 3 ota_0 OTA app 00 10 00020000 00177000
I (97) boot: 4 ota_1 OTA app 00 11 001a0000 00177000
I (104) boot: 5 storage WiFi data 01 02 00317000 00010000
I (112) boot: End of partition table
I (116) boot: ota rollback check done
I (121) boot_comm: chip revision: 1, min. application chip revision: 0
...
I (217) boot: Loaded app from partition at offset 0x20000
I (217) boot: Disabling RNG early entropy source...
I (218) cpu_start: Pro cpu up.
I (221) cpu_start: Application information:
I (226) cpu_start: Project name: esp-idf
I (231) cpu_start: App version: 1
I (235) cpu_start: Compile time: Dec 26 2019 10:02:21
I (242) cpu_start: ELF file SHA256: 03786af4d87c7160...
I (248) cpu_start: ESP-IDF: v3.3-163-g601a03e
I (253) cpu_start: Single core mode
I (258) heap_init: Initializing. RAM available for dynamic allocation:
I (265) heap_init: At 3FFAE6E0 len 0000F480 (61 KiB): DRAM
I (271) heap_init: At 3FFC15E0 len 0001EA20 (122 KiB): DRAM
I (277) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): D/IRAM
I (284) heap_init: At 40078000 len 00008000 (32 KiB): IRAM
I (290) heap_init: At 40087C30 len 000183D0 (96 KiB): IRAM
I (296) cpu_start: Pro cpu start user code
I (314) cpu_start: Starting scheduler on PRO CPU.
Turning off the LED
Turning on the LED
Turning off the LED
Turning on the LED
Turning off the LED
Turning on the LED
Turning off the LED
...
まとめ
画面がまだ真っ暗のままなので、次回は画面に何か表示してみましょう。
Author And Source
この問題について(M5StackでAmazon FreeRTOSを使用する 2), 我々は、より多くの情報をここで見つけました https://qiita.com/fukuebiz/items/3b803912bf51b1f46d79著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .