回答編集履歴

1

検討が進みました。

2019/03/07 13:07

投稿

thkana
thkana

スコア7639

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