掃一掃
關注中圖網
官方微博
本類五星書更多>
-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
RT-Thread內核實現與應用開發實戰指南-基于STM32 版權信息
- ISBN:9787111613664
- 條形碼:9787111613664 ; 978-7-111-61366-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
RT-Thread內核實現與應用開發實戰指南-基于STM32 內容簡介
本書基于野火STM32全系列開發板介紹RTThread內核實現與應用開發,全書分為兩部分:部分教你如何從0到1把RTThread內核寫出來,從底層的匯編開始講解線程如何定義、如何切換,還講解了阻塞延時如何實現、如何支持多優先級、如何實現定時器以及時間片等RTThread的核心知識點;第二部分則講解RTThread內核組件的應用以及如何使用RTThread進行多線程編程。 本書內容翔實,案例豐富,配有大量示例代碼,適合作為嵌入式領域科技工作者的參考書,也適合相關專業學生學習參考。
RT-Thread內核實現與應用開發實戰指南-基于STM32 目錄
推薦序
前言
引言
**部分 從0到1教你寫RTThread內核
第1章 新建RTThread工程——軟件仿真 2
1.1 新建本地工程文件夾 2
1.2 使用KEIL新建工程 3
1.2.1 New Project 3
1.2.2 Select Device for Target 3
1.2.3 Manage RunTime Environment 4
1.3 在KEIL工程中新建文件組 5
1.4 在KEIL工程中添加文件 6
1.5 調試配置 7
1.5.1 設置軟件仿真 7
1.5.2 修改時鐘大小 8
1.5.3 添加頭文件路徑 9
第2章 裸機系統與多線程系統 10
2.1 裸機系統 10
2.1.1 輪詢系統 10
2.1.2 前后臺系統 11
2.2 多線程系統 12
第3章 線程的定義與線程切換的實現 15
3.1 什么是線程 16
3.2 創建線程 17
3.2.1 定義線程棧 17
3.2.2 定義線程函數 19
3.2.3 定義線程控制塊 20
3.2.4 實現線程創建函數 20
3.3 實現就緒列表 30
3.3.1 定義就緒列表 30
3.3.2 將線程插入就緒列表 30
3.4 實現調度器 31
3.4.1 調度器初始化 32
3.4.2 啟動調度器 33
3.4.3 **次線程切換 34
3.4.4 系統調度 41
3.5 main()函數 44
3.6 實驗現象 47
第4章 臨界段的保護 50
4.1 什么是臨界段 50
4.2 CortexM內核快速關中斷指令 50
4.3 關中斷 51
4.4 開中斷 51
4.5 臨界段代碼的應用 52
4.6 實驗現象 56
第5章 對象容器 57
5.1 什么是對象 57
5.1.1 對象枚舉的定義 57
5.1.2 對象數據類型的定義 57
5.1.3 在線程控制塊中添加對象成員 58
5.2 什么是容器 59
5.3 容器的接口實現 63
5.3.1 獲取指定類型的對象信息 64
5.3.2 對象初始化 64
5.3.3 調用對象初始化函數 67
5.4 實驗現象 67
第6章 空閑線程與阻塞延時 68
6.1 實現空閑線程 68
6.1.1 定義空閑線程的棧 68
6.1.2 定義空閑線程的線程控制塊 69
6.1.3 定義空閑線程函數 69
6.1.4 空閑線程初始化 69
6.2 實現阻塞延時 70
6.3 SysTick_Handler()中斷服務函數 73
6.4 main()函數 77
6.5 實驗現象 80
第7章 多優先級 82
7.1 就緒列表 82
7.1.1 線程就緒優先級組 82
7.1.2 線程優先級表 86
7.2 修改代碼以支持多優先級 88
7.2.1 修改線程控制塊 88
7.2.2 修改調度器初始化函數rt_system_scheduler_init() 90
7.2.3 修改線程初始化函數rt_thread_init() 91
7.2.4 添加線程啟動函數rt_thread_startup() 92
7.2.5 修改空閑線程初始化函數rt_thread_idle_init() 93
7.2.6 修改啟動系統調度器函數rt_system_scheduler_start() 94
7.2.7 修改系統調度函數rt_schedule() 95
7.2.8 修改阻塞延時函數rt_thread_delay() 98
7.2.9 修改時基更新函數rt_tick_increase() 98
7.3 main()函數 99
7.4 實驗現象 102
第8章 定時器 103
8.1 實現定時器 103
8.1.1 系統定時器列表 103
8.1.2 系統定時器列表初始化 104
8.1.3 定義定時器結構體 104
8.1.4 在線程控制塊中內置定時器 105
8.1.5 定時器初始化函數 106
8.1.6 定時器刪除函數 108
8.1.7 定時器停止函數 108
8.1.8 定時器控制函數 109
8.1.9 定時器啟動函數 110
8.1.10 定時器掃描函數 115
8.2 修改代碼以支持定時器 118
8.2.1 修改線程初始化函數 118
8.2.2 修改線程延時函數 119
8.2.3 修改系統時基更新函數 121
8.2.4 修改main.c文件 122
8.3 實驗現象 126
第9章 時間片 127
9.1 實現時間片 127
9.1.1 在線程控制塊中添加時間片相關成員 127
9.1.2 修改線程初始化函數 128
9.1.3 修改空閑線程初始化函數 129
9.1.4 修改系統時基更新函數 129
9.2 修改main.c文件 131
9.3 實驗現象 135
第二部分 RTThread 內核應用開發
第10章 移植RTThread到STM32 138
10.1 獲取STM32的裸機工程模板 138
10.2 下載RTThread Nano源碼 138
10.3 安裝RTThread Package 139
10.4 向裸機工程中添加RTThread源碼 140
10.4.1 復制RTThread Package到裸機工程根目錄 140
10.4.2 復制rtconfig.h文件到User文件夾 141
10.4.3 復制board.c文件到User文件夾 141
10.4.4 rtthread文件夾內容簡介 141
10.4.5 添加RTThread源碼到工程組文件夾 143
10.5 rtconfig.h文件 145
10.5.1 rtconfig.h文件內容講解 145
10.5.2 rtconfig.h文件修改 152
10.6 board.c文件 156
10.6.1 board.c文件內容講解 156
10.6.2 board.c文件修改 160
10.7 添加core_delay.c和core_delay.h文件 167
10.8 修改main.c 171
10.9 下載驗證 172
第11章 線程 173
11.1 硬件初始化 173
11.2 創建單線程——SRAM靜態內存 175
11.2.1 定義線程函數 175
11.2.2 定義線程棧 176
11.2.3 定義線程控制塊 176
11.2.4 初始化線程 176
11.2.5 啟動線程 177
11.2.6 main.c文件內容 177
11.3 下載驗證SRAM靜態內存單線程 179
11.4 創建單線程——SRAM動態內存 179
11.4.1 動態內存空間堆的來源
前言
引言
**部分 從0到1教你寫RTThread內核
第1章 新建RTThread工程——軟件仿真 2
1.1 新建本地工程文件夾 2
1.2 使用KEIL新建工程 3
1.2.1 New Project 3
1.2.2 Select Device for Target 3
1.2.3 Manage RunTime Environment 4
1.3 在KEIL工程中新建文件組 5
1.4 在KEIL工程中添加文件 6
1.5 調試配置 7
1.5.1 設置軟件仿真 7
1.5.2 修改時鐘大小 8
1.5.3 添加頭文件路徑 9
第2章 裸機系統與多線程系統 10
2.1 裸機系統 10
2.1.1 輪詢系統 10
2.1.2 前后臺系統 11
2.2 多線程系統 12
第3章 線程的定義與線程切換的實現 15
3.1 什么是線程 16
3.2 創建線程 17
3.2.1 定義線程棧 17
3.2.2 定義線程函數 19
3.2.3 定義線程控制塊 20
3.2.4 實現線程創建函數 20
3.3 實現就緒列表 30
3.3.1 定義就緒列表 30
3.3.2 將線程插入就緒列表 30
3.4 實現調度器 31
3.4.1 調度器初始化 32
3.4.2 啟動調度器 33
3.4.3 **次線程切換 34
3.4.4 系統調度 41
3.5 main()函數 44
3.6 實驗現象 47
第4章 臨界段的保護 50
4.1 什么是臨界段 50
4.2 CortexM內核快速關中斷指令 50
4.3 關中斷 51
4.4 開中斷 51
4.5 臨界段代碼的應用 52
4.6 實驗現象 56
第5章 對象容器 57
5.1 什么是對象 57
5.1.1 對象枚舉的定義 57
5.1.2 對象數據類型的定義 57
5.1.3 在線程控制塊中添加對象成員 58
5.2 什么是容器 59
5.3 容器的接口實現 63
5.3.1 獲取指定類型的對象信息 64
5.3.2 對象初始化 64
5.3.3 調用對象初始化函數 67
5.4 實驗現象 67
第6章 空閑線程與阻塞延時 68
6.1 實現空閑線程 68
6.1.1 定義空閑線程的棧 68
6.1.2 定義空閑線程的線程控制塊 69
6.1.3 定義空閑線程函數 69
6.1.4 空閑線程初始化 69
6.2 實現阻塞延時 70
6.3 SysTick_Handler()中斷服務函數 73
6.4 main()函數 77
6.5 實驗現象 80
第7章 多優先級 82
7.1 就緒列表 82
7.1.1 線程就緒優先級組 82
7.1.2 線程優先級表 86
7.2 修改代碼以支持多優先級 88
7.2.1 修改線程控制塊 88
7.2.2 修改調度器初始化函數rt_system_scheduler_init() 90
7.2.3 修改線程初始化函數rt_thread_init() 91
7.2.4 添加線程啟動函數rt_thread_startup() 92
7.2.5 修改空閑線程初始化函數rt_thread_idle_init() 93
7.2.6 修改啟動系統調度器函數rt_system_scheduler_start() 94
7.2.7 修改系統調度函數rt_schedule() 95
7.2.8 修改阻塞延時函數rt_thread_delay() 98
7.2.9 修改時基更新函數rt_tick_increase() 98
7.3 main()函數 99
7.4 實驗現象 102
第8章 定時器 103
8.1 實現定時器 103
8.1.1 系統定時器列表 103
8.1.2 系統定時器列表初始化 104
8.1.3 定義定時器結構體 104
8.1.4 在線程控制塊中內置定時器 105
8.1.5 定時器初始化函數 106
8.1.6 定時器刪除函數 108
8.1.7 定時器停止函數 108
8.1.8 定時器控制函數 109
8.1.9 定時器啟動函數 110
8.1.10 定時器掃描函數 115
8.2 修改代碼以支持定時器 118
8.2.1 修改線程初始化函數 118
8.2.2 修改線程延時函數 119
8.2.3 修改系統時基更新函數 121
8.2.4 修改main.c文件 122
8.3 實驗現象 126
第9章 時間片 127
9.1 實現時間片 127
9.1.1 在線程控制塊中添加時間片相關成員 127
9.1.2 修改線程初始化函數 128
9.1.3 修改空閑線程初始化函數 129
9.1.4 修改系統時基更新函數 129
9.2 修改main.c文件 131
9.3 實驗現象 135
第二部分 RTThread 內核應用開發
第10章 移植RTThread到STM32 138
10.1 獲取STM32的裸機工程模板 138
10.2 下載RTThread Nano源碼 138
10.3 安裝RTThread Package 139
10.4 向裸機工程中添加RTThread源碼 140
10.4.1 復制RTThread Package到裸機工程根目錄 140
10.4.2 復制rtconfig.h文件到User文件夾 141
10.4.3 復制board.c文件到User文件夾 141
10.4.4 rtthread文件夾內容簡介 141
10.4.5 添加RTThread源碼到工程組文件夾 143
10.5 rtconfig.h文件 145
10.5.1 rtconfig.h文件內容講解 145
10.5.2 rtconfig.h文件修改 152
10.6 board.c文件 156
10.6.1 board.c文件內容講解 156
10.6.2 board.c文件修改 160
10.7 添加core_delay.c和core_delay.h文件 167
10.8 修改main.c 171
10.9 下載驗證 172
第11章 線程 173
11.1 硬件初始化 173
11.2 創建單線程——SRAM靜態內存 175
11.2.1 定義線程函數 175
11.2.2 定義線程棧 176
11.2.3 定義線程控制塊 176
11.2.4 初始化線程 176
11.2.5 啟動線程 177
11.2.6 main.c文件內容 177
11.3 下載驗證SRAM靜態內存單線程 179
11.4 創建單線程——SRAM動態內存 179
11.4.1 動態內存空間堆的來源
展開全部
書友推薦
- >
中國歷史的瞬間
- >
二體千字文
- >
小考拉的故事-套裝共3冊
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
伯納黛特,你要去哪(2021新版)
- >
我與地壇
- >
龍榆生:詞曲概論/大家小書
- >
大紅狗在馬戲團-大紅狗克里弗-助人
本類暢銷