* EEPROM: drivers/at24c.c [COMPLETED]
* UART drivers/uart.c [COMPLETED]
* LED segment display: drivers/tm1637.c [COMPLETED]
- * Temperature sensor: drivers/tsensor.c [IN PROGRESS]
+ * Temperature sensor: drivers/tsensor.c [COMPLETED]
* OLED display [PLANNED]
- * Joystick [PLANNED]
+ * Joystick: drivers/mk450_joystick.c [COMPLETED]
+ * TFT Screen: drivers/st7735s.c, include/libs/fonts/wogfont.h [COMPLETED]
* Memory Management [IN PROGRESS] -- FILE: lib/pool.c
-* User Mode [PLANNED]
-* System Call PendV implementation [PLANNED]
+* Kernel heap [COMPLETED] -- FILE: heap.c
+* User Mode Switch [IN PROGRESS]
+* System Calls [IN PROGRESS] -- FILE: syscall.c lib/syscall.c
+* Scheduler based on PendSV system call [IN PROGRESS]
* Stack trace debug [IN PROGRESS]
-* Memory Protection Unit [PLANNED]
+* Memory Protection Unit [SUSPENDED] (STM32F103 board has no MPU)
* Loadable programs from EEPROM [PLANNED]
-* Multiple processes and scheduling [PLANNED]
+* Multiple processes [IN PROGRESS] -- FILES: process.h, main.c
+* Driver "abstraction" [PLANNED]
## SCREENSHOTS
-Here is a screenshot that shows the terminal just after booting:
+Here are some screenshots that shows the terminal just after booting:
-![Screenshot](https://github.com/robinkrens/cortex-from-scratch/raw/master/img/screenshot.png "screenshot")
+Serial (over UART)
+
+![Screenshot](https://github.com/robinkrens/cortex-from-scratch/raw/master/img/serial.png "serial terminal screenshot")
+
+TFT screen output (SPI):
+
+![Screenshot](https://github.com/robinkrens/cortex-from-scratch/raw/master/img/tft.png "tft peripheral screenshot")