嵌入式系統多任務處理應用開發實戰:基於 ARM MCU 和 FreeRTOS 內核 ARM-Based Microcontroller Multitasking Projects: Using the FreeRTOS Multitasking Kernel

Dogan Ibrahim 譯 胡訓強//楊鵬

買這商品的人也買了...

商品描述

本書講述瞭如何利用FreeRTOS多任務處理內核讓ARM Cortex微控制器進行多任務處理。
本書還詳細講解了多任務處理操作系統的各項特性,例如:調度、優先級、郵箱、事件標誌和信號量等。
本書的重要特色之一是使用非常流行的Clicker 2 for STM32開發板(你可以很輕鬆地換用其他型號的開發板)
和FreeRTOS進行實時項目實戰。
這些項目包括:LED以不同頻率閃爍、7段數碼管的刷新顯示、用不同任務控制各種傳感器的移動機器人、
獨立控制的多個伺服電機、多任務處理的物聯網項目、具有獨立鍵盤輸入的溫度控制器、
具有三項任務(激活、發生器和顯示)的隨機數發生器、家用報警系統以及泊車管理系統等等。

作者簡介

Dogan Ibrahim
畢業於英國索爾福德大學並獲得電子工程一等榮譽學士學位。
他在曼徹斯特大學完成了自動控制工程碩士課程,在倫敦城市大學獲得了數字信號處理專業博士學位。
易卜拉欣教授在回歸學術界之前曾在多家公司任職,獲得了豐富的行業經驗。
他目前是英國工程技術學會研究員和特許電氣工程師。
他的研究興趣是基於微控制器的自動控制、數字信號處理和計算機輔助設計。
他曾任倫敦南岸大學講師、GEC赫斯特研究中心首席研究工程師。
他編寫了70多部微控制器和電子工程領域的技術書籍。
他目前是一名系統顧問,為倫敦多家公司提供諮詢服務。

目錄大綱

譯者序
前言
致謝
第1章微型計算機系統/ 1
1.1 概述/ 1
1.2 微控制器系統/ 1
1.2.1 RAM / 4
1.2.2 ROM / 5
1.2.3 PROM / 5
1.2.4 EPROM / 5
1.2.5 EEPROM / 5
1.2.6 flash EEPROM / 5
1.3 微控制器的特點/ 6
1.3.1 供電電壓/ 6
1.3.2 時鐘/ 6
1.3.3 定時器/ 6
1.3.4 看門狗/ 6
1.3.5 復位輸入/ 7
1.3.6 中斷/ 7
1.3.7 欠電壓檢測器/ 7
1.3.8 模數轉換器/ 7
1.3.9 串行輸入/輸出/ 7
1.3.10 SPI和I2C / 8
1.3.11 LCD驅動器/ 8
1.3.12 模擬比較器/ 8
1.3.13 實時時鐘/ 8
1.3.14 睡眠模式/ 8
1.3.15 上電複位/ 8
1.3.16 低功率運行/ 9
1.3.17 灌電流/拉電流能力/ 9
1.3.18 USB接口/ 9
1.3.19 CAN接口/ 9
1.3.20 以太網接口/ 9
1.3.21 Wi-Fi和藍牙接口/ 9
1.4 微控制器架構/ 9
1.5 小結/ 10
拓展閱讀/ 10
第2章ARM微控制器架構/ 11
2.1 概述/ 11
2.2 ARM微控制器/ 11
2.2.1 Cortex-M / 13
2.2.2 Cortex-R / 14
2.2.3 Cortex-A / 14
2.2.4 Cortex-M處理器對比/ 14
2.2.5 Cortex-M 兼容性/ 15
2.2.6 處理器性能測量/ 15
2.3 STM32F407VGT6微控制器/ 16
2.3.1 STM32F407VGT6的基本特點/ 16
2.3.2 內部模塊示意圖/ 18
2.3.3 供電/ 20
2.3.4 低功耗模式/ 20
2.3.5 時鐘電路/ 20
2.4 通用輸入和輸出/ 24
2.5 嵌套向量中斷控制器/ 26
2.6 外部中斷控制器/ 26
2.7 定時器/ 26
2.8 模數轉換器/ 26
2.9 內置溫度傳感器/ 27
2.10 數模轉換器/ 27
2.11 復位/ 27
2.12 電特性/ 27
2.13 小結/ 28
拓展閱讀/ 28
第3章ARM Cortex微控制器開發板/ 29
3.1 概述/ 29
3.2 LPC1768 / 29
3.3 STM32 Nucleo系列/ 29
3.4 EasyMx PRO v7 for STM32 / 30
3.5 STM32F4DISCOVERY板/ 31
3.6 mbed應用板/ 31
3.7 EasyMx PRO v7 for Tiva / 32
3.8 MINI-M4 for STM32 / 33
3.9 Clicker 2 for MSP432 / 34
3.10 Tiva EK-TM4C123GXL
   LaunchPad / 34
3.11 Fusion for ARM V8 / 35
3.12 Clicker 2 for STM32 / 35
3.13 小結/ 36
拓展閱讀/ 36
第4章Clicker 2 for STM32開發板/ 37
4.1 概述/ 37
4.2 Clicker 2 for STM32硬件/ 37
4.2.1 板載LED / 38
4.2.2 板載按鍵開關/ 38
4.2.3 復位開關/ 38
4.2.4 供電/ 39
4.2.5 板載mikroBUS插座/ 39
4.2.6 輸入/輸出引腳/ 40
4.2.7 振盪器/ 41
4.2.8 板載微控制器編程/ 41
4.3 小結/ 42
拓展閱讀/ 42
第5章ARM微控制器編程/ 43
5.1 概述/ 43
5.2 支持ARM微控制器的集成開發
環境/ 43
5.2.1 EWARM / 43
5.2.2 ARM Mbed / 44
5.2.3 MDK-ARM / 44
5.2.4 TrueStudio for STM32 / 45
5.2.5 System Workbench for
   STM32 / 45
5.2.6 mikroC Pro for ARM / 45
5.3 小結/ 46
拓展閱讀/ 46
第6章使用mikroC Pro for ARM編程/ 47
6.1 概述/ 47
6.2 mikroC Pro for ARM / 47
6.3 通用輸入/輸出庫/ 49
6.3.1 GPIO_Clk_Enable / 49
6.3.2 GPIO_Clk_Disable / 50
6.3.3 GPIO_Config / 50
6.3.4 GPIO_Set_Pin_Mode / 52
6.3.5 GPIO_Digital_Input / 53
6.3.6 GPIO_Digital_Output / 53
6.3.7 GPIO_Analog_Input / 53
6.3.8 GPIO_Alternate_Function_
   Enable / 54
6.4 存儲器類型說明符/ 54
6.5 PORT輸入/輸出/ 54
6.6 按位訪問/ 55
6.7 bit數據類型/ 55
6.8 中斷和異常/ 55
6.8.1 異常/ 55
6.8.2 中斷服務程序/ 56
6.9 創建新項目/ 57
6.10 仿真/ 64
6.11 調試/ 66
6.12 其他mikroC IDE工具/ 67
6.12.1 ASCII表/ 67
6.12.2 GLCD位圖編輯器/ 68
6.12.3 HID終端/ 68
6.12.4 中斷助手/ 69
6.12.5 LCD定製字符/ 69
6.12.6 7段編輯器/ 69
6.12.7 UDP終端/ 69
6.12.8 USART終端/ 70
6.12.9 USB HID bootloader / 71
6.12.10 統計/ 71
6.12.11 庫管理器/ 72
6.12.12 編譯列表/ 73
6.12.13 輸出文件/ 73
6.12.14 選項窗口/ 73
6.13 小結 
……
第7章多任務處理簡介
第8章FreeRTOS簡介
第9章使用FreeRTOS函數
第10章隊列管理
第11章信號量和互斥量
第12章事件組
第13章軟件定時器
第14章一些示例項目
第15章空閒任務和空閒任務鉤子
第16章任務通知
第17章臨界區
第18章基於Cortex-M4的微控制器中的中斷
第19章在中斷服務程序中調用Free-RTOS API函數
第20章停車場管理系統
第21章不同城市的時間
第22章移動機器人項目:Buggy
附錄
縮略語