ESP8266-S2
SPI flash pins
SPI_PAD_CONFIG_CLK Override SD_CLK pad (GPIO6/SPICLK) = 0 R/W (0x0)
SPI_PAD_CONFIG_Q Override SD_DATA_0 pad (GPIO7/SPIQ) = 0 R/W (0x0)
SPI_PAD_CONFIG_D Override SD_DATA_1 pad (GPIO8/SPID) = 0 R/W (0x0)
SPI_PAD_CONFIG_HD Override SD_DATA_2 pad (GPIO9/SPIHD) = 0 R/W (0x0)
SPI_PAD_CONFIG_CS0 Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0x0)
self.write_reg(0x3FF00028, 2, 2)
self.write_reg(0x60000800, 0, 0x300)
self.write_reg(0x60000804, 0x20, 0x130)
self.write_reg(0x60000808, 0x20, 0x130)
self.write_reg(0x6000080C, 0x20, 0x130)
self.write_reg(0x60000810, 0x20, 0x130)
esptool.py v2.0 now supports a command line argument to configure the SPI connection parameters on ESP32. The --spi-connection HSPI option does not work on ESP8266, but it could probably be made to work by making register writes as shown above.
S2 流程
c0 00 08 24 00 00 00 00 00 07 07 12 20 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 c0
01 08 02 00 07 07 12 20 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qA9JeEFx-1589110578940)(/home/songjiaxiu/.config/Typora/typora-user-images/1587369153149.png)]
self.write_reg(0x3FF00028, 2, 2)
self.write_reg(0x60000800, 0, 0x300)
self.write_reg(0x60000804, 0x20, 0x130)
self.write_reg(0x60000808, 0x20, 0x130)
self.write_reg(0x6000080C, 0x20, 0x130)
self.write_reg(0x60000810, 0x20, 0x130)
c0 00 09 10 00 00 00 00 00 [04 08 00 60] [20 00 00 00] [30 01 00 00] [0a 00 00 00] c0
self.write_reg(0x60000804, 0x20, 0x130)
01 09 02 00 07 07 12 20 00 00 c0
c0 00 09 10 00 00 00 00 00 [08 08 00 60] [20 00 00 00] [30 01 00 00] [0a 00 00 00] c0
self.write_reg(0x60000808, 0x20, 0x130)
01 09 02 00 07 07 12 20 00 00 c0
c0 00 09 10 00 00 00 00 00 [0c 08 00 60] [20 00 00 00] [30 01 00 00] [0a 00 00 00] c0
self.write_reg(0x6000080C, 0x20, 0x130)
01 09 02 00 07 07 12 20 00 00 c0
c0 00 09 10 00 00 00 00 00 [10 08 00 60] [20 00 00 00] [30 01 00 00] [0a 00 00 00] c0
self.write_reg(0x60000810, 0x20, 0x130)
01 09 02 00 07 07 12 20 00 00 c0
c0 00 09 10 00 00 00 00 00 [28 00 f0 3f] [02 00 00 00] [02 00 00 00] [0a 00 00 00] c0
self.write_reg(0x3FF00028, 2, 2)
01 09 02 00 07 07 12 20 00 00 c0
c0 00 09 10 00 00 00 00 00 00 08 00 60 00 00 00 00 00 03 00 00 0a 00 00 00 c0
self.write_reg(0x60000800, 0, 0x300)
01 09 02 00 07 07 12 20 00 00 c0
//上传 stub_loader , 并检测其是否运行
c0 00 02 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 c0
01 02 02 00 07 07 12 20 00 00 c0
c0 00 05 10 00 00 00 00 00 3c 1f 00 00 02 00 00 00 00 18 00 00 00 00 10 40 c0
01 05 02 00 07 07 12 20 00 00 c0
c0 00 07 10 18 1a 00 00 00 00 18 00 00 00 00 0000 00 00 00 00 00 00 00 00 [stub_text_part0] c0
01 07 02 00 07 07 12 20 00 00 c0
c0 00 07 4c 07 e0 00 00 00 3c 07 00 00 01 00 00 00 00 00 00 00 00 00 00 00 [stub_text_part1] c0
01 07 02 00 07 07 12 20 00 00 c0
c0 00 05 10 00 00 00 00 00 00 03 00 00 01 00 00 00 00 18 00 00 a4 ab ff 3f c0
01 05 02 00 07 07 12 20 00 00 c0
c0 00 07 10 03 5c 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [stub_data] c0
01 07 02 00 07 07 12 20 00 00 c0
c0 00 06 08 00 00 00 00 00 00 00 00 00 04 00 10 40 c0
01 06 02 00 07 07 12 20 00 00 c0
c0 4f 48 41 49 c0
// 读 mac 地址
c0 00 0a 04 00 00 00 00 00 50 00 f0 3f c0 | addr: [3ff00050]
01 0a 00 00 00 00 3d 9b 00 00 c0
c0 00 0a 04 00 00 00 00 00 54 00 f0 3f c0 | addr: [3ff00054]
01 0a 00 00 58 34 00 02 00 00 c0
c0 00 0a 04 00 00 00 00 00 58 00 f0 3f c0 | addr: [3ff00058]
01 0a 00 00 00 b0 00 27 00 00 c0
c0 00 0a 04 00 00 00 00 00 5c 00 f0 3f c0 | addr: [3ff0005c]
01 0a 00 00 eb f3 84 00 00 00 c0
c0 00 0a 04 00 00 00 00 00 14 00 00 60 c0 | addr: [60000014]
配置 UART0 的波特率
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9RmfQH76-1589110578943)(/home/songjiaxiu/.config/Typora/typora-user-images/1588753629569.png)]
01 0a 00 00 c9 01 00 00 00 00 c0
01 c9: 0b0000 0001 1100 1001
c0 00 0a 04 00 00 00 00 00 1c 02 00 60 c0 | addr: [6000021c]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wBulgDIB-1589110578945)(/home/songjiaxiu/.config/Typora/typora-user-images/1588753881913.png)]
01 0a 00 00 44 00 00 80 00 00 c0
soi_ck_i_edge : 0: falling-edge
c0 00 0a 04 00 00 00 00 00 24 02 00 60 c0 | addr: [60000224]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1AjxpB96-1589110578947)(/home/songjiaxiu/.config/Typora/typora-user-images/1588754605280.png)]
01 0a 00 00 00 00 00 70 00 00 c0
c0 00 09 10 00 00 00 00 00 20 02 00 60 00 17 00 00 ff ff ff ff 00 00 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HIPfIS9B-1589110578949)(/home/songjiaxiu/.config/Typora/typora-user-images/1588754767605.png)]
addr: [60 00 02 20] value: [00 00 17 00] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 09 10 00 00 00 00 00 1c 02 00 60 00 00 00 90 ff ff ff ff 00 00 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-62T4DFwc-1589110578950)(/home/songjiaxiu/.config/Typora/typora-user-images/1588754840427.png)]
addr: [60 00 02 1c] value: [90 00 00 00] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 09 10 00 00 00 00 00 24 02 00 60 9f 00 00 70 ff ff ff ff 00 00 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gRIwVpbe-1589110578951)(/home/songjiaxiu/.config/Typora/typora-user-images/1588754903773.png)]
addr: [60 00 02 24] value: [70 00 00 9f] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 09 10 00 00 00 00 00 40 02 00 60 00 00 00 00 ff ff ff ff 00 00 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQDV7A7m-1589110578952)(/home/songjiaxiu/.config/Typora/typora-user-images/1588754955497.png)]
addr: [60 00 02 40] value: [00 00 00 00] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 09 10 00 00 00 00 00 00 02 00 60 00 00 04 00 ff ff ff ff 00 00 00 00 c0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sofAEHuE-1589110578953)(/home/songjiaxiu/.config/Typora/typora-user-images/1588755003148.png)]
addr: [60 00 02 00] value: [00 04 00 00] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 0a 04 00 00 00 00 00 00 02 00 60 c0 | addr: [60 00 02 00]
01 0a 00 00 9f 20 00 00 00 00 c0
c0 00 0a 04 00 00 00 00 00 40 02 00 60 c0 | addr: [60 00 02 40]
01 0a 00 00 c8 40 15 00 00 00 c0
c0 00 09 10 00 00 00 00 00 1c 02 00 60 44 00 00 80 ff ff ff ff 00 00 00 00 c0
addr: [60 00 02 1c] value: [80 00 00 44] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
c0 00 09 10 00 00 00 00 00 24 02 00 60 00 00 00 70 ff ff ff ff 00 00 00 00 c0
addr: [60 00 02 24] value: [70 00 00 00] mask: [ff ff ff ff] delay :[0]
01 09 00 00 00 00 00 00 00 00 c0
// 上传 flash 固件
c0 00 0b 18 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 01 00 00 10 00 00 00 01 00 00 ff ff 00 00 c0
01 0b 00 00 00 00 00 00 00 00 c0
c0 00 02 10 00 00 00 00 00 00 0c 00 00 01 00 00 00 00 40 00 00 00 80 00 00 c0
01 02 00 00 00 00 00 00 00 00 c0
c0 00 03 10 40 33 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [data] c0
01 03 00 00 00 00 00 00 00 00 c0
c0 00 13 10 00 00 00 00 00 00 80 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 c0
01 13 00 00 00 00 00 00 95 2c a7 5a 32 9b 77 38 b1 45 db dd 3b 00 71 50 b2 00 00 c0