esp-open-rtos: ESP-12F stuck.
Hi everyone, thanks for your work firstly.
I have a ESP-12F module. I flashed some of the examples to try out but it always stops at
rBoot v1.4.0 - richardaburton@gmail.com
Flash Size: 32 Mbit
Flash Mode: QIO
Flash Speed: 40 MHz
rBoot Option: Big flash
rBoot Option: RTC data
Booting rom 0.
I have changed parameters.mk for 4 MB flash size. I did not change common.mk by the way.
Thanks
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 23 (11 by maintainers)
Submitted a PR for rboot https://github.com/raburton/rboot/pull/37 and a PR to update esp-open-rtos to the current rboot master https://github.com/SuperHouse/esp-open-rtos/pull/617 and a little more support in esp-open-rtos https://github.com/SuperHouse/esp-open-rtos/pull/616
Could I ask which flash tool is causing the problems, and does the current esptool not work for some configurations? Just not clear from the discussion why the modified config.bin is even necessary?
What do you means? How can I do this?
Thanks for your help 😉
On Tue, 24 Apr 2018, 03:19 chenli2015, notifications@github.com wrote:
@apiel Please try my config.bin setting: e1 01 00 00 00 01 00 00 00 00 20 00 …(all 0s) Not flash blank_config at 0x1000
I tried to do exactly what is mentioned by @chenli2015 without success
I flash it with: esptool.py -p /dev/ttyUSB0 --baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 …/…/bootloader/firmware/rboot.bin 0x1000 …/…/bootloader/firmware_prebuilt/blank_config.bin 0x2000 ./firmware/blink.bin
Any more idea?
I meet the same problem with default rboot.bin. But I use espressif’s official download tool. After several hours debug, the problem seems to be resolved!
rboot.c at line 281: // print and get flash size ets_printf("Flash Size: "); flag = header->flags2 >> 4; if (flag == 0) { ets_printf(“4 Mbit\r\n”); flashsize = 0x80000; } else if (flag == 1) { ets_printf(“2 Mbit\r\n”); flashsize = 0x40000; } else if (flag == 2) { ets_printf(“8 Mbit\r\n”); flashsize = 0x100000; } else if (flag == 3 || flag == 5) { ets_printf(“16 Mbit\r\n”); #ifdef BOOT_BIG_FLASH flashsize = 0x200000; #else flashsize = 0x100000; // limit to 8Mbit #endif } else if (flag == 4 || flag == 6) { ets_printf(“32 Mbit\r\n”); #ifdef BOOT_BIG_FLASH flashsize = 0x400000; #else flashsize = 0x100000; // limit to 8Mbit #endif } else { ets_printf(“unknown\r\n”); // assume at least 4mbit flashsize = 0x80000; }
line 451: ets_printf(“Rom %d at %x is bad.\r\n”, romToBoot, romconf->roms[romToBoot]); line 490: ets_printf(“Booting rom %d from %x, run at ram %x.\r\n”, romToBoot, romconf->roms[romToBoot], runAddr);
config.bin setting: e1 01 00 00 00 01 00 00 00 00 20 00 …(all 0s)