●前言篇 內核篇章 嵌入式實時操作繫統 21.1 嵌入式繫統 31.2 實時繫統 41.3 嵌入式實時操作繫統 61.3.1 主流嵌入式實時操作繫統 71.3.2 發展趨勢 81.4 本章小結 8第2章 了解與快速上手RT-Thread 92.1 RT-Thread概述 92.2 RT-Thread的架構 102.3 RT-Thread的獲取 112.4 RT-Thread快速上手 122.4.1 準備環境 132.4.2 初識RT-Thread 162.4.3 跑馬燈的例子 202.5 本章小結 21第3章 內核基礎 223.1 RT-Thread內核介紹 223.2 RT-Thread 啟動流程 243.3 RT-Thread程序內存分布 263.4 RT-Thread自動初始化機制 283.5 RT-Thread內核對像模型 293.5.1 靜態對像和動態對像 293.5.2 內核對像管理架構 313.5.3 對像控制塊 333.5.4 內核對像管理方式 343.6 RT-Thread內核配置示例 363.7 常見宏定義說明 383.8 本章小結 39第4章 線程管理 404.1 線程管理的功能特點 404.2 線程的工作機制 414.2.1 線程控制塊 414.2.2 線程的重要屬性 424.2.3 線程狀態切換 454.2.4 繫統線程 464.3 線程的管理方式 464.3.1 創建和刪除線程 474.3.2 初始化和脫離線程 484.3.3 啟動線程 494.3.4 獲得當前線程 504.3.5 使線程讓出處理器資源 504.3.6 使線程睡眠 504.3.7 掛起和恢復線程 514.3.8 控制線程 524.3.9 設置和刪除空閑鉤子 524.3.10 設置調度器鉤子 534.4 線程應用示例 534.4.1 創建線程示例 544.4.2 線程時間片輪轉調度示例 564.4.3 線程調度器鉤子示例 574.5 本章小結 59第5章 時鐘管理 605.1 時鐘節拍 605.1.1 時鐘節拍的實現方式 605.1.2 獲取時鐘節拍 615.2 定時器管理 625.2.1 RT-Thread定時器介紹 625.2.2 定時器的工作機制 635.2.3 定時器的管理方式 655.3 定時器應用示例 695.4 高精度延時 725.5 本章小結 73第6章 線程間同步 746.1 信號量 756.1.1 信號量的工作機制 756.1.2 信號量控制塊 756.1.3 信號量的管理方式 766.1.4 信號量應用示例 796.1.5 信號量的使用場合 856.2 互斥量 876.2.1 互斥量的工作機制 876.2.2 互斥量控制塊 896.2.3 互斥量的管理方式 896.2.4 互斥量應用示例 926.2.5 互斥量的使用場合 976.3 事件集 976.3.1 事件集的工作機制 976.3.2 事件集控制塊 986.3.3 事件集的管理方式 996.3.4 事件集應用示例 1016.3.5 事件集的使用場合 1046.4 本章小結 104第7章 線程間通信 1057.1 郵箱 1057.1.1 郵箱的工作機制 1057.1.2 郵箱控制塊 1067.1.3 郵箱的管理方式 1067.1.4 郵箱使用示例 1107.1.5 郵箱的使用場合 1127.2 消息隊列 1137.2.1 消息隊列的工作機制 1137.2.2 消息隊列控制塊 1147.2.3 消息隊列的管理方式 1157.2.4 消息隊列應用示例 1187.2.5 消息隊列的使用場合 1217.3 信號 1237.3.1 信號的工作機制 1237.3.2 信號的管理方式 1247.3.3 信號應用示例 1267.4 本章小節 128第8章 內存管理 1298.1 內存管理的功能特點 1298.2 內存堆管理 1308.2.1 小內存管理算法 1318.2.2 slab管理算法 1328.2.3 memheap管理算法 1338.2.4 內存堆配置和初始化 1348.2.5 內存堆的管理方式 1348.2.6 內存堆管理應用示例 1368.3 內存池 1388.3.1 內存池的工作機制 1398.3.2 內存池的管理方式 1408.3.3 內存池應用示例 1438.4 本章小結 145第9章 中斷管理 1469.1 Cortex-M CPU架構基礎 1469.1.1 寄存器介紹 1479.1.2 操作模式和特權級別 1489.1.3 嵌套向量中斷控制器 1489.1.4 PendSV繫統調用 1499.2 RT-Thread中斷工作機制 1499.2.1 中斷向量表 1499.2.2 中斷處理過程 1519.2.3 中斷嵌套 1539.2.4 中斷棧 1549.2.5 中斷的底半處理 1549.3 RT-Thread中斷管理接口 1569.3.1 中斷服務程序掛接 1579.3.2 中斷源管理 1589.3.3 全局中斷開關 1589.3.4 中斷通知 1609.4 中斷與輪詢 1619.5 全局中斷開關使用示例 1629.6 本章小結 1640章 內核移植 16510.1 CPU架構移植 16510.1.1 實現全局中斷開關 16610.1.2 實現線程棧初始化 16710.1.3 實現上下文切換 16810.1.4 實現時鐘節拍 17410.2 BSP移植 17510.3 內核移植示例 17510.3.1 準備裸機工程 17610.3.2 建立RT-Thread工程 17710.3.3 實現時鐘管理 17910.3.4 實現控制臺輸出 18010.3.5 實現動態堆內存管理 18110.3.6 移植到更多開發板 18310.4 本章小結 184第二篇 組件篇1章 Env輔助開發環境 18611.1 Env簡介 18611.2 Env的功能特點 18711.3 Env工程構建示例 18911.4 構建更多MDK工程 196
內容簡介
第壹篇為內核篇(-10章),詳細講解了 RT-Thread 的設計思想,各個功能模塊如線程、郵箱、消息隊列、事件、信號、定時器和繫統時鐘、中斷和異常、內存池、堆管理、移植的工作機制和應用方式,也提供了大量的示例供參考。第二篇為組件篇(1-16章),詳細講解了命令行 Shell,文件繫統,網絡協議棧的工作機制和應用方式,並提供了示例供參考。通過閱讀本書,讀者不僅能學習和掌握嵌入式操作繫統內核和常用組件的工作機制和應用方式,而且也能夠通過配套的示例代碼,實際動手深入體會,對未來實際應用與開發提供參考。
為什麼要寫這本書自2006年發布V0.01版起,到今年正式發布V4.0版,RT-Thread歷經12年的累積發展,憑借良好的口碑和開源免費的策略,已經擁有了一個國內優選的嵌入式開源社區,積聚了數十萬的軟件愛好者。RT-Thread廣泛應用於能源、車載、醫療、消費電子等眾多行業,已成為國人自主開發、最成熟穩定和裝機量優選的開源嵌入式操作繫統。深處於行業之中,我們深刻地感受到近年來國內芯片產業和物聯網產業快速崛起的趨勢,行業發展迫切需要更多人纔,尤其是掌握嵌入式操作繫統等底層技術的人纔,我們希望通過本書讓RT-Thread觸達更多人群,讓更多的人了解集聚國人智慧的RT-Thread操作繫統,從而讓RT-Thread賦能更多行業,真正做到“積識成睿,慧澤百川”。另外,高校學生是RT-Thread非常重視的群體,從2018年起,RT-Thread啟動了一繫列大學生計劃,包括送書計劃、培訓計劃、合作......
"