nand2/07_Operating_System/02_UART_Test/Readme.md.backup
Michael Schröder 971b323822 added v2.0
2023-01-11 23:04:57 +01:00

47 lines
1.1 KiB
Plaintext

## UART.jack
Library that provides access to `UART_TX` and `UART_RX`.
***
## Project
In the Testfolder `02_UART_Test` you find a minimal version of `Sys.jack` containing the init function `Sys.init()`, which is called after starting JACK-OS. `Sys.init()` is the JACK-OS version of `echo.asm`, which reads the bytes received at `UART_RX` and writes the values to `UART_TX` in an endless loop:
```
class Sys {
function void init() {
do UART.init(4098);
while (true){
do UART.write(UART.read());
}
return;
}
}
```
* Implement `UART.jack`
* Test in simulation:
```
$ cd 02_UARTTest
$ make
$ cd ../00_HACK
$ apio clean
$ apio sim
```
The test bench will simulate the transmission of "RX" to UART_RX. Check if HACK echoes to `UART_TX`.
![](uart.png)
* run in real hardware with HACK build at `06_IO_Devices/05_GO` (together with the bootloader). Build and upload the UART_Test to iCE40HX1K-EVB with:
```
$ cd 02_UART_Test
$ make
$ make upload
```
* Connect HACK with your computer over UART, open a terminal program and type some chars. Check if HACK can echo them.
```
$ tio /dev/ttyACM0
```