Simple Simulator of ARMv6m instructions
The ARMv6m Simulator is a simulator for testing ARMv6m instruction sets. You can use STEP execution, breakpoint, etc. in CLI environment by using bin file compiled with armv6m compiler.
Only support Thread mode
- ADC
- ADD
- ADR
- AND
- ASR
- B
- BIC
- BLX
- BX
- CMN
- CMP
- EOR
- LDM
- LDR
- LDRH
- LDRSH
- LDRB
- LDRSB
- LSL
- LSR
- MOV
- MVN
- MUL
- NOP
- ORR
- POP
- PUSH
- REV
- REV16
- REVSH
- ROR
- RSB
- SBC
- STM
- STR
- STRH
- STRB
- SUB
- SXTB
- SXTH
- TST
- UXTB
- UXTH
- BL
- ONLY Thread Mode
- Do Not consider: Pipeline, Cycle Timing, Exceptions, Memory Map
- Just consider : R0 ~ R15, NZCV flags
- How quit this program : just type 'q' and enter.
- Show break point : just type 'b' and enter.
- Set break point : type 'b' and hex address ("b 4A")
- Set register : type 'R n' and hex address ("R 1 4A")
- Show memory : type 'd' and hex address ("d 4A")
- Step by step debug : just type 's' and enter.
- Run(stop at breakpoint): just type 'r' and enter.
- Verbose : toogle Run verbosity with 'v'
- Finally, it will store the memory in dumpfile!
- Testsuite:
make test
./test_ARMv6m_Simulator
- Simulator:
make
./ARMv6m_Simulator
How to Use : $./(compiled program) (input file name) (dump file name)
ChoYG
whdlgp@gmail.com