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"];
|
||||
Kernel [label="Kernel"];
|
||||
Port [label="Port"];
|
||||
Board [label="Board Setup"];
|
||||
HW [label="Hardware", style="filled", width="3.0", height="0.3"];
|
||||
|
||||
Application -> Kernel;
|
||||
|
@ -66,9 +67,12 @@
|
|||
Application -> HW [label=" (not recommended)"];
|
||||
HAL -> Platform;
|
||||
HAL -> Kernel;
|
||||
Board -> HW;
|
||||
Platform -> Kernel;
|
||||
Platform -> Board;
|
||||
Platform -> HW;
|
||||
Kernel -> Port;
|
||||
Port -> Board [label="Optional", style="dotted"];
|
||||
Port -> HW;
|
||||
}
|
||||
* @enddot
|
||||
|
@ -119,7 +123,7 @@
|
|||
* @dot
|
||||
digraph example {
|
||||
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];
|
||||
|
||||
Semaphores -> Scheduler;
|
||||
|
@ -128,6 +132,7 @@
|
|||
Condvars -> Mutexes;
|
||||
Events -> Scheduler;
|
||||
Messages -> Scheduler;
|
||||
"Binary Semaphores" -> Semaphores;
|
||||
Mailboxes -> Semaphores;
|
||||
}
|
||||
* @enddot
|
||||
|
@ -151,17 +156,25 @@
|
|||
fixedsize="true", width="1.0", height="0.25"];
|
||||
edge [fontname=Helvetica, fontsize=8];
|
||||
|
||||
Application [label="Application", width="2.0"];
|
||||
RAM [label="RAM", style="filled", width="2.0"];
|
||||
Core [label="Core Allocator"];
|
||||
Dynamic [label="Dynamic Threads"];
|
||||
Heaps [label="Dynamic Heaps"];
|
||||
Pools [label="Memory Pools"];
|
||||
C [label="C-runtime"];
|
||||
|
||||
Application -> Dynamic;
|
||||
Application -> Heaps;
|
||||
Application -> Pools;
|
||||
Application -> C [label="(not recommended)"];
|
||||
Application -> Core;
|
||||
Dynamic -> Heaps;
|
||||
Dynamic -> Pools;
|
||||
Heaps -> Core;
|
||||
Pools -> Core;
|
||||
C -> Core;
|
||||
Core -> RAM
|
||||
}
|
||||
* @enddot
|
||||
* Please also see the article @ref article_manage_memory.
|
||||
|
|
|
@ -147,7 +147,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
* @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 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:
|
||||
|
|
|
@ -126,7 +126,7 @@
|
|||
* <br>
|
||||
* When designing a system it is recommended to proceed as follow:
|
||||
* -# 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.
|
||||
* -# Where dynamic allocation is required evaluate if one or more memory
|
||||
* pools can be used.
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
* core (a common example: ARM7) of a supported microcontroller but has
|
||||
* differences in the internal peripherals.<br>
|
||||
* 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>
|
||||
* In case of the ARM-based microcontroller you also need to create a
|
||||
* equally named directory under
|
||||
|
@ -87,11 +87,11 @@
|
|||
* see the existing ports as example.
|
||||
* -# Copy into the newly created directory the most closely related existing
|
||||
* 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
|
||||
* from the templates.
|
||||
* -# 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.
|
||||
* .
|
||||
* 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
|
||||
the Cortex-Mx port. Note that the 64 bits alignment has a cost both as
|
||||
performance and as space but it is the "standard".
|
||||
- Fixed various documentation errors.
|
||||
|
||||
*** 2.1.0 ***
|
||||
- FIX: Fixed notification order in input queues (bug 3020708)(backported in
|
||||
|
|
Loading…
Reference in New Issue