git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2073 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
5a19338b10
commit
17bd98c1fa
|
@ -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.
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue