注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)硬件、外部設(shè)備與維護(hù)FreeRTOS內(nèi)核實(shí)現(xiàn)與應(yīng)用開發(fā)實(shí)戰(zhàn)指南:基于STM32

FreeRTOS內(nèi)核實(shí)現(xiàn)與應(yīng)用開發(fā)實(shí)戰(zhàn)指南:基于STM32

FreeRTOS內(nèi)核實(shí)現(xiàn)與應(yīng)用開發(fā)實(shí)戰(zhàn)指南:基于STM32

定 價(jià):¥99.00

作 者: 劉火良,楊森 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 電子與嵌入式系統(tǒng)設(shè)計(jì)叢書
標(biāo) 簽: 暫缺

ISBN: 9787111618256 出版時(shí)間: 2019-03-01 包裝: 平裝
開本: 16開 頁數(shù): 496 字?jǐn)?shù):  

內(nèi)容簡介

  本書基于野火STM32全系列開發(fā)板介紹FreeRTOS內(nèi)核實(shí)現(xiàn)與應(yīng)用開發(fā),全書分為兩部分:部分教你如何從0到1把FreeRTOS內(nèi)核寫出來,從底層的匯編開始,講解任務(wù)如何定義、如何切換,還講解了阻塞延時(shí)如何實(shí)現(xiàn),如何支持多優(yōu)先級,如何實(shí)現(xiàn)定時(shí)器以及時(shí)間片等FreeRTOS的核心知識點(diǎn);第二部分則開始講解FreeRTOS內(nèi)核組件的應(yīng)用以及如何使用FreeRTOS進(jìn)行多任務(wù)編程。 本書內(nèi)容翔實(shí),案例豐富,配有大量示例代碼,適合作為嵌入式領(lǐng)域工程師和愛好者的技術(shù)參考書,也適合相關(guān)專業(yè)的學(xué)生學(xué)習(xí)參考。

作者簡介

暫缺《FreeRTOS內(nèi)核實(shí)現(xiàn)與應(yīng)用開發(fā)實(shí)戰(zhàn)指南:基于STM32》作者簡介

圖書目錄

前 言
引 言
第一部分 從0到1教你寫FreeRTOS內(nèi)核
第1章 初識FreeRTOS 2
1.1 FreeRTOS版權(quán) 2
1.2 FreeRTOS收費(fèi)問題 2
1.2.1 FreeRTOS 2
1.2.2 OpenRTOS 2
1.2.3 SaveRTOS 3
1.3 FreeRTOS資料獲取 3
1.3.1 獲取源碼 3
1.3.2 獲取書籍 4
1.3.3 快速入門 4
1.4 FreeRTOS的編程風(fēng)格 5
1.4.1 數(shù)據(jù)類型 5
1.4.2 變量名 6
1.4.3 函數(shù)名 6
1.4.4 宏 7
1.4.5 格式 7
第2章 新建FreeRTOS工程—軟件仿真 8
2.1 新建本地工程文件夾 8
2.2 使用KEIL新建工程 8
2.2.1 New Project 9
2.2.2 Select Device for Target 9
2.2.3 Manage Run-Time Environment 10
2.3 在KEIL工程中新建文件組 11
2.4 在KEIL工程中添加文件 11
2.5 調(diào)試配置 13
2.5.1 設(shè)置軟件仿真 13
2.5.2 修改時(shí)鐘大小 13
2.5.3 添加頭文件路徑 13
第3章 裸機(jī)系統(tǒng)與多任務(wù)系統(tǒng) 15
3.1 裸機(jī)系統(tǒng) 15
3.1.1 輪詢系統(tǒng) 15
3.1.2 前后臺(tái)系統(tǒng) 16
3.2 多任務(wù)系統(tǒng) 17
第4章 數(shù)據(jù)結(jié)構(gòu)—列表與列表項(xiàng) 20
4.1 C語言鏈表 20
4.1.1 單向鏈表 20
4.1.2 雙向鏈表 22
4.1.3 鏈表與數(shù)組的對比 22
4.2 FreeRTOS中鏈表的實(shí)現(xiàn) 23
4.2.1 實(shí)現(xiàn)鏈表節(jié)點(diǎn) 23
4.2.2 實(shí)現(xiàn)鏈表根節(jié)點(diǎn) 25
4.3 鏈表節(jié)點(diǎn)插入實(shí)驗(yàn) 31
4.4 實(shí)驗(yàn)現(xiàn)象 34
第5章 任務(wù)的定義與任務(wù)切換 35
5.1 本章目標(biāo) 35
5.2 什么是任務(wù) 36
5.3 創(chuàng)建任務(wù) 37
5.3.1 定義任務(wù)棧 37
5.3.2 定義任務(wù)函數(shù) 38
5.3.3 定義任務(wù)控制塊 39
5.3.4 實(shí)現(xiàn)任務(wù)創(chuàng)建函數(shù) 40
5.4 實(shí)現(xiàn)就緒列表 45
5.4.1 定義就緒列表 45
5.4.2 就緒列表初始化 45
5.4.3 將任務(wù)插入就緒列表 46
5.5 實(shí)現(xiàn)調(diào)度器 49
5.5.1 啟動(dòng)調(diào)度器 49
5.5.2 任務(wù)切換 54
5.6 main()函數(shù) 58
5.7 實(shí)驗(yàn)現(xiàn)象 61
5.8 本章涉及的匯編指令 64
第6章 臨界段的保護(hù) 65
6.1 什么是臨界段 65
6.2 Cortex-M內(nèi)核快速關(guān)中斷指令 65
6.3 關(guān)中斷 66
6.3.1 不帶返回值的關(guān)中斷函數(shù) 66
6.3.2 帶返回值的關(guān)中斷函數(shù) 67
6.4 開中斷 67
6.5 進(jìn)入/退出臨界段的宏 68
6.5.1 進(jìn)入臨界段 68
6.5.2 退出臨界段 69
6.6 臨界段代碼的應(yīng)用 70
6.7 實(shí)驗(yàn)現(xiàn)象 71
第7章 空閑任務(wù)與阻塞延時(shí) 72
7.1 實(shí)現(xiàn)空閑任務(wù) 72
7.1.1 定義空閑任務(wù)的棧 72
7.1.2 定義空閑任務(wù)的任務(wù)控制塊 73
7.1.3 創(chuàng)建空閑任務(wù) 73
7.2 實(shí)現(xiàn)阻塞延時(shí) 74
7.2.1 vTaskDelay()函數(shù) 74
7.2.2 修改vTaskSwitchContext()函數(shù) 75
7.3 SysTick中斷服務(wù)函數(shù) 77
7.4 SysTick初始化函數(shù) 78
7.5 main()函數(shù) 80
7.6 實(shí)驗(yàn)現(xiàn)象 83
第8章 多優(yōu)先級 84
8.1 支持多優(yōu)先級的方法 84
8.2 查找最高優(yōu)先級的就緒任務(wù)相關(guān)代碼 85
8.2.1 通用方法 87
8.2.2 優(yōu)化方法 87
8.3 修改代碼以支持多優(yōu)先級 89
8.3.1 修改任務(wù)控制塊 89
8.3.2 修改xTaskCreateStatic()函數(shù) 89
8.3.3 修改vTaskStartScheduler()函數(shù) 93
8.3.4 修改vTaskDelay()函數(shù) 94
8.3.5 修改vTaskSwitchContext()函數(shù) 95
8.3.6 修改xTaskIncrementTick()函數(shù) 96
8.4 main()函數(shù) 97
8.5 實(shí)驗(yàn)現(xiàn)象 100
第9章 任務(wù)延時(shí)列表 102
9.1 任務(wù)延時(shí)列表的工作原理 102
9.2 實(shí)現(xiàn)任務(wù)延時(shí)列表 103
9.2.1 定義任務(wù)延時(shí)列表 103
9.2.2 任務(wù)延時(shí)列表初始化 103
9.2.3 定義xNextTaskUnblock-Time 103
9.2.4 初始化xNextTaskUnblock-Time 104
9.3 修改代碼以支持任務(wù)延時(shí)列表 104
9.3.1 修改vTaskDelay()函數(shù) 105
9.3.2 修改xTaskIncrementTick()函數(shù) 107
9.3.3 修改taskRESET_READY_PRIORITY()函數(shù) 109
9.4 main()函數(shù) 110
9.5 實(shí)驗(yàn)現(xiàn)象 110
第10章 時(shí)間片 111
10.1 時(shí)間片測試實(shí)驗(yàn) 111
10.2 main.c文件 112
10.3 實(shí)驗(yàn)現(xiàn)象 115
10.4 原理分析 116
10.4.1 taskSELECT_HIGHEST_PRIORITY_TASK()函數(shù) 116
10.4.2 taskRESET_READY_PRIORITY()函數(shù) 117
10.5 修改代碼以支持優(yōu)先級 118
10.5.1 修改xPortSysTick-Handler()函數(shù) 118
10.5.2 修改xTaskIncrement-Tick()函數(shù) 119
第二部分 FreeRTOS內(nèi)核應(yīng)用開發(fā)
第11章 移植FreeRTOS到STM32 124
11.1 獲取STM32的裸機(jī)工程模板 124
11.2 下載FreeRTOS V9.0.0源碼 124
11.3 FreeRTOS文件夾內(nèi)容 126
11.3.1 FreeRTOS文件夾 126
11.3.2 FreeRTOS-Plus文件夾 128
11.3.3 HTML文件 129
11.4 向裸機(jī)工程中添加FreeRTOS源碼 129
11.4.1 提取FreeRTOS最簡源碼 129
11.4.2 復(fù)制FreeRTOS到裸機(jī)工程根目錄 130
11.4.3 復(fù)制FreeRTOSConf?ig.h文件到User文件夾 131
11.4.4 添加FreeRTOS源碼到工程組文件夾 131
11.5 修改FreeRTOSConf?ig.h文件 133
11.5.1 FreeRTOSConf?ig.h文件內(nèi)容 133
11.5.2 修改FreeRTOSConfig.h文件 143
11.6 修改stm32f10x_it.c文件 147
11.7 修改main.c文件 151
11.8 下載驗(yàn)證 152
第12章 任務(wù) 153
12.1 硬件初始化

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號