質問するログイン新規登録

回答編集履歴

1

検討が進みました。

2019/03/07 13:07

投稿

thkana
thkana

スコア7739

answer CHANGED
@@ -1,4 +1,25 @@
1
1
  まだちゃんと調べられてませんが、回答がつかないようなので取り急ぎ。
2
2
 
3
3
  [ESP-WROOM-32 ( ESP32 ) SPIFFS メモリサイズを大きくする方法](https://www.mgo-tec.com/blog-entry-partition-table-spiffs-sizeup-esp-wroom-32.html) あたりをみると、EEPROMのエミュレーション領域を指定するファイルがあり、ここに指定した名前でEEPROMクラスのコンストラクタを呼んでやらなきゃいけない、のでは。
4
- EEPROMライブラリのデフォルトではこの名前がeeprom0とかになっていて、設定ファイルと合っていないのでEEPROMの領域を取得できず、lengthが0になっている、とかいうことのような気がします。
4
+ EEPROMライブラリのデフォルトではこの名前がeeprom0とかになっていて、設定ファイルと合っていないのでEEPROMの領域を取得できず、lengthが0になっている、とかいうことのような気がします。
5
+
6
+ ---
7
+ M5Stackで試してみました。
8
+ デフォルトでdefault.csvは
9
+ ```defulat.csv
10
+ # Name, Type, SubType, Offset, Size, Flags
11
+ nvs, data, nvs, 0x9000, 0x5000,
12
+ otadata, data, ota, 0xe000, 0x2000,
13
+ app0, app, ota_0, 0x10000, 0x140000,
14
+ app1, app, ota_1, 0x150000,0x140000,
15
+ eeprom, data, 0x99, 0x290000,0x1000,
16
+ spiffs, data, spiffs, 0x291000,0x16F000,
17
+ ```
18
+ となっていました。なので、サンプルプログラムのeeprom_writeは書き込みを行えました。
19
+ ここで、default.csvのeepromをeeprom0と変えて再度コンパイル、実行してみると、
20
+ ```failed to initialise EEPROM```
21
+ となり、プログラムは動作しませんでした。
22
+
23
+ ということで、default.csvを確認してみて下さい。
24
+
25
+ ちなみに、ソースを見る限りではEEPROMClass::lengthはEEPROMClassのコンストラクタで与えられた値を返すようですね。その値がなにかに使われている様子もないので、他機種とのコンパチピリティのためのパラメータなのでしょうか。lengthの返す値は意味を持たないようです。