git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2073 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2010-07-12 08:49:55 +00:00
parent 5a19338b10
commit 17bd98c1fa
5 changed files with 20 additions and 6 deletions

View File

@ -59,6 +59,7 @@
Platform [label="Platform"]; Platform [label="Platform"];
Kernel [label="Kernel"]; Kernel [label="Kernel"];
Port [label="Port"]; Port [label="Port"];
Board [label="Board Setup"];
HW [label="Hardware", style="filled", width="3.0", height="0.3"]; HW [label="Hardware", style="filled", width="3.0", height="0.3"];
Application -> Kernel; Application -> Kernel;
@ -66,9 +67,12 @@
Application -> HW [label=" (not recommended)"]; Application -> HW [label=" (not recommended)"];
HAL -> Platform; HAL -> Platform;
HAL -> Kernel; HAL -> Kernel;
Board -> HW;
Platform -> Kernel; Platform -> Kernel;
Platform -> Board;
Platform -> HW; Platform -> HW;
Kernel -> Port; Kernel -> Port;
Port -> Board [label="Optional", style="dotted"];
Port -> HW; Port -> HW;
} }
* @enddot * @enddot
@ -119,7 +123,7 @@
* @dot * @dot
digraph example { digraph example {
node [shape=rectangle, fontname=Helvetica, fontsize=8, node [shape=rectangle, fontname=Helvetica, fontsize=8,
fixedsize="true", width="1.0", height="0.25"]; fixedsize="true", width="1.1", height="0.25"];
edge [fontname=Helvetica, fontsize=8]; edge [fontname=Helvetica, fontsize=8];
Semaphores -> Scheduler; Semaphores -> Scheduler;
@ -128,6 +132,7 @@
Condvars -> Mutexes; Condvars -> Mutexes;
Events -> Scheduler; Events -> Scheduler;
Messages -> Scheduler; Messages -> Scheduler;
"Binary Semaphores" -> Semaphores;
Mailboxes -> Semaphores; Mailboxes -> Semaphores;
} }
* @enddot * @enddot
@ -151,17 +156,25 @@
fixedsize="true", width="1.0", height="0.25"]; fixedsize="true", width="1.0", height="0.25"];
edge [fontname=Helvetica, fontsize=8]; edge [fontname=Helvetica, fontsize=8];
Application [label="Application", width="2.0"];
RAM [label="RAM", style="filled", width="2.0"];
Core [label="Core Allocator"]; Core [label="Core Allocator"];
Dynamic [label="Dynamic Threads"]; Dynamic [label="Dynamic Threads"];
Heaps [label="Dynamic Heaps"]; Heaps [label="Dynamic Heaps"];
Pools [label="Memory Pools"]; Pools [label="Memory Pools"];
C [label="C-runtime"]; C [label="C-runtime"];
Application -> Dynamic;
Application -> Heaps;
Application -> Pools;
Application -> C [label="(not recommended)"];
Application -> Core;
Dynamic -> Heaps; Dynamic -> Heaps;
Dynamic -> Pools; Dynamic -> Pools;
Heaps -> Core; Heaps -> Core;
Pools -> Core; Pools -> Core;
C -> Core; C -> Core;
Core -> RAM
} }
* @enddot * @enddot
* Please also see the article @ref article_manage_memory. * Please also see the article @ref article_manage_memory.

View File

@ -147,7 +147,7 @@ int main(int argc, char *argv[]) {
} }
* @endcode * @endcode
* *
* <h2>Creating a dynamic thread using the heap allocator</h2> * <h2>Creating a dynamic thread using the memory pool allocator</h2>
* A pool is a collection of equally sized memory blocks, creating a thread from * A pool is a collection of equally sized memory blocks, creating a thread from
* a memry pool is very similar to the previous example but the memory of * a memry pool is very similar to the previous example but the memory of
* terminated threads is returned to the memory pool rather than to a heap: * terminated threads is returned to the memory pool rather than to a heap:

View File

@ -126,7 +126,7 @@
* <br> * <br>
* When designing a system it is recommended to proceed as follow: * When designing a system it is recommended to proceed as follow:
* -# Use static objects and initializers whenever possible. * -# Use static objects and initializers whenever possible.
* -# Where dynamic allocation is required without have to free the allocated * -# Where dynamic allocation is required without having to free the allocated
* memory then use the Core Memory Manager allocation APIs. * memory then use the Core Memory Manager allocation APIs.
* -# Where dynamic allocation is required evaluate if one or more memory * -# Where dynamic allocation is required evaluate if one or more memory
* pools can be used. * pools can be used.

View File

@ -78,7 +78,7 @@
* core (a common example: ARM7) of a supported microcontroller but has * core (a common example: ARM7) of a supported microcontroller but has
* differences in the internal peripherals.<br> * differences in the internal peripherals.<br>
* If this is your case proceed as follow: * If this is your case proceed as follow:
* -# Create a new directory under @p <tt>./os/io/platforms</tt> and * -# Create a new directory under @p <tt>./os/hal/platforms</tt> and
* name it with the microcontroller name (or family name).<br> * name it with the microcontroller name (or family name).<br>
* In case of the ARM-based microcontroller you also need to create a * In case of the ARM-based microcontroller you also need to create a
* equally named directory under * equally named directory under
@ -87,11 +87,11 @@
* see the existing ports as example. * see the existing ports as example.
* -# Copy into the newly created directory the most closely related existing * -# Copy into the newly created directory the most closely related existing
* chip port or the naked template files from * chip port or the naked template files from
* @p <tt>./os/io/templates</tt>. * @p <tt>./os/hal/templates</tt>.
* -# Work out the differences in the drivers or implement them if you started * -# Work out the differences in the drivers or implement them if you started
* from the templates. * from the templates.
* -# Edit/create the documentation file @p <tt>platform.dox</tt>, this * -# Edit/create the documentation file @p <tt>platform.dox</tt>, this
* is required if you want to regenerate this documentation including * is only required if you want to regenerate this documentation including
* your work. * your work.
* . * .
* Usually this kind of port just requires a serial driver (and those are very * Usually this kind of port just requires a serial driver (and those are very

View File

@ -74,6 +74,7 @@
option is not compatible with the 64 bits stack alignment now default in option is not compatible with the 64 bits stack alignment now default in
the Cortex-Mx port. Note that the 64 bits alignment has a cost both as the Cortex-Mx port. Note that the 64 bits alignment has a cost both as
performance and as space but it is the "standard". performance and as space but it is the "standard".
- Fixed various documentation errors.
*** 2.1.0 *** *** 2.1.0 ***
- FIX: Fixed notification order in input queues (bug 3020708)(backported in - FIX: Fixed notification order in input queues (bug 3020708)(backported in