回答編集履歴
1
試したこと追記
answer
CHANGED
@@ -3,4 +3,46 @@
|
|
3
3
|
ならそこに書き込んで、番地指定でプログラムから読み出せばよいのではないですか?
|
4
4
|
なんでわざわざプログラムを壊しながら書くのでしょう?
|
5
5
|
|
6
|
-
Platform IOということはArduino環境なんでしょうか。Platform IOで使えるかは知りませんが、Arduino IDEなら[spiffsにファイルを流し込むツールなんてのもある](https://www.mgo-tec.com/blog-entry-spiffs-uploader-plugin-arduino-esp32.html)ようですので(私自身は使ったことはありません)、とくにこだわりがあるのでなければそういのでもよいのでは。
|
6
|
+
Platform IOということはArduino環境なんでしょうか。Platform IOで使えるかは知りませんが、Arduino IDEなら[spiffsにファイルを流し込むツールなんてのもある](https://www.mgo-tec.com/blog-entry-spiffs-uploader-plugin-arduino-esp32.html)ようですので(私自身は使ったことはありません)、とくにこだわりがあるのでなければそういのでもよいのでは。
|
7
|
+
|
8
|
+
---
|
9
|
+
ちょっと真面目に調べました。
|
10
|
+
ESP32-WROOM-02のSPIフラッシュからの読み出しには`spi_flash_read`というAPI関数が使えるようです。
|
11
|
+
パーティションテーブルを
|
12
|
+
```text
|
13
|
+
# Name, Type, SubType, Offset, Size, Flags
|
14
|
+
nvs, data, nvs, 0x9000, 0x5000,
|
15
|
+
otadata, data, ota, 0xe000, 0x2000,
|
16
|
+
app0, app, ota_0, 0x10000, 0x140000,
|
17
|
+
app1, app, ota_1, 0x150000,0x140000,
|
18
|
+
eeprom, data, 0x99, 0x290000,0x1000
|
19
|
+
spiffs, data, spiffs, 0x291000,0x16F000,
|
20
|
+
```
|
21
|
+
esptoolで0x290000から
|
22
|
+
```
|
23
|
+
de ad be ef 00 00....あとしばらく00
|
24
|
+
```
|
25
|
+
を書き込んで、
|
26
|
+
```Arduino
|
27
|
+
void setup()
|
28
|
+
{
|
29
|
+
char data[1024];
|
30
|
+
spi_flash_read(0x290000,data,1024);
|
31
|
+
Serial.begin(115200);
|
32
|
+
for (int i = 0; i < 1024; i++) {
|
33
|
+
printf("%02x ",data[i]);
|
34
|
+
if((i%16)==15){
|
35
|
+
printf("\n");
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
void loop(){}
|
40
|
+
```
|
41
|
+
を走らせると
|
42
|
+
```
|
43
|
+
de ad be ef 00 00 00 00 00 00 00 00 00 00 00 00
|
44
|
+
以下略
|
45
|
+
```
|
46
|
+
という表示が得られました。
|
47
|
+
|
48
|
+
やりたかったのはこういうことでいいんですよね?
|