Firmware burns and Works on one Wemos d1 mini pro but not the other?

AgentSmithers
Posts: 158
Joined: Sat Apr 01, 2017 1:21 am
Contact:

Firmware burns and Works on one Wemos d1 mini pro but not the other?

Postby AgentSmithers » Thu Jan 31, 2019 5:26 am

Hi Everyone!
Recently I purchased another set of 5 devices of my Wemos D1 Mini Pro and continued development on my project. For the last 2 years I've been using the same 5 chips and they all have been working perfectly fine with both FOTA and standard Firmware Images. Now after I opened my first one I uploaded my firmware like I always do and them boom just a bunch of garbage on the screen. I thought that was weird then did the same to another net new one and one also is getting the same thing.. I plug in my old one and tested a 2nd old one and they both work.. I then used esptool.py to read_flash 0x200000 to read the first two megs then I write_flash 0 [BinFileSaved] and burned the full two megs onto the other new chips and nothing.. no dice... Anyone have any suggestions? Ill post my make file here shortly. I am using an outdated esptool.py but it works currently with my wemos d1 mini pro. I am using 32m-c1 configuration to burn my flash size but I think my wemos are actually 16 megabytes and not 32 megabits (4MB). Any help is appreciated.


Code: Select all

CC = xtensa-lx106-elf-gcc
CFLAGS = -I. -DICACHE_FLASH -mlongcalls
LDLIBS = -nostdlib -Wl,--start-group -lmain -lpwm -lnet80211 -lwpa -llwip -lpp -lphy -lc -Wl,--end-group -lgcc
LDFLAGS = -Teagle.app.v6.ld
INCLUDES = -Iinclude -I../driver_lib/include

blinky-0x00000.bin: blinky
   echo a
   echo $(LDFLAGS)
   esptool.py elf2image $^

blinky: blinky.o

blinky.o: blinky.c

fresh: clean blinky-0x00000.bin
   echo d
   echo $(LDFLAGS)
   #kill $(ps aux | grep '[S]CREEN' | awk '{print $2}')
   esptool.py erase_flash
   esptool.py write_flash --flash_size 16MB 0 blinky-0x00000.bin 0x10000 blinky-0x10000.bin 0x7e000 blank.bin 0x3fc000 esp_init_data_default.bin 0x3fe000 blank.bin 0x60000 index.html 0x65000 config.html
   #screen /dev/ttyUSB0 74880
   screen /dev/ttyUSB0 115200





UPDATE: So as an update I upgraded my ESPtool to the latest version after having to fight with PySerial but things are still not operational. I updated my Makefile to use Detect and adjusted my offsets to the 16MB profile and validated it on my old ESP. But my new one.. still no dice.. I wonder if the SPI is 26MHZ and my other one is 40MHZ and I need to adjust the init_data.bin, Im not sure yet.. Any suggestions?


PostScript: By the way, I love this forum but it seems to be pretty inactive lately. Did everyone migrate to another forum board?

AgentSmithers
Posts: 158
Joined: Sat Apr 01, 2017 1:21 am
Contact:

Re: Firmware burns and Works on one Wemos d1 mini pro but not the other?

Postby AgentSmithers » Fri Feb 01, 2019 4:57 am

Hi everyone!
I'll tell you. This whole ESP stuff has been quite an expereice.. Long story short... The two chips look physically the same but only one supports QIO and QOUT and BOTH support DIO and DOUT... DIO is faster so use that!

I resolved it by setting
osboxes@osboxes Main]$ esptool.py --baud 115200 write_flash -ff 40m -fm qio --flash_size detect 0 blinky-0x00000.bin 0x10000 blinky-0x10000.bin 0xffb000 blank.bin 0xffc000 esp_init_data_default.bin 0x3fe000 blank.bin
to
osboxes@osboxes Main]$ esptool.py --baud 115200 write_flash -ff 40m -fm dio --flash_size detect 0 blinky-0x00000.bin 0x10000 blinky-0x10000.bin 0xffb000 blank.bin 0xffc000 esp_init_data_default.bin 0x3fe000 blank.bin

-Flash MHZ = QIO to DIO, Quad to Duo

Please feel free to chime in on your expereices. Cheers! Made my week.

Who is online

Users browsing this forum: No registered users and 8 guests