- README.md: Complete project overview with plugin status - ARCHITECTURE.md: Fixed register tables (CNTR in REG1, not REG2) - GETTING_STARTED.md: r2-native workflow, removed Python disasm refs - PRACTICAL_EXAMPLE.md: Uses verified open21xx opcodes with bit layouts - ROM_ANALYSIS_WALKTHROUGH.md: Updated format detection and r2 commands - r2plugin/README.md: Simplified, points to assembler test ROM - gen_isa_test.py: All opcodes from open21xx assembler with labels
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# ADSP-219x Reverse Engineering Toolkit
|
|
|
|
Radare2 architecture plugin and reference materials for reverse
|
|
engineering ADSP-2191 firmware.
|
|
|
|
## Contents
|
|
|
|
r2plugin/ Native radare2 arch plugin (C, GNU style)
|
|
examples/ ADSP-2191 assembly examples (FIR, IIR, FFT, Viterbi)
|
|
+ assembler-verified ISA test ROM
|
|
testrom/ Test ROM generator for plugin validation
|
|
docs/ Architecture reference, opcode tables, walkthrough guides
|
|
|
|
## Quick Start
|
|
|
|
cd r2plugin && make && make install
|
|
r2 -a adsp219x -b 24 examples/isa_test.bin
|
|
[0x00000000]> pd 48
|
|
|
|
## Requirements
|
|
|
|
- Radare2 >= 5.8.0 (RArchPlugin API)
|
|
- GCC
|
|
|
|
## Plugin Status
|
|
|
|
Currently decodes: NOP, IDLE, Type 1 (multifunction), Type 3
|
|
(direct memory), Type 4 (compute + memory), Type 6/7 (immediate
|
|
loads), Type 10/10a (jump/call), Type 17 (reg move), Type 20
|
|
(RTS/RTI).
|
|
|
|
Work in progress: Type 9/9a (standalone compute), Type 11
|
|
(DO UNTIL), Type 15 (shift), Type 18 (mode control), Type 25
|
|
(saturate).
|
|
|
|
## Assembler
|
|
|
|
The examples were assembled with [open21xx](https://github.com/wodz/open21xx),
|
|
an open-source assembler/linker for ADSP-218x/219x. Build
|
|
instructions are in the open21xx README. The resulting ELF is
|
|
converted to raw binary with `dd` (extract the `int_pm` section).
|
|
|
|
## License
|
|
|
|
Plugin code: LGPL-3.0-only. Example code from Analog Devices
|
|
application notes. Documentation extracts from the ADSP-219x
|
|
DSP Instruction Set Reference.
|