I'm trying to get ScratchABit + ida-xtensa2 to work for esp8266 disassembly and having the following error:
> python3 scratchabit.py ../esp8266.def
Loading CPU plugin xtensa
Loading /Volumes/esp8266/esp-open-rtos/examples/http_get/build/http_get.out (elf plugin)
Adding area: Area(0x40000000-0x4000ffff, {'name': '.bin', 'access': 'RX'})
Loading /Volumes/esp8266/esp-elf-rom/bootrom.bin @0x40000000
Processing section: entrypoints
Traceback (most recent call last):00
File "scratchabit.py", line 950, in <module>
engine.analyze(_progress)
File "/Volumes/esp8266/ScratchABit/engine.py", line 861, in analyze
insn_sz = _processor.ana()
File "/Volumes/esp8266/ScratchABit/plugins/cpu/xtensa.py", line 460, in ana
val = get_full_val(ea, 4)
File "/Volumes/esp8266/ScratchABit/idaapi.py", line 293, in get_full_val
return ADDRESS_SPACE.get_data(ea, val_sz)
File "/Volumes/esp8266/ScratchABit/engine.py", line 221, in get_data
val = val | (area[BYTES][off + i] << 8 * i)
TypeError: 'NoneType' object is not subscriptable
cpu xtensa
# Show up to this many raw bytes of code/data
show bytes 4
# Load an arbitrary esp8266 ELF file
# See example.def if you want to load raw binaries instead
load /Volumes/esp8266/esp-open-rtos/examples/http_get/build/http_get.out elf
# First attempt at loading BootROM binary image and symbols
# These files came from https://github.com/jcmvbkbc/esp-elf-rom
area .bin 0x40000000(0x10000) rx
load /Volumes/esp8266/esp-elf-rom/bootrom.bin 0x40000000
[entrypoints]
load "/Volumes/esp8266/esp-elf-rom/eagle.rom.addr.v6.ld"