Skip to content

Commit 44600b1

Browse files
committed
make objdump work
Script update based on latest version from Tasmota * add support for all esp32 variants * add "-C" : Decode (demangle) low-level symbol names into user-level C++ names.
1 parent c3a9086 commit 44600b1

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

pio-scripts/obj-dump.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
# Little convenience script to get an object dump
2+
# You may add "-S" to the objdump commandline (i.e. replace "-D -C " with "-d -S -C ")
3+
# to get source code intermixed with disassembly (SLOW !)
24

35
Import('env')
46

57
def obj_dump_after_elf(source, target, env):
8+
platform = env.PioPlatform()
9+
board = env.BoardConfig()
10+
mcu = board.get("build.mcu", "esp32")
11+
612
print("Create firmware.asm")
7-
env.Execute("xtensa-lx106-elf-objdump "+ "-D " + str(target[0]) + " > "+ "${PROGNAME}.asm")
8-
13+
if mcu == "esp8266":
14+
env.Execute("xtensa-lx106-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
15+
if mcu == "esp32":
16+
env.Execute("xtensa-esp32-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
17+
if mcu == "esp32s2":
18+
env.Execute("xtensa-esp32s2-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
19+
if mcu == "esp32s3":
20+
env.Execute("xtensa-esp32s3-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
21+
if mcu == "esp32c3":
22+
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
23+
924
env.AddPostAction("$BUILD_DIR/${PROGNAME}.elf", [obj_dump_after_elf])

platformio.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ extra_scripts =
215215
post:pio-scripts/output_bins.py
216216
post:pio-scripts/strip-floats.py
217217
pre:pio-scripts/user_config_copy.py
218+
; post:pio-scripts/obj-dump.py ;; convenience script to create a disassembly dump of the firmware (hardcore debugging)
218219

219220
# ------------------------------------------------------------------------------
220221
# COMMON SETTINGS:

0 commit comments

Comments
 (0)