forked from FreeRTOS/FreeRTOS-Kernel-Book
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
updates for toc
- Loading branch information
Showing
1 changed file
with
33 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -106,6 +106,8 @@ git clone [email protected]:FreeRTOS/FreeRTOS.git --recurse-submodules | |
Figure 2.1 shows the first and second-level directories of the FreeRTOS | ||
distribution: | ||
|
||
<a name="fig2.1" title="Figure 2.1 Top level directories within the FreeRTOS distribution"></a> | ||
|
||
* * * | ||
``` | ||
FreeRTOS | ||
|
@@ -120,7 +122,7 @@ FreeRTOS-Plus | |
│ | ||
└─Demo Contains demo projects for other FreeRTOS and ecosystem libraries | ||
``` | ||
*Figure 2.1. Top level directories within the FreeRTOS distribution* | ||
*Figure 2.1 Top level directories within the FreeRTOS distribution* | ||
* * * | ||
|
||
The distribution only contains one copy of the FreeRTOS kernel source | ||
|
@@ -169,6 +171,9 @@ following optional source files: | |
recommended for new designs. Co-routines are not described in this | ||
book. | ||
|
||
|
||
<a name="fig2.2" title="Figure 2.2 Core FreeRTOS source files within the FreeRTOS directory tree"></a> | ||
|
||
* * * | ||
``` | ||
FreeRTOS | ||
|
@@ -183,7 +188,7 @@ FreeRTOS | |
├─stream_buffer.c FreeRTOS source file - optional | ||
└─croutine.c FreeRTOS source file – optional and no longer maintained | ||
``` | ||
*Figure 2.2. Core FreeRTOS source files within the FreeRTOS directory tree* | ||
*Figure 2.2 Core FreeRTOS source files within the FreeRTOS directory tree* | ||
* * * | ||
|
||
It is recognized that the file names used in the zip file distribution | ||
|
@@ -218,6 +223,9 @@ provide your own implementation. | |
|
||
> **! Do not include more than one of the example heap allocation implementations in your project.** | ||
|
||
<a name="fig2.3" title="Figure 2.3 Port specific source files within the FreeRTOS directory tree"></a> | ||
|
||
* * * | ||
``` | ||
FreeRTOS | ||
|
@@ -240,7 +248,7 @@ FreeRTOS | |
├─[architecture 2] Contains files for the compiler 2 architecture 2 port | ||
└─[etc.] | ||
``` | ||
*Figure 2.3. Port specific source files within the FreeRTOS directory tree* | ||
*Figure 2.3 Port specific source files within the FreeRTOS directory tree* | ||
* * * | ||
|
||
### 2.2.8 Include Paths | ||
|
@@ -320,6 +328,8 @@ the FreeRTOS kernel. See the | |
comments within the individual main.c files for information specific to | ||
that demo. | ||
|
||
<a name="fig2.4" title="Figure 2.4 The demo directory hierarchy"></a> | ||
|
||
* * * | ||
``` | ||
FreeRTOS | ||
|
@@ -331,7 +341,7 @@ FreeRTOS | |
├─[Demo z] Contains the project file that builds demo 'z' | ||
└─Common Contains files that are built by all the demo applications | ||
``` | ||
*Figure 2.4. The demo directory hierarchy* | ||
*Figure 2.4 The demo directory hierarchy* | ||
* * * | ||
|
||
|
||
|
@@ -361,6 +371,9 @@ To create a new application from an existing demo project: | |
When you follow these steps you create a project that includes the correct | ||
FreeRTOS source files, but does not define any functionality. | ||
|
||
|
||
<a name="list2.1" title="Listing 2.1 The template for a new main() function"></a> | ||
|
||
* * * | ||
```c | ||
int main( void ) | ||
|
@@ -379,7 +392,7 @@ int main( void ) | |
return 0; | ||
} | ||
``` | ||
*Listing 2.1. The template for a new main() function* | ||
*Listing 2.1 The template for a new main() function* | ||
* * * | ||
|
@@ -415,6 +428,8 @@ procedure to create a new project: | |
the web page that describes the port in use and the demo project | ||
provided for the port in use as a reference. | ||
<a name="tbl1" title="Table 1 FreeRTOS source files to include in the project"></a> | ||
* * * | ||
| File | Location | | ||
|---------------------------------|------------------------------| | ||
|
@@ -427,7 +442,7 @@ procedure to create a new project: | |
| All C and assembler files | FreeRTOS/Source/portable/\[compiler\]/\[architecture\] | | ||
| *heap\_n.c* | *FreeRTOS/Source/portable/MemMang, where n is either 1, 2, 3, 4 or 5* | | ||
*Table 1. FreeRTOS source files to include in the project* | ||
*Table 1 FreeRTOS source files to include in the project* | ||
* * * | ||
**Note on heap memory:** | ||
|
@@ -474,12 +489,14 @@ typedef used and the actual type: | |
tick counts greater than 32-bits. New designs should use `configTICK_TYPE_WIDTH_IN_BITS` | ||
instead of `configUSE_16_BIT_TICKS`. | ||
<a name="tbl2" title="Table 2 TickType_t data type and the configTICK_TYPE_WIDTH_IN_BITS configuration"></a> | ||
* * * | ||
| configTICK_TYPE_WIDTH_IN_BITS | 8-bit architectures | 16-bit architectures | 32-bit architectures | 64-bit architectures | | ||
| configTICK\_TYPE\_WIDTH\_IN\_BITS | 8-bit architectures | 16-bit architectures | 32-bit architectures | 64-bit architectures | | ||
| --- | --- | --- | --- | --- | | ||
| TICK_TYPE_WIDTH_16_BITS | uint16_t | uint16_t | uint16_t | N/A | | ||
| TICK_TYPE_WIDTH_32_BITS | uint32_t | uint32_t | uint32_t | N/A | | ||
| TICK_TYPE_WIDTH_64_BITS | N/A | N/A | uint64_t | uint64_t | | ||
| TICK\_TYPE\_WIDTH\_16_BITS | uint16\_t | uint16\_t | uint16\_t | N/A | | ||
| TICK\_TYPE\_WIDTH\_32_BITS | uint32\_t | uint32\_t | uint32\_t | N/A | | ||
| TICK\_TYPE\_WIDTH\_64_BITS | N/A | N/A | uint64\_t | uint64\_t | | ||
*Table 2. TickType_t data type and the configTICK_TYPE_WIDTH_IN_BITS configuration* | ||
* * * | ||
|
@@ -534,6 +551,8 @@ Most macros are written in upper case, and prefixed with lower case | |
letters that indicate where the macro is defined. Table 3 provides a | ||
list of prefixes. | ||
<a name="tbl3" title="Table 3 Macro prefixes"></a> | ||
* * * | ||
| Prefix | Location of macro definition | | ||
|----------------------------------------------|--------------------------------| | ||
|
@@ -543,7 +562,7 @@ list of prefixes. | |
| config (for example, `configUSE_PREEMPTION`) | `FreeRTOSConfig.h` | | ||
| err (for example, `errQUEUE_FULL`) | `projdefs.h` | | ||
*Table 3. Macro prefixes* | ||
*Table 3 Macro prefixes* | ||
* * * | ||
Note that the semaphore API is written almost entirely as a set of | ||
|
@@ -552,6 +571,8 @@ macro naming convention. | |
The macros defined in Table 4 are used throughout the FreeRTOS source code. | ||
<a name="tbl4" title="Table 4 Common macro definitions"></a> | ||
* * * | ||
| Macro | Value | | ||
|--------------|-------| | ||
|
@@ -560,7 +581,7 @@ The macros defined in Table 4 are used throughout the FreeRTOS source code. | |
| `pdPASS` | 1 | | ||
| `pdFAIL` | 0 | | ||
*Table 4. Common macro definitions* | ||
*Table 4 Common macro definitions* | ||
* * * | ||
|
@@ -571,4 +592,3 @@ which differ in how and when they generate warnings. In particular, | |
different compilers want casting used in different ways. As a result, | ||
the FreeRTOS source code contains more type casting than would normally | ||
be warranted. | ||