Boot loop on M5Core2 after burning Core2factoryTest
-
I have a new M5Stack Core2 that was working perfectly on arrival with the pre-installed factory test program.
I used M5Burner to install UIFlow_Core2 and that worked. I was able to use flow.m5stack.com to send simple programs to the device and everything I tried worked.
I then used M5Burner to re-install Core2FactoryTest and the burn appeared to work but the device then entered an infinite boot loop, reporting (via the serial monitor):
ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1100 ho 0 tail 12 room 4 load:0x40078000,len:12308 load:0x40080400,len:3076 entry 0x400805ec Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x400f2f20: 443a20c2 0d0e272a 02a8130c etc
I've tried re-installing UIFlow_Core2 and Core2FactoryTest several times. Each time, UIFlow_Core2 works perfectly and Core2FactoryTest fails as described.
I've also tried several other programs via M5Burner: some work and some fail to boot, some with "IllegalInstruction", some with "InstrFetchProhibited".
Any ideas? I suspect a hardware fault but can't reconcile that possibility with the fact that some programs work.
-
I'm informed by another user that M5Stack are aware of this issue, which is a "flash compatibility issue with old version IDF" and they say that "we will update the firmware on M5Burner soon to fix it".
-
I have also gotten the same problem. Only mine will not even turn on the display and appears to be rebooting with same error.
Rebooting...
Guru Meditation Error: Core 1 panic'ed (Double exception).Core 1 register dump:
PC : 0x4008e367 PS : 0x00040436 A0 : 0x3ffbda30 A1 : 0x3fffff87
A2 : 0x3ffffff7 A3 : 0x00000000 A4 : 0x3ffc4c94 A5 : 0x00000000
A6 : 0x00000001 A7 : 0x00000001 A8 : 0x40170684 A9 : 0x3ffbd9d0
A10 : 0x00000000 A11 : 0x00060623 A12 : 0x00060620 A13 : 0x80000000
A14 : 0x00000003 A15 : 0x00060023 SAR : 0x0000001d EXCCAUSE: 0x00000002
EXCVADDR: 0x3fffffff LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000Backtrace:0x4008e364:0x3fffff87 |<-CORRUPTED
ELF file SHA256: 0000000000000000
Rebooting...
ERROR A stack overflow in task IDLE has been detected.
Backtrace:0x400f30f7:0x3ffbd6b00x400f35fb:0x3ffbd6e0 0x400835f5:0x3ffbd730 0x40085c86:0x3ffbd750 0x400f314d:0x3ffbd810 0x4008e11d:0x3ffbd830 0x40091ad6:0x3ffbd850 0x40090446:0x3ffbd8c0 0x4008e21c:0x3ffbd900 0x4008e1ce:0xa5a5a5a5 |<-CORRUPTED
ELF file SHA256: 0000000000000000
Rebooting...
I have also been getting a JavaScript error occurred in the main process: Uncaught Exception: Error read ECONNRESET....
I wonder if this has anything to do with problems I am having with my M5Stack Basic and now my new Core2?? -
Does anyone know how to encourage M5stack to comment on this issue?
It seems that recent Core2 devices don't work to the extent that it's impossible to install M5stack's own factory test program, even though installing UIFlow_Core2 does work correctly.
It would be good to have some idea of the timescale for a fix.
-
@kempston this primarily a user support group.
You might try filing an “Issue” over on their GitHub website:
https://github.com/m5stack/M5Core2
Or email them at sales, that usually gets them going! -
@teastain Thanks for the suggestion.
I sent a message to support@m5stack.com ten days ago but there's been no response so far.
I've now logged an issue on Github:
https://github.com/m5stack/M5Core2/issues/127 -
For the information of anyone following this thread, M5stack has now released an updated version of Core2FactoryTest that now works on recent Core2 devices. But many of the other programs listed in M5Burner still fail.
Clearly, they've made a change to Core2FactoryTest that makes it compatible with new Core2s but they haven't told their developers what this change is (or why it's needed) and haven't responded to the open Github issue.
-
Despite there being no response whatsoever by M5Stack, this issue has now been solved by an independent developer.
The cause of this issue is that only the latest version of the ESP-IDF SDK developed by Espressif is compatible with new Core2 devices. Firmware built using the earlier version of the ESP-IDK SDK doesn't work on new Core2 devices and enters an infinite loop on booting, reporting either IllegalInstruction or InstrFetchProhibited.
This means that about half of the firmware listed in M5Burner will need to be rebuilt by their authors using the latest SDK to make them work with new Core2s.
-
@kempston Does this mean we need to beware installing latest Core2 firmware on M5 burner on older Core2’s?
-
@wsanders I don't know, but I assume that firmware built using the latest SDK is backwards compatible and should work on older Core 2s. I don't have an older Core2 to test.