nand2/07_Operating_System
Michael Schröder 971b323822 added v2.0
2023-01-11 23:04:57 +01:00
..
00_HACK added v2.0 2023-01-11 23:04:57 +01:00
01_GPIO_Test added v2.0 2023-01-11 23:04:57 +01:00
02_UART_Test added v2.0 2023-01-11 23:04:57 +01:00
03_Sys_Test added v2.0 2023-01-11 23:04:57 +01:00
04_Memory_Test added v2.0 2023-01-11 23:04:57 +01:00
05_Array_Test added v2.0 2023-01-11 23:04:57 +01:00
06_Math_Test added v2.0 2023-01-11 23:04:57 +01:00
07_String_Test added v2.0 2023-01-11 23:04:57 +01:00
08_StdIO_Test added v2.0 2023-01-11 23:04:57 +01:00
09_Screen_Test added v2.0 2023-01-11 23:04:57 +01:00
10_Output_Test added v2.0 2023-01-11 23:04:57 +01:00
11_Touch_Test added v2.0 2023-01-11 23:04:57 +01:00
12_Tetris added v2.0 2023-01-11 23:04:57 +01:00
Array.jack added v2.0 2023-01-11 23:04:57 +01:00
GPIO.jack added v2.0 2023-01-11 23:04:57 +01:00
Math.jack added v2.0 2023-01-11 23:04:57 +01:00
Memory.jack added v2.0 2023-01-11 23:04:57 +01:00
Output.jack added v2.0 2023-01-11 23:04:57 +01:00
Readme.md added v2.0 2023-01-11 23:04:57 +01:00
Screen.jack added v2.0 2023-01-11 23:04:57 +01:00
StdIO.jack added v2.0 2023-01-11 23:04:57 +01:00
String.jack added v2.0 2023-01-11 23:04:57 +01:00
Sys.jack added v2.0 2023-01-11 23:04:57 +01:00
Touch.jack added v2.0 2023-01-11 23:04:57 +01:00
UART.jack added v2.0 2023-01-11 23:04:57 +01:00

07 Operating System

To run serious application like Tetris we need the operating system JACK-OS, written in the high level language JACK.

For every JACK-OS class we provide a skeleton file, with the signatures of functions and methods. In the dedicated test folder you find implementation details and test classes.

The folder 00_HACK contains a simulation of HACK similar to the one in 06_IO_Devices/00_HACK with the following differences:

  • uses build in chips from 01_Boolean_Logic to 03_Sequential_Logic instead of going down to the nand gate level.
  • has 64k words of instruction ROM preloaded with JACK-OS and applications
  • is not uploadable to iCE40HX1K-EVB

Simulation of JACK-OS classes

Use 00_HACK of 07_Operating_System to test your JACK-OS classes in simulation.

$ cd <test folder>
$ make
$ cd ../00_HACK
$ apio clean
$ apio sim

Run JACK-OS in real hardware on iCE40HX1K-EVB

To test JACK-OS on real hardware iCE40HX1K-EVB use the design of HACK developed in 06_IO_Devices with the bootloader of 05_GO. Attach iCE40HX1K-EVB to your computer and run the following commands:

$ cd <test folder>
$ make
$ make upload

This will compile all classes in the test folder and upload the binary file to SPI flash rom starting at address 64k (0x010000), where the bootloader can find it.

Attention: All used classes must be linked to the folder in which you run the compiler. To add the class <JACK-OS class>.jack simply make a soft link in the working directory:

Finally you can run Tetris!