This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:mihai.zegheru [2026/05/21 00:29] mihai.zegheru |
pm:prj2026:bianca.popa1106:mihai.zegheru [2026/05/21 00:45] (current) mihai.zegheru [Block Diagram] |
||
|---|---|---|---|
| Line 36: | 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 ===== | ||