Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.59 KB

Readme.md

File metadata and controls

34 lines (22 loc) · 1.59 KB

Introduction

ARM.JS is a simulator for the ARMv4T instruction set architecture (as is used by the ARM7TDMI and others), written in TypeScript/JavaScript. It also features a GNU-like ARM assembler. You can try it out in your favourite web browser.

You can also compile your own C programs using the GNU ARM Embedded Toolchain and then run them in the simulator in your browser. There's also an online unit-test suite that you can run here.

To make things a bit more interesting, the project provides a simple virtual development board with a couple of hardware devices to play around with. More specifically, the virtual dev-board features:

  • ARM7-like Processor
  • 512kb flash ROM
  • 32kb static RAM
  • 2x General purpose I/O ports
  • 8 LEDs
  • 10 Push Buttons (Mapped to Keyboard keys 0-9)
  • 2-line HITACHI HD44780-compliant LCD
  • Programmable Interrupt Controller
  • 2x UARTs (National Semiconductor 16750 compatible)
  • 2x Programmable Timers
  • Watchdog Timer
  • Real Time Clock (DS1307)

You can take a look at the datasheet for the memory map and a description of the memory-mapped HW registers. Or just look at the provided ARM assembly and C program examples.

This project is purely academic in service of my personal curiosity.

Credits

This project is copyright © 2016 Torben Könke.

License

This project is released under the GNU General Public License (GPL).