-
Notifications
You must be signed in to change notification settings - Fork 0
ELF map
M Hightower edited this page Jun 18, 2021
·
3 revisions
Add this line to platform.local.txt
to have a map file created in the build directory, when you run Verify/Compile:
compiler.c.elf.extra_flags=-Wl,-Map,{build.path}/{build.project_name}.map
This is obsolete with ESP8266 Core 2.6. It has a nice python script included that generates a summary.
To get a summary report of some interesting sections of the .elf file, such as .text
(iram), .irom0.text
, .data
, .bss
, and .rodata
. You need to add a few lines to the file platform.local.txt
in the Arduino IDE hardware platform folder. To find this folder see
Finding Platform Folder
Add these lines to platform.local.txt
:
tools.elfsum.cmd=xtensa-lx106-elf-objdump
tools.elfsum.path.linux={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
tools.elfsum.path.windows={runtime.tools.xtensa-lx106-elf-gcc.path}\bin\
tools.elfsum.flags=-h -w --section=.text --section=.irom0.text --section=.data --section=.bss --section=.rodata
recipe.hooks.linking.postlink.01.pattern.linux="{tools.elfsum.path}{tools.elfsum.cmd}" {tools.elfsum.flags} {tools.elfsum.extra_flags} "{build.path}/{build.project_name}.elf"
recipe.hooks.linking.postlink.01.pattern.windows="{tools.elfsum.path}{tools.elfsum.cmd}" {tools.elfsum.flags} {tools.elfsum.extra_flags} "{build.path}\{build.project_name}.elf"
To use this, you have to have verbose output turned on. For this do the following:
- Set preferences for a verbose compile,
- From the Arduino IDE select Edit->File->Preferences.
- Find the selection: "Show verbose output during: [] compilation [] upload"
- Check the box for "compilation"
- Open your sketch.
- Run Verify, (Sketch->Verify/Compile).
- The summary will appear near the end of the Verify/Compile output, in the message area.
- Keeping the Lights On - how to manage GPIO state across reboots and crashes
- Boot fails when SPI Bus used
- GPIO Drive Strength and Ringing
- LDO Regulators WIP
- ESP8266 Power Considerations This is only a rough outline, needs a lot of development.
- Upgrading Flash Chips, QIO, and DIO
- Dodgy Extra 2K of DRAM or CONT - WIP
- WDTracks - Print last call before WDT
- 5V Tolerant I/O?
Arduino IDE specific
Misc.
- Exception Causes
- ESP8266 will not boot
- Stacks sys and cont
- WIP Boot ROM and SDK Notes
- Multi-segment Boot ROM Loader, notes
- Cache_Read_Enable How to turn off and on instruction cache execution.