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/21 00:45] (current)
mihai.zegheru [Block Diagram]
Line 1: Line 1:
-Here is a rewritten DokuWiki page with the new TFT screen, runtime stack pool, explicit stack size API, profiling, and datasheet/​resource links. 
  
-```dokuwiki 
 ====== athreads - A Preemptive MCU Scheduler ====== ====== athreads - A Preemptive MCU Scheduler ======
  
Line 38: Line 36:
 ==== Block Diagram ==== ==== Block Diagram ====
  
-<​code>​ +{{ :​pm:​prj2026:​bianca.popa1106:​athreads_block_diagram.jpg?​700 ​|}}
-+-------------------------------------------------------------+ +
-                       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 361: Line 317:
  
 <​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.1779312520.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