Skip to content

Commit 2607c44

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 a6e5361 commit 2607c44

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
@@ -115,6 +115,7 @@ extra_scripts =
115115
post:pio-scripts/strip-floats.py
116116
pre:pio-scripts/user_config_copy.py
117117
pre:pio-scripts/build_ui.py
118+
; post:pio-scripts/obj-dump.py ;; convenience script to create a disassembly dump of the firmware (hardcore debugging)
118119

119120
# ------------------------------------------------------------------------------
120121
# COMMON SETTINGS:

0 commit comments

Comments
 (0)