ESP8266 Debug Notes

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(Reset issue)
(Reset issue)
第51行: 第51行:
  
 
== Reset issue ==
 
== Reset issue ==
 +
 +
=== 现象 ===
  
 
小K mini,AirKiss 配置成功后,MQTT: Published,然后就重启了。。。
 
小K mini,AirKiss 配置成功后,MQTT: Published,然后就重启了。。。
第121行: 第123行:
 
......
 
......
 
......
 
......
 +
</source>
 +
 +
<br>
 +
 +
=== 解决 ===
 +
 +
原始固件残留造成的混乱,需要先整个擦除整个 Flash 再 make flash 烧写固件,问题即解决:
 +
 +
<source lang=bash>
 +
comcat@jackslab:/work/xwifi/noduino-sdk/examples/plug-minik$ ../../toolchain/bin/esptool.py -p /dev/ttyUSB0 erase_flash
 +
Connecting...
 +
head: 0 ;total: 0
 +
erase size : 0
 +
comcat@jackslab:/work/xwifi/noduino-sdk/examples/plug-minik$ make flash
 
</source>
 
</source>
  

2015年12月26日 (六) 03:54的版本

目录

1 Fatal Exception 0

1.1 现象

ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 27700, room 16 
tail 4
chksum 0x76
load 0x3ffe8000, len 992, room 4 
tail 12
chksum 0xa9
ho 0 tail 12 room 4
load 0x3ffe83e0, len 5084, room 12 
tail 0
chksum 0xee
csum 0xee
Fatal exception (0): 
epc1=0x4024097c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0): 
epc1=0x4024097c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0): 
epc1=0x4024097c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0): 
......
......


1.2 分析

出错指令地址 epc1 = 0x4024097c , Flash maped at 0x40200000, so it's located at flash, try to look at the code:

comcat@jackslab:/work/noduino-sdk/examples/plug-minik$ ../../toolchain/xtensa-lx106-elf/bin/xtensa-lx106-elf-objdump -S build/app.out > app.s
comcat@jackslab:/work/noduino-sdk/examples/plug-minik$ cat app.s | grep 4024097c
4024097c:	fffe61        	l32r	a6, 40240974 <user_rf_pre_init+0x45c>

在 user_rf_pre_init 这个函数里,RF init 相关,Flash 0xFC000 的地方,放了一些 RF 初始化参数,是不是和这个相关呢?貌似刚刚这个区被清 0 了?!


1.3 解决

重新写入 esp_init_data_default.bin 到 0xFC000,问题解决



2 Reset issue

2.1 现象

小K mini,AirKiss 配置成功后,MQTT: Published,然后就重启了。。。

TYPE: AIRKISS
T|sniffer on ch:7

SC_STATUS_GETTING_SSID_PSWD
SC_TYPE:SC_TYPE_AIRKISS

Store the ssid and password into flash
f r-1, scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)

connected with Noduino-AP channel 7
dhcp client start...
cnt 
ip:192.168.5.73,mask:255.255.255.0,gw:192.168.5.1
TCP: Connect to ip  101.200.202.247:1883
MQTT: Connected to broker 101.200.202.247:1883
MQTT: Sending, type: 1, id: 0000
TCP: Sent
TCP: data received 4 bytes
MQTT: Connected to 101.200.202.247:1883
MQTT: Connected
MQTT: queue subscribe, topic"/app2dev/gh_95fae12220_04063fb88d9a8e47", id: 1
MQTT: queuing publish, length: 64, queue size(66/2048)
MQTT: Sending, type: 8, id: 0001
TCP: Sent
TCP: data received 5 bytes
MQTT: Subscribe successful
MQTT: Sending, type: 3, id: 0000
TCP: Sent
MQTT: Published
SC_STATUS_LINK_OVER
free heap size:40424
state: 5 -> 0 (0)
rm 0
del if0
usl
TCP: Reconnect to 101.200.202.247:1883

 ets Jan  8 2013,rst cause:1, boot mode:(3,0)
......
......


小K mini sketch/plug:

 ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 31268, room 16 
tail 4
chksum 0xca
load 0x3ffe8000, len 1008, room 4 
tail 12
chksum 0x3d
ho 0 tail 12 room 4
load 0x3ffe83f0, len 5068, room 12 
tail 0
chksum 0x8b
csum 0x8b
r\0x18\0x02\0x8e\0x1b\0xc39l\0xc0\0xc4\0x9e\0x1b\0xf2\0x85
 ets Jan  8 2013,rst cause:1, boot mode:(3,2)
......
......


2.2 解决

原始固件残留造成的混乱,需要先整个擦除整个 Flash 再 make flash 烧写固件,问题即解决:

comcat@jackslab:/work/xwifi/noduino-sdk/examples/plug-minik$ ../../toolchain/bin/esptool.py -p /dev/ttyUSB0 erase_flash
Connecting...
head: 0 ;total: 0
erase size : 0
comcat@jackslab:/work/xwifi/noduino-sdk/examples/plug-minik$ make flash



3 Flash Related

1. 0x0 address bin read error

 ets Jan  8 2013,rst cause:1, boot mode:(3,2)

ets_main.c


2.spi mode error( use quad mode for dual flash)

ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 612, room 16 
tail 4
chksum 0xef
load 0x88888888, len -2004318072, room 4 
flash read err, ets_unpack_flash_code
ets_main.c


3.boot load jump error.(user.bin not correct)

ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 612, room 16 
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4 
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8 
tail 0
chksum 0x4a
csum 0x4a

2nd boot version : 1.1
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size : 4Mbit
jump to run user1

user code done


4.dual flash(boot+user.bin mode) ==>use download tool version v0.9.3.1 and above

ets Jan  8 2013,rst cause:1, boot mode:(3,3)

load 0x40100000, len 612, room 16 
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4 
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8 
tail 0
chksum 0x4a
csum 0x4a

2nd boot version : 1.1
  SPI Speed      : 40MHz
  SPI Mode       :   SPI Flash Size : 4Mbit
jump to run user1

Fatal exception (28): 
epc1=0x401001a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x0000009c, depc=0x00000000
Fatal exception (28): 
epc1=0x401001a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x0000009c, depc=0x00000000
Fatal exception (28): 
epc1=0x401001a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x0000009c, depc=0x00000000


5. MX25L12835F,DIO OK, when changing to QIO:

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 26876, room 16 
tail 12
chksum 0xef
ho 0 tail 12 room 4
load 0x00000000, len 0, room 12 
tail 0
chksum 0xef
load 0x00000000, len 0, room 4 
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c 


6. 小 K mini,MXIC 25L80,worked in DOUT, when changed to QIO (DIO 错误类似):

 ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 27700, room 16 
tail 4
chksum 0xef
load 0x00000000, len 0, room 4 
tail 0
chksum 0xef
ho 12 tail 0 room 4
load 0x00000000, len 0, room 12 
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c 

QOUT:

 ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 26876, room 16 
tail 12
chksum 0xef
ho 0 tail 12 room 4
load 0xcccccccc, len -858993460, room 12 
flash read err, ets_unpack_flash_code
ets_main.c 


















个人工具
名字空间

变换
操作
导航
工具箱