diff options
| author | taitep <taitep@taitep.se> | 2025-12-21 17:49:02 +0100 |
|---|---|---|
| committer | taitep <taitep@taitep.se> | 2025-12-21 17:49:02 +0100 |
| commit | c10e1ec09bca38d634b632d4afc75d80b893c41f (patch) | |
| tree | ea3e40062273d43634ae9a476fdfb72e2edc08fd /README.md | |
| parent | 25dd685345b4bba7418eca4252e1b65ce20356cd (diff) | |
Allow other image file names through cli args, increase ram size, update readme
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -8,12 +8,17 @@ potentially more. No plans for RV32I or RV32/64E. Currently, the emulator is nowhere near complete, its not even at rv64i, but it does work for a subset of it. -The emulator will load a raw binary image from the file `./img` into RAM, -which starts at 0x80000000 and is currently 1MiB, +The emulator will load a raw binary image from a file specified as a CLI argument into RAM, +which starts at 0x80000000 and is currently 16MiB, and start execution at the start of the image/ram. There is also a debug out page starting at `0x00000000`-`0x00001000`. Anything written to it will be logged out in hex. -Currently there is no input, altho i might get around to making -an early UART kinda soon. +There is also a UART at `0x00001000`-`0x00002000`, the interface is quite simple: +- byte `0`: Data. When written, writes out the character + When read, reads a character from the buffer, or 0 if empty. +- byte `1`: Status. Read-only. Least significant bit is `TX_READY` and indicates whether + the UART is ready to be written to. Currently always 1. + Next least significant is `RX_READY`, indicates whether the read buffer + has any data to read. |
