回答編集履歴

1

試したこと追記

2021/08/17 14:46

投稿

thkana
thkana

スコア7703

test CHANGED
@@ -9,3 +9,87 @@
9
9
 
10
10
 
11
11
  Platform IOということはArduino環境なんでしょうか。Platform IOで使えるかは知りませんが、Arduino IDEなら[spiffsにファイルを流し込むツールなんてのもある](https://www.mgo-tec.com/blog-entry-spiffs-uploader-plugin-arduino-esp32.html)ようですので(私自身は使ったことはありません)、とくにこだわりがあるのでなければそういのでもよいのでは。
12
+
13
+
14
+
15
+ ---
16
+
17
+ ちょっと真面目に調べました。
18
+
19
+ ESP32-WROOM-02のSPIフラッシュからの読み出しには`spi_flash_read`というAPI関数が使えるようです。
20
+
21
+ パーティションテーブルを
22
+
23
+ ```text
24
+
25
+ # Name, Type, SubType, Offset, Size, Flags
26
+
27
+ nvs, data, nvs, 0x9000, 0x5000,
28
+
29
+ otadata, data, ota, 0xe000, 0x2000,
30
+
31
+ app0, app, ota_0, 0x10000, 0x140000,
32
+
33
+ app1, app, ota_1, 0x150000,0x140000,
34
+
35
+ eeprom, data, 0x99, 0x290000,0x1000
36
+
37
+ spiffs, data, spiffs, 0x291000,0x16F000,
38
+
39
+ ```
40
+
41
+ esptoolで0x290000から
42
+
43
+ ```
44
+
45
+ de ad be ef 00 00....あとしばらく00
46
+
47
+ ```
48
+
49
+ を書き込んで、
50
+
51
+ ```Arduino
52
+
53
+ void setup()
54
+
55
+ {
56
+
57
+ char data[1024];
58
+
59
+ spi_flash_read(0x290000,data,1024);
60
+
61
+ Serial.begin(115200);
62
+
63
+ for (int i = 0; i < 1024; i++) {
64
+
65
+ printf("%02x ",data[i]);
66
+
67
+ if((i%16)==15){
68
+
69
+ printf("\n");
70
+
71
+ }
72
+
73
+ }
74
+
75
+ }
76
+
77
+ void loop(){}
78
+
79
+ ```
80
+
81
+ を走らせると
82
+
83
+ ```
84
+
85
+ de ad be ef 00 00 00 00 00 00 00 00 00 00 00 00
86
+
87
+ 以下略
88
+
89
+ ```
90
+
91
+ という表示が得られました。
92
+
93
+
94
+
95
+ やりたかったのはこういうことでいいんですよね?