0件のコメント/efont/を使うときに、プログラムサイズを広げたかったので調べました。※現時点の情報ですので、最新情報はM5StickC非公式日本語リファレンスを確認してください。IDEに登録するメモリーマップhttps://docs.espressif.com/projects/esp-idf/en/latest/api-guides/general-notes.html#application-memory-layout上記がデフォルトのメモリマップです。bootloaderを実行します。tablesを見て、app0からプログラムをロードして実行するのが通常の流れですが、ここは変更しないところなので、知らなくても大丈夫です。SPIFFS」などの自分専用の設定を追加することができます。192,512上記が標準で入っている設定値です。storage)不揮発性ストレージで、電源を切っても保存される領域です。nvs_get_blob()関数などにより、名前をつけた値を保存することができます。ここのサイズはあまり変更しないようです。Wi-Fiのアクセスポイントを保存するときとかに利用したりします。暗号化されていないのと、中身を取り出すことができるので、パスワードなどを保存して置くと、抜き出される可能性があります。Air)はWi-Fi経由でプログラムを更新する仕組みで、そのためのプログラムが入っている領域です。OTAを利用しない場合でも、この領域は必要で、固定サイズになります。app0実際のプログラムが入っている領域です。プログラムの領域が足りなくなった場合には、他の領域を減らして、ここの領域を増やすことができます。通常は暗号化されていませんが、暗号化することも可能ですがちょっと複雑です。app1OTAを利用する場合には、app0とapp1の交互にプログラムを書き込んでいき、書き込みに失敗した場合でも、書き換え前のプログラムが残っている状態にします。そのためapp0とapp1の大きさは同じにする必要があります。OTAを利用しない場合には0で構いません。Memory)こちらもnvsと同じく不揮発性ストレージです。名前でアクセスする機能はなく、アドレス単位でのアクセスになります。構造体を使うことで簡単に複数の設定を保存したり、取得したいすることができます。こちらも、通常は暗号化されていないのと、中身を取り出すことができるので、パスワードなどを保存して置くと、抜き出される可能性があります。System)SPIバス経由で接続されている内部フラッシュを利用した、ファイルシステムです。Uploadを実行するとフォルダの中身をESP32に転送してくれます。spiffsの利点として、一度転送すれば上書きされることがないので、プログラムの転送サイズが減ります。OTAなどを利用した場合、プログラム内部にデータを内蔵しておくとapp0とapp1で同じデータが存在するので、spiffsにデータを置くことで容量を有効に使うことができます。欠点として、初期状態で転送ツールがセットアップされないので、使うまでがちょっと面倒です。サイズが小さい場合にはプログラムの中に内蔵したほうがシンプルになると思います。自分でPartition設定を作るあまり自分でPartitionを編集する必要はないのですが、標準で用意されているプログラム容量は2Mまでなので、もっと大きなプログラムを転送したい場合には、自分で設定する必要があります。Tablesが保存されています。ベースになるものをコピーして、名前を変更してから書き換えます。0x311000,0xEF000,上記がOTAを使わなくして、最大限app0のサイズを大きくしたものです。各Partition最大が3Mまでの様で、3M以上を指定しても3Mとして動いています。そのため、残りをspiffsに割り当てています。サイズを変更する場合には、増減したPartitionの次の領域のOffsetなどもずれるので、自分で計算して更新する必要があります。ESP32はフラッシュが4Mですので、最後のOffsetとSizeを足した結果が4M以下になっている必要があります。IDEに登録するC:\Users\%username%\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\boards.txtWindowsの場合には、上記に各ボードの設定ファイルがあるので、これを書き換えます。これはESP32のライブラリが更新されると上書きされるので、更新された場合には再度編集する必要があります。OTA)m5stick-c.menu.PartitionScheme.no_ota_min_spiffs.build.partitions=no_ota_min_spiffsm5stick-c.menu.PartitionScheme.no_ota_min_spiffs.upload.maximum_size=3145728最後の3行が追加した行です。既存の行に追加することで新しい設定が追加されます。IDEを再起動する必要がありますので、再起動したらメニューに追加されているはずです。コメントをキャンセルメールアドレスが公開されることはありません。date*管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。スパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。その1ESP32のGPIO入力について関連記事はこちらです。関連記事はこちらです。Themegraphy。