Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:bianca.popa1106:mihai.zegheru [2026/05/21 00:28]
mihai.zegheru
pm:prj2026:bianca.popa1106:mihai.zegheru [2026/05/24 20:53] (current)
mihai.zegheru [Introduction]
Line 1: Line 1:
  
-```dokuwiki 
 ====== athreads - A Preemptive MCU Scheduler ====== ====== athreads - A Preemptive MCU Scheduler ======
  
Line 14: Line 13:
  
 [[https://​github.com/​MihaiZegheru/​MegaRT|Project repository]] [[https://​github.com/​MihaiZegheru/​MegaRT|Project repository]]
 +
 +[[https://​youtu.be/​VfSwcjn6ikA?​si=I9QuLNzW4YPEeeNd|Video]]
  
 ===== General Description ===== ===== General Description =====
Line 37: Line 38:
 ==== Block Diagram ==== ==== Block Diagram ====
  
-<​code>​ +{{ :​pm:​prj2026:​bianca.popa1106:​athreads_block_diagram.jpg?​500 ​|}}
-+-------------------------------------------------------------+ +
-                       PC / Laptop ​                         | +
-|                                                             | +
-|  +-------------------------------+ ​                         | +
-|  | Python CPU Task Manager ​      ​| ​                         | +
-|  | - reads USART packets ​        ​| ​                         | +
-|  | - plots per-thread CPU usage  |                          | +
-|  +---------------^---------------+ ​                         | +
-|                  | USB Serial ​                              | +
-+------------------|------------------------------------------+ +
-                   | +
-+------------------v------------------------------------------+ +
-|                    Arduino Mega 2560                        | +
-|                                                             | +
-|  +-------------------------------------------------------+ ​ | +
-|  |                 ​athreads Scheduler ​                   |  | +
-|  |                                                       ​| ​ | +
-|  | - thread table                                        |  | +
-|  | - runtime stack pool                                  |  | +
-|  | - per-thread stack/​context ​                           |  | +
-|  | - round-robin scheduling ​                             |  | +
-|  | - per-thread quantum ​                                 |  | +
-|  | - sleeping thread wakeup ​                             |  | +
-|  | - CPU tick accounting ​                                ​| ​ | +
-|  +-----------^--------------------^----------------------+ ​ | +
-|              |                    |                         | +
-|       ​Timer1 interrupt ​      ​Timer2 uptime tick             | +
-|       ​preemption ​            ​sleep/​encoder timing ​          | +
-|                                                             | +
-|  +------------------+ ​  ​+------------------+ ​               | +
-|  | TFT UI Thread ​   |   | Encoder Thread ​  ​| ​               | +
-|  | process menu     ​| ​  | input handling ​  ​| ​               | +
-|  +--------^---------+ ​  ​+--------^---------+ ​               | +
-|           ​| ​                     |                          | +
-|     SPI ST7735 TFT          Rotary Encoder ​                 | +
-|                                                             | +
-|  +-------------------------------------------------------+ ​ | +
-|  | Worker Threads ​                                       |  | +
-|  | synthetic workloads used for profiling/​demo purposes ​  ​| ​ | +
-|  +-------------------------------------------------------+ ​ | +
-+-------------------------------------------------------------+ +
-</​code>​+
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 92: Line 51:
   * jumper wires and breadboard;   * jumper wires and breadboard;
   * USB cable for programming and serial communication.   * USB cable for programming and serial communication.
 +
 +{{ :​pm:​prj2026:​bianca.popa1106:​athreads_schematic.png?​400 |}}
  
 ==== Component Documentation / Datasheets ==== ==== Component Documentation / Datasheets ====
Line 360: Line 321:
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
-```+
pm/prj2026/bianca.popa1106/mihai.zegheru.1779312532.txt.gz · Last modified: 2026/05/21 00:28 by mihai.zegheru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0