![](http://img.alicdn.com/imgextra/i3/2455124912/O1CN01SK8zc91m9jyFnIFeT_!!0-item_pic.jpg)
ISBN編號:9787111613664 書名:RT-Thread內核實現與應用開發實戰指南——基於STM32 RT-Thread內核實現與應用開發實戰指南——基於STM32 作者:無 代碼:99 開本:16開 是否是套裝:否 出版社名稱:機械工業出版社
" RT-Thread內核實現與應用開發實戰指南——基於STM3 作 者: 劉火良,楊森 著 定 價: 99 出?版?社: 機械工業出版社 出版日期: 2019年01月01日 頁 數: 401 裝 幀: 平裝 ISBN: 9787111613664 ●推薦序 前言 引言 部分從0到1教你寫RTThread內核 章新建RTThread工程——軟件仿真 2 1.1新建本地工程文件夾 2 1.2使用KEIL新建工程 3 1.2.1New Project 3 1.2.2Select Device for Target 3 1.2.3Manage 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.5main()函數 44 3.6實驗現像 47 第4章臨界段的保護 50 4.1什麼是臨界段 50 4.2CortexM內核快速關中斷指令 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.3SysTick_Handler()中斷服務函數 73 6.4main()函數 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.3main()函數 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 內核應用開發 0章移植RTThread到STM32 138 10.1獲取STM32的裸機工程模板 138 10.2RTThread 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.4rtthread文件夾內容簡介 141 10.4.5添加RTThread源碼到工程組文件夾 143 10.5rtconfig.h文件 145 10.5.1rtconfig.h文件內容講解 145 10.5.2rtconfig.h文件修改 152 10.6board.c文件 156 10.6.1board.c文件內容講解 156 10.6.2board.c文件修改 160 10.7添加core_delay.c和core_delay.h文件 167 10.8修改main.c 171 10.9驗證 172 1章線程 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.6main.c文件內容 177 11.3驗證SRAM靜態內存單線程 179 11.4創建單線程——SRAM動態內存 179 11.4.1動態內存空間堆的來源 …… 內容簡介 本書基於野火STM32全繫列開發板介紹RT-Thread內核實現與應用開發,全書分為兩部分:靠前部分教你如何從0到1把RT-Thread內核寫出來,從底層的彙編開始講解線程如何定義、如何切換,還講解了阻塞延時如何實現、如何支持多優先級、如何實現定時器以及時間片等RT-Thread的核心知識點;第二部分則講解RT-Thread內核組件的應用以及如何使用RT-Thread進行多線程編程。本書內容翔實,案例豐富,配有大量示例代碼,適合作為嵌入式領域科技工作者的參考書,也適合相關專業學生學習參考。 劉火良,楊森 著 劉火良,野火STM32開發板創始人,嵌入式軟件工程師,長期從事STM32軟硬件開發,網絡教程《零死角玩轉STM32》作者,著有《STM32庫開發實戰指南》。 "![](http://img.alicdn.com/imgextra/i3/2455124912/O1CN01SK8zc91m9jyFnIFeT_!!0-item_pic.jpg)
|