From d730c17bf29d98d28969a02c6e98364c4815cdf2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 15:14:11 +0000 Subject: [PATCH] Added architecture diagram to the documentation resources. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@819 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/rsc/arch.png | Bin 0 -> 28446 bytes docs/rsc/arch.svg | 483 ++++++++++++++++++++++++++++++++++++++++++++++ todo.txt | 2 + 3 files changed, 485 insertions(+) create mode 100644 docs/rsc/arch.png create mode 100644 docs/rsc/arch.svg diff --git a/docs/rsc/arch.png b/docs/rsc/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..4b075d80ef6d180b680c535c5bed74bf0a19a854 GIT binary patch literal 28446 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

-yOcI|fk(FJ^9C{yQVp#~ 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 + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + Hardware + + + + Port Code + + + + Threads + + + + Mutexes Condvars + + + + Virtual Timers + + + + Messages + + + + Mailboxes + + + + Semaphores + + + + I/O Queues + + + + Event Flags + + + + Scheduler + + + + Interrupts Handling + + + + Device Drivers and Application Code + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/todo.txt b/todo.txt index 208856399..839198efd 100644 --- a/todo.txt +++ b/todo.txt @@ -22,6 +22,8 @@ After 1.0.0: * Remove port_puts() from all the ports. * Stack sizes article into the documentation. * Logo... +- Code examples into the documentation. +- Architecture diagrams. After 1.2.0: X Abstract I/O channels rather than just serial ports.