ESP8266-S2 serial-flasher-HSPI流程

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  



版权声明:本文为u013550000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。