summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/_start_here.txt1
-rw-r--r--doc/loader.txt57
2 files changed, 58 insertions, 0 deletions
diff --git a/doc/_start_here.txt b/doc/_start_here.txt
index 59992dd..8c00c25 100644
--- a/doc/_start_here.txt
+++ b/doc/_start_here.txt
@@ -81,6 +81,7 @@ For full specification text, visit https://docs.riscv.org/reference/home/index.h
Documentation files:
* _start_here.txt: This file
+* loader.txt: How to set up and use the hex loader, also includes wiring diagrams, read this one if you want to load existing software
* toolchain.txt: Cross-toolchain setup, needed if you want to build software and don't already have a riscv32(be)-none-elf toolchain
* monitor.txt: Setup and operation of the built-in machine-code monitor
* ecall.txt: Available M-mode ecall functions
diff --git a/doc/loader.txt b/doc/loader.txt
new file mode 100644
index 0000000..eab20bb
--- /dev/null
+++ b/doc/loader.txt
@@ -0,0 +1,57 @@
+RVController Loader Setup and Usage
+===================================
+
+The loader is used to load programs in Intel HEX format into RVController's memory.
+
+To use it, connect digilines as shown:
+
++---------------+ +---------------+
+| Luacontroller | |\ | | Luacontroller |
+| |============| >|============| |
+| (loader) | |/ | |(RVController) |
++---------------+ Diode +---------------+
+ || || +---------------+
+ || || | Digiterms |
+ || ||=========| CRT Monitor |
++---------------+ || | |
+| Advanced | || | Channel |
+| Touchscreen | || | "monitordisp" |
+| | || +---------------+
+| Channel | ||
+| "touchscreen" | || +---------------+
++---------------+ || | Digiterms |
+ ||=========| Keyboard |
+ || | |
+ || | Channel |
+ || | "monitorkb" |
+ || +---------------+
+ ||
+ || +---------------+ \
+ || | Digiterms | |
+ ||=========| CRT Monitor | |
+ || | | |
+ || | Channel | |
+ || | "stdout" | |
+ || +---------------+ |
+ || +-- Optional, only needed
+ || +---------------+ | for program I/O
+ || | Digiterms | |
+ ||=========| Keyboard | |
+ || | | |
+ || | Channel | |
+ || | "stdin" | |
+ || +---------------+ /
+ vv
+ To other
+ peripherals
+
+Note that the advanced touchscreen must be connected before the loader Luacontroller is programmed.
+If the Luacontroller was accidentally programmed first, program it again after connecting the touchscreen.
+
+The diode may be from either digiline_routing or digicontrol.
+
+Once the loader is set up and RVController is ready to receive a program:
+1. On the loader touchscreen, select or unselect the "Run after load" option, depending on the desired behavior.
+2. Paste the contents of an Intel HEX file into the loader touchscreen, then click "Load"
+3. RVController will automatically reset, then addresses will scroll across the monitor display as data is loaded.
+4. When loading is complete, the program will automatically start if "Run after load" was selected in step 1.