Table of Contents
1 Preface
1.1 Multitasking in Small Embedded Systems
1.1.1 About the FreeRTOS Kernel
1.1.2 Value Proposition
1.1.3 A Note About Terminology
1.1.4 Why Use an RTOS?
1.1.5 FreeRTOS Kernel Features
1.1.6 Licensing, and The FreeRTOS, OpenRTOS, and SafeRTOS Family
1.2 Included Source Files and Projects
1.2.1 Obtaining the Examples that Accompany this Book
2 The FreeRTOS Kernel Distribution
2.1 Introduction
2.2 Understanding the FreeRTOS Distribution
2.2.1 Definition: FreeRTOS Port
2.2.2 Building FreeRTOS
2.2.3 FreeRTOSConfig.h
2.2.4 Official Distributions
2.2.6 FreeRTOS Source Files Common to All Ports
2.2.7 FreeRTOS Source Files Specific to a Port
2.2.8 Include Paths
2.2.9 Header Files
2.3 Demo Applications
2.4 Creating a FreeRTOS Project
2.4.1 Adapting One of the Supplied Demo Projects
2.4.2 Creating a New Project from Scratch
2.5 Data Types and Coding Style Guide
2.5.1 Data Types
2.5.2 Variable Names
2.5.3 Function Names
2.5.4 Formatting
2.5.5 Macro Names
2.5.6 Rationale for Excessive Type Casting
3 Heap Memory Management
3.1 Introduction
3.1.1 Prerequisites
3.1.2 Scope
3.1.3 Switching Between Static and Dynamic Memory Allocation
3.1.4 Using Dynamic Memory Allocation
3.1.5 Options for Dynamic Memory Allocation
3.2 Example Memory Allocation Schemes