內容大鋼
本書全面系統地講述了FreeRTOS的基本概念、任務管理、軟體定時器、任務間同步、進程間通信、內存管理、中斷管理及內核移植等內容,並通過實例詳細講述了FreeRTOS在STM32嵌入式微控制器上的應用,幫助讀者快速掌握FreeRTOS的工作原理和實際操作方法。
全書共分9章,主要內容包括緒論、STM32嵌入式微控制器、FreeRTOS任務管理、FreeRTOS軟體定時器、FreeRTOS任務間同步、FreeRTOS進程間通信與消息隊列、FreeRTOS內存管理、FreeRTOS中斷管理、FreeRTOS在STM32上的移植實例。全書內容豐富,結構合理,理論與實踐相結合,尤其注重工程應用技術。
本書可作為高等院校自動化、機器人、人工智慧、電子與電氣工程和物聯網等相關專業的本科生、研究生教材,也可作為廣大從事嵌入式系統開發的工程技術人員的參考用書。
目錄
第1章 緒論
1.1 FreeRTOS系統概述
1.1.1 FreeRTOS的特點
1.1.2 FreeRTOS的商業許可
1.1.3 選擇FreeRTOS的理由
1.1.4 FreeRTOS的發展歷史
1.1.5 FreeRTOS的功能
1.1.6 FreeRTOS的一些概念和術語
1.2 FreeRTOS的源碼和官方手冊獲取
1.3 FreeRTOS系統移植簡介
1.4 FreeRTOS的文件組成
1.5 FreeRTOS的編碼規則及配置和功能裁剪
1.6 FreeRTOS的啟動流程
第2章 STM32嵌入式微控制器
2.1 STM32F407ZGT6概述
2.1.1 STM32F407的主要特性
2.1.2 STM32F407的主要功能
2.2 STM32F407ZGT6晶元內部結構
2.3 STM32F407VGT6晶元引腳和功能
2.4 STM32F407VGT6最小系統設計
2.5 STM32通用輸入輸出GPIO
2.5.1 STM32 GPIO介面概述
2.5.2 STM32的GPIO功能
2.6 STM32外部中斷
2.6.1 STM32F4中斷系統
2.6.2 STM32F4外部中斷/事件控制器
2.7 STM32串口USART
2.8 STM32定時器
2.8.1 STM32F4定時器概述
2.8.2 STM32F4基本定時器
2.9 STM32外設常式
第3章 FreeRTOS任務管理
3.1 任務管理概述
3.1.1 多任務運行基本機制
3.1.2 任務的狀態
3.1.3 任務的優先順序
3.1.4 空閑任務
3.1.5 基礎時鐘與嘀嗒信號
3.2 FreeRTOS的任務調度
3.2.1 任務調度方法概述
3.2.2 使用時間片的搶佔式調度方法
3.3 任務管理的應用場合
3.4 任務管理相關函數
3.5 FreeRTOS任務的設計要點
3.6 FreeRTOS任務管理應用實例
第4章 FreeRTOS軟體定時器
4.1 軟體定時器概述
4.1.1 軟體定時器的特性
4.1.2 軟體定時器的相關配置
4.1.3 定時器服務任務的優先順序
4.2 軟體定時器應用場景
4.3 軟體定時器的精度
4.4 軟體定時器的運作機制
4.5 軟體定時器控制塊
4.6 軟體定時器的相關函數
4.6.1 軟體定時器創建函數
4.6.2 軟體定時器啟動函數
4.6.3 軟體定時器停止函數
4.6.4 軟體定時器任務
4.6.5 軟體定時器刪除函數
4.7 FreeRTOS軟體定時器應用實例
第5章 FreeRTOS任務間同步
5.1 FreeRTOS信號量
5.1.1 二值信號量
5.1.2 計數信號量
5.1.3 互斥信號量
5.1.4 遞歸互斥量
5.1.5 信號量應用場景
5.1.6 二值信號量運作機制
5.1.7 計數信號量運作機制
5.1.8 信號量控制塊
5.1.9 相關函數
5.1.10 FreeRTOS信號量應用實例
5.2 FreeRTOS互斥量
5.2.1 優先順序翻轉問題
5.2.2 互斥量的工作原理
5.2.3 互斥量應用場景
5.2.4 互斥量的運作機制
5.2.5 互斥量控制塊
5.2.6 互斥量函數介面
5.2.7 FreeRTOS互斥量應用實例
5.3 FreeRTOS事件組
5.3.1 事件組的原理和功能
5.3.2 事件組的應用場景
5.3.3 事件組運作機制
5.3.4 事件組控制塊
5.3.5 事件組相關函數
5.3.6 FreeRTOS事件組應用實例
第6章 FreeRTOS進程間通信與消息隊列
6.1 進程間通信
6.2 隊列的特點和基本操作
6.2.1 隊列的特點
6.2.2 隊列的基本操作
6.3 消息隊列的運作機制
6.4 消息隊列的阻塞機制
6.5 消息隊列的應用場景
6.5.1 任務間的消息交換
6.5.2 中斷與任務間的消息傳遞
6.5.3 日誌系統和事件監控
6.6 消息隊列控制塊
6.7 消息隊列操作相關函數
6.7.1 消息隊列創建函數
6.7.2 消息隊列靜態創建函數
6.7.3 消息隊列刪除函數
6.7.4 向消息隊列發送消息函數
6.7.5 從消息隊列讀取消息函數
6.8 FreeRTOS消息隊列應用實例
第7章 FreeRTOS內存管理
7.1 內存管理的基本概念
7.2 內存管理的應用場景
7.3 內存管理方案
7.3.1 heap_1.c
7.3.2 heap_2.c
7.3.3 heap_3.c
7.3.4 heap_4.c
7.3.5 heap_5.c
7.4 FreeRTOS內存管理應用實例
第8章 FreeRTOS中斷管理
8.1 FreeRTOS與中斷
8.2 中斷的基本概念
8.3 中斷管理的運作機制
8.4 中斷管理的應用場景
8.5 FreeRTOS中斷管理機制
8.6 任務與中斷服務程序
8.6.1 任務與中斷服務程序的關係
8.6.2 中斷屏蔽和臨界代碼段
8.6.3 在ISR中使用FreeRTOS API函數
8.6.4 ISR設計原則
8.7