35 lines
1.8 KiB
Python
35 lines
1.8 KiB
Python
# Little convenience script to get an object dump
|
|
|
|
Import('env')
|
|
|
|
def obj_dump_after_elf(source, target, env):
|
|
platform = env.PioPlatform()
|
|
board = env.BoardConfig()
|
|
mcu = board.get("build.mcu", "esp32")
|
|
|
|
print("Create firmware.asm")
|
|
if mcu == "esp8266":
|
|
env.Execute("xtensa-lx106-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32":
|
|
env.Execute("xtensa-esp32-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32s2":
|
|
env.Execute("xtensa-esp32s2-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32s3":
|
|
env.Execute("xtensa-esp32s3-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32c2":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32c3":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32c5":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32c6":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32p4":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
if mcu == "esp32h2":
|
|
env.Execute("riscv32-esp-elf-objdump "+ "-D -C " + str(target[0]) + " > "+ "$BUILD_DIR/${PROGNAME}.asm")
|
|
|
|
silent_action = env.Action([obj_dump_after_elf])
|
|
silent_action.strfunction = lambda target, source, env: '' # hack to silence scons command output
|
|
env.AddPostAction("$BUILD_DIR/${PROGNAME}.elf", silent_action)
|