Statistics: Posted by AgentSmithers — Fri May 05, 2017 9:16 am
Statistics: Posted by Her Mary — Wed May 03, 2017 2:48 pm
Statistics: Posted by AgentSmithers — Mon May 01, 2017 2:46 pm
Statistics: Posted by Her Mary — Sat Apr 29, 2017 11:35 am
Flash address 0x00000: bootloader
blinky-0x00000.bin --> Bootloader written by Cesanta. It is generated by esptool.py using a dump inside itself. This is the one we will use.
eagle.flash.bin --> Bootloader supplied by Espressif. I don't know if it can launch user programs generated by ESP8266_NONOS_SDK / esp-open-sdk.
eboot --> Bootloader used by Arduino environment. It first generates eboot.elf and merges it with the user program to generate a single binary file to be written into address 0x00000.
Flash address 0x10000: user program (this location is specificied by newer linkscript "eagle.app.v6.ld")
eagle.irom0text.bin --> Default user program supplied by Espressif. I'm not sure what goes on inside it. Perhaps it is the AT-command firmware?
blinky-0x10000.bin --> Example user program that we have generated using ESP8266_NONOS_SDK / esp-open-sdk.
Flash address X (0x3FC000 in case of ESP-12F with 32 Mbit / 4 MiB flash memory): factory configuration data
esp_init_data_default.bin --> Default configuration data. Perhaps it includes something that helps RF calibration as well? - See more at: http://www.esp8266.com/viewtopic.php?f= ... wxPvx.dpuf
Code:
def elf2image(args):
e = ELFFile(args.input)
if args.chip == 'auto': # Default to ESP8266 for backwards compatibility
print("Creating image for ESP8266...")
args.chip == 'esp8266'
if args.chip == 'esp32':
image = ESP32FirmwareImage()
elif args.version == '1': # ESP8266
image = ESPFirmwareImage()
else:
image = OTAFirmwareImage()
image.entrypoint = e.entrypoint
image.segments = e.sections # ELFSection is a subclass of ImageSegment
image.flash_mode = {'qio':0, 'qout':1, 'dio':2, 'dout': 3}[args.flash_mode]
image.flash_size_freq = image.ROM_LOADER.FLASH_SIZES[args.flash_size]
image.flash_size_freq += {'40m':0, '26m':1, '20m':2, '80m': 0xf}[args.flash_freq]
if args.output is None:
args.output = image.default_output_name(args.input)
image.save(args.output)
Statistics: Posted by AgentSmithers — Thu Apr 27, 2017 11:27 pm