Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/whdlgp/ARMv6m_Simulator
Simple Simulator of ARMv6m instructions
https://github.com/whdlgp/ARMv6m_Simulator
Last synced: 22 days ago
JSON representation
Simple Simulator of ARMv6m instructions
- Host: GitHub
- URL: https://github.com/whdlgp/ARMv6m_Simulator
- Owner: whdlgp
- License: gpl-3.0
- Created: 2016-12-09T08:54:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-23T14:55:02.000Z (over 7 years ago)
- Last Synced: 2024-08-05T17:24:57.239Z (4 months ago)
- Language: C++
- Size: 421 KB
- Stars: 16
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - whdlgp/ARMv6m_Simulator - Simple Simulator of ARMv6m instructions (C++)
README
# ARMv6m_Simulator
Simple Simulator of ARMv6m instructionsThe 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.
## Scope Supported
### Mode
Only support Thread mode
### Supported Instruction
#### 16bit Instruction
* 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#### 32bit Instruction
* BL### Points to consider when using
* ONLY Thread Mode
* Do Not consider: Pipeline, Cycle Timing, Exceptions, Memory Map
* Just consider : R0 ~ R15, NZCV flags### Usage
* 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!![example image1](http://i.imgur.com/4O15uYH.png)
### Compilation and execution
* Testsuite:
```
make test
./test_ARMv6m_Simulator
```* Simulator:
```
make
./ARMv6m_Simulator
How to Use : $./(compiled program) (input file name) (dump file name)
```### Contact
ChoYG
[email protected]