Expand description
Armagnac is a simple ARM Thumb emulation library written in Rust which can be used to emulate simple embedded systems. The library gives high control on the processor execution, allowing to run instruction by instruction, create hooks, inspect or modify the system state on the fly. Integration of custom peripherals in the memory space is made easy, allowing custom platforms emulation.
Check core::Processor to know how to quickly emulate an ARM binary.
Check memory to see how peripherals can be implemented and mapped into the processor memory space.
Modules§
- core
- Arm processor emulation main module.
- decoder
- Instruction decoding module.
- harness
- Helpers for running methods from an ELF file.
- helpers
- Helpers for making registers implementation and manipulation easiers.
- instructions
- ARM instructions implementation module.
- memory
- Memory peripherals and interfacing.
- mpu
- Memory Protection Unit peripherals.
- registers
- Defines ARM processor core registers.
- symbols
- Utilities for resolving binary symbols during execution.
- system_
control