硬件为ESP-WROOM-02模组,使用1.5.4的NONOS_SDK的IoT Demo的Sensor例子,温湿度传感器使用了SHT20,修改了I2C程序,运行的很好。
改为使用ESP8266_NONOS_SDK_V2.0.0_16_07_19,并且I2C程序维持原先的MVH3004,出现2个问题:
1-使用lunbuntu编译(编译选项分别是2-0-2-0-5)后,给出的结果中有:eagle.irom0text.bin---->0x10000。而在1.5.4的版本中,同样的编译选项,给出的结果有:eagle.irom0text.bin---->0x40000。为什么会有这个地址上的差异?
2-使用ESPFlashDownloadTool_v3.3.4.exe,将eagle.irom0text.bin烧录到0x10000,串口打印如下:
Code: Select all
€
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 28464, room 16
tail 0
chksum 0x3e
load 0x3ffe8000, len 2804, room 8
tail 12
chksum 0x6b
ho 0 tail 12 room 4
load 0x3ffe8b00, len 2380, room 12
tail 0
chksum 0x2c
csum 0x2c
rf cal sector: 507
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 2.0.0(656edbf) compiled @ Jul 19 2016 17:58:40
phy ver: 1055, pp ver: 10.2
SDK version:2.0.0(656edbf)
IOT VERSION = v1.0.5t12335(a)
reset reason: 0
addr not ack when tx write cmd
mode : sta(18:fe:34:d2:87:ac) + softAP(1a:fe:34:d2:87:ac)
Fatal exception 0(IllegalInstructionCause):
epc1=0x4023ea1c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
*r吥P钡盞韙r@轾.┭Ko8a 晟*盩北暴┠P水笯睐*眳ⅫnzAl )閙~盧'!Pt盄j|当エ~nzA瑝8x簐A,TZ!(A{~An 晟*盧ケ@j|邓,@睐*ⅫnzAl )閙~盤Z醨N鴕f cal sector: 507
rf[112] : 00
rf[113] : 00
rf[114] : 01
【后面就从“SDK version:2.0.0(656edbf)”开始到“rf[114] : 01”不停的循环】
上面串口打印的“addr not ack when tx wirte cmd”不必理会,因为温湿度传感器不是MVH3004。我的问题是:为什么会出现下面的:
Code: Select all
Fatal exception 0(IllegalInstructionCause):
epc1=0x4023ea1c, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
*r吥P钡盞韙r@轾.┭Ko8a 晟*盩北暴┠P水笯睐*眳ⅫnzAl )閙~盧'!Pt盄j|当エ~nzA瑝8x簐A,TZ!(A{~An 晟*盧ケ@j|邓,@睐*ⅫnzAl )閙~盤Z醨N鴕f cal sector: 507
使用1.5.4的SDK是没有这个问题的。现在怎么解决这个Fatal exption?请给出建议,谢谢!