🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら

Q&A

1回答

1809閲覧

フラッシュメモリを16MbyteにしたはずのESP32が、4Mbyteと表示される。

MaeharaKenji

総合スコア86

0グッド

1クリップ

投稿2020/12/24 08:45

もともとフラッシュメモリが4Mbyteしか搭載されていないESP32を16Mbyteに拡張できる記事というサイトを読みました。
試しに、この16Mbyteに換装されているモジュールを購入して載せ替えて、下のプログラムをplatformioで実行してみました。

void setup() { Serial.begin(115200); Serial.printf("Internal Total heap %d, internal Free Heap %d\n", ESP.getHeapSize(), ESP.getFreeHeap()); Serial.printf("SPIRam Total heap %d, SPIRam Free Heap %d\n", ESP.getPsramSize(), ESP.getFreePsram()); Serial.printf("Flash Size %d, Flash Speed %d\n", ESP.getFlashChipSize(), ESP.getFlashChipSpeed()); Serial.printf("ChipRevision %d, Cpu Freq %d, SDK Version %s\n", ESP.getChipRevision(), ESP.getCpuFreqMHz(), ESP.getSdkVersion()); } void loop() { }

しかし、次のようなシリアル出力が表示されて、Flash Sizeは4Mbyte程度と変わっていないと表示されてしまいます。

Internal Total heap 332508, internal Free Heap 306552 SPIRam Total heap 0, SPIRam Free Heap 0 Flash Size 4194304, Flash Speed 40000000 ChipRevision 1, Cpu Freq 240, SDK Version v3.2.3-14-gd3e562907 2020/12/24 17:00:07 i2cuart02 device not found

単純に16Mbyteのモジュール基板に乗せ換えただけでは、Flashメモリ領域は拡張されないのでしょうか?
どうぞ、ご教示の程宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tmp

2020/12/25 03:12

書込み時にFlash Sizeは16MBを選び 「Partition Scheme」も16MB用を選びましたか?
thkana

2020/12/25 08:16

Flashの前に、疑似SRAMが無いのですが。本当にWROBERでしょうか? あと、参照先は「拡張」なんて一言も言っていないように思います。
guest

回答1

0

もしかしてこういう話かしら。
ESP.getなんちゃら関数はデバイスIDとかを読んでいるわけではなく、単にメモリパーティションとして設定されたものを読んでいるだけとかで、platformio用の適切な設定ファイルを弄ってやらなきゃいけない、と。

platformioは自分では使っていないし8MBデバイスも持っていないので試行とかはしませんが。

投稿2020/12/27 22:37

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問