本書以ARM公司免費(fèi)開放的CortexM0 DesignStart處理器 IP核為基礎(chǔ),以CortexM0處理器架構(gòu)、AMBA規(guī)范、外設(shè)、匯編語(yǔ)言、C語(yǔ)言、CMSIS、驅(qū)動(dòng)程序開發(fā)以及RTX操作系統(tǒng)為主線,詳細(xì)介紹了通過Xilinx Vivado以及Keil Vision5集成開發(fā)環(huán)境構(gòu)建CortexM0全可編程嵌入式系統(tǒng)的硬件和軟件設(shè)計(jì)方法。
全書共分18章,主要內(nèi)容包括: 全可編程SoC設(shè)計(jì)導(dǎo)論、CortexM0 CPU結(jié)構(gòu)、CortexM0指令集、CortexM0低功耗特性、AHBLite總線結(jié)構(gòu)分析、CortexM0匯編語(yǔ)言編程基礎(chǔ)、CortexM0 DesignStart架構(gòu)、Xilinx Artix7 FPGA結(jié)構(gòu)、CortexM0嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)、7段數(shù)碼管控制器設(shè)計(jì)與實(shí)現(xiàn)、中斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)、定時(shí)器設(shè)計(jì)與實(shí)現(xiàn)、UART串口控制器設(shè)計(jì)與實(shí)現(xiàn)、VGA控制器設(shè)計(jì)與實(shí)現(xiàn)、DDR3存儲(chǔ)器系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)、CortexM0 C語(yǔ)言編程基礎(chǔ)、CMSIS和驅(qū)動(dòng)程序開發(fā)、RTX操作系統(tǒng)原理及應(yīng)用。
本書可作為講授ARM CortexM0嵌入式系統(tǒng)課程以及CortexM0可編程SoC系統(tǒng)設(shè)計(jì)課程的教學(xué)參考用書,也可作為學(xué)習(xí)Xilinx Vivado集成開發(fā)環(huán)境和Verilog HDL語(yǔ)言的參考用書。
1. 知識(shí)融合 將ARM公司開源的Cortex-M0 IP用于典型嵌入式系統(tǒng)設(shè)計(jì),內(nèi)容涵蓋了處理器架構(gòu)、指令集、匯編語(yǔ)言、協(xié)議、接口、C語(yǔ)言、操作系統(tǒng)等方面的知識(shí)。2. 深入分析 在本書中,通過Xilinx 7系列現(xiàn)場(chǎng)可編程門陣列(FPGA)實(shí)現(xiàn)Cortex-M0嵌入式系統(tǒng)硬件設(shè)計(jì);通過Keil Vision5集成開發(fā)環(huán)境,實(shí)現(xiàn)軟件程序設(shè)計(jì)。此外,通過軟件和硬件開發(fā)工具提供的仿真、調(diào)試和跟蹤功能,深度分析了處理器內(nèi)部架構(gòu)、處理器與存儲(chǔ)器和外設(shè)之間的通信機(jī)制,以及軟件和硬件協(xié)同設(shè)計(jì)方法。3. 知識(shí)權(quán)威 在編寫本書的過程中,ARM公司課程開發(fā)團(tuán)隊(duì)提供了大量的教學(xué)參考資料,包括設(shè)計(jì)案例、教學(xué)課件以及技術(shù)文檔等。使得本書能從硬件和軟件兩個(gè)方面準(zhǔn)確反映Cortex-M0嵌入式系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。4. 實(shí)例豐富 提供了Cortex-M0典型應(yīng)用的設(shè)計(jì)案例、設(shè)計(jì)代碼和參考資料,便于讀者自學(xué),快速動(dòng)手實(shí)踐。
何賓:著名的嵌入式技術(shù)和EDA技術(shù)專家,長(zhǎng)期從事電子設(shè)計(jì)自動(dòng)化方面的教學(xué)和科研工作,與全球多家知名的半導(dǎo)體廠商和EDA工具廠商大學(xué)計(jì)劃保持緊密合作。目前已經(jīng)出版嵌入式和EDA方面的著作30余部,內(nèi)容涵蓋電路仿真、電路設(shè)計(jì)、可編程邏輯器件、數(shù)字信號(hào)處理、單片機(jī)、嵌入式系統(tǒng)、片上可編程系統(tǒng)等。典型的代表作有《Xilinx FPGA設(shè)計(jì)權(quán)威指南》《Xilinx FPGA數(shù)字設(shè)計(jì)從門級(jí)到行為級(jí)的雙重描述》《Xilinx FPGA數(shù)字信號(hào)處理權(quán)威指南從HDL、模型到C的描述》《Xilinx All Programmable Zynq-7000 嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》《模擬與數(shù)字系統(tǒng)協(xié)同設(shè)計(jì)權(quán)威指南Cypress集成開發(fā)環(huán)境》《STC單片機(jī)原理及應(yīng)用》《STC單片機(jī)C語(yǔ)言程序設(shè)計(jì)》《Altium Designer 13.0電路設(shè)計(jì)、仿真與驗(yàn)證權(quán)威指南》《Altium Designer 15.0電路仿真、設(shè)計(jì)、驗(yàn)證與工藝實(shí)現(xiàn)權(quán)威指南》。
目錄
第1章全可編程SoC設(shè)計(jì)導(dǎo)論
1.1SoC基礎(chǔ)知識(shí)
1.1.1SoC的概念
1.1.2SoC與MCU及CPU的比較
1.1.3典型的商用SoC器件
1.2SoC設(shè)計(jì)流程
1.3SoC體系架構(gòu)
1.4全可編程SoC技術(shù)
1.4.1基于軟核的全可編程SoC
1.4.2基于硬核的全可編程SoC
1.5全可編程SoC設(shè)計(jì)流程
第2章CortexM0 CPU結(jié)構(gòu)
2.1ARM處理器類型
2.2CortexM系列處理器概述
2.2.1CortexM系列處理器的特點(diǎn)
2.2.2CortexM系列處理器的性能參數(shù)
2.3CortexM0處理器性能和結(jié)構(gòu)
2.3.1CortexM0處理器的性能
2.3.2CortexM0處理器的結(jié)構(gòu)
2.4CortexM0處理器寄存器組
2.4.1通用寄存器
2.4.2堆棧指針
2.4.3程序計(jì)數(shù)器
2.4.4鏈接寄存器
2.4.5組合程序狀態(tài)寄存器
2.4.6中斷屏蔽特殊寄存器
2.4.7特殊寄存器
2.5CortexM0存儲(chǔ)器空間映射
2.6CortexM0程序鏡像原理及生成方法
2.7CortexM0的端及分配
2.8CortexM0處理器異常及處理
2.8.1異常原理
2.8.2異常優(yōu)先級(jí)
2.8.3向量表
2.8.4異常類型
第3章CortexM0指令集
3.1Thumb指令集
3.2CortexM0匯編語(yǔ)言格式
3.3寄存器訪問指令: MOVE
3.4存儲(chǔ)器訪問指令: LOAD
3.5存儲(chǔ)器訪問指令: STORE
3.6多數(shù)據(jù)訪問指令: LDM和STM
3.7堆棧訪問指令: PUSH和POP
3.8算術(shù)運(yùn)算指令
3.8.1加法指令
3.8.2減法指令
3.8.3乘法指令
3.8.4比較指令
3.9邏輯操作指令
3.10移位操作指令
3.10.1右移指令
3.10.2左移指令
3.11反序操作指令
3.12擴(kuò)展操作指令
3.13程序流控制指令
3.14存儲(chǔ)器屏蔽指令
3.15異常相關(guān)指令
3.16休眠相關(guān)指令
3.17其他指令
3.18數(shù)據(jù)插入和對(duì)齊操作
第4章CortexM0低功耗特性
4.1低功耗要求
4.2CortexM0低功耗特性及優(yōu)勢(shì)
4.2.1CortexM0低功耗特性
4.2.2CortexM0低功耗結(jié)構(gòu)
4.3CortexM0休眠模式
4.4喚醒中斷控制器
4.5降低功耗的其他方法
第5章AHBLite總線結(jié)構(gòu)分析
5.1總線及分類
5.1.1總線的概念
5.1.2總線分類
5.2ARM AMBA系統(tǒng)總線
5.3AMBA3 AHBLite總線
5.3.1AHBLite概述
5.3.2AHBLite總線操作
5.4AHBLite總線結(jié)構(gòu)
5.4.1全局信號(hào)
5.4.2AHBLite主設(shè)備接口
5.4.3AHBLite從設(shè)備接口
5.4.4地址譯碼器和多路復(fù)用器
5.5AHBLite總線時(shí)序
5.5.1無(wú)等待基本讀傳輸
5.5.2有等待基本讀傳輸
5.5.3無(wú)等待基本寫傳輸
5.5.4有等待基本寫傳輸
5.6硬件實(shí)現(xiàn)
第6章CortexM0匯編語(yǔ)言編程基礎(chǔ)
6.1Keil MDK開發(fā)套件
6.1.1下載MDK開發(fā)套件
6.1.2安裝MDK開發(fā)套件
6.1.3MDK程序處理流程
6.2CortexM0匯編語(yǔ)言程序設(shè)計(jì)
6.2.1建立新設(shè)計(jì)工程
6.2.2工程參數(shù)設(shè)置
6.2.3添加匯編文件
6.2.4匯編語(yǔ)言語(yǔ)法
6.3.lst文件分析
6.4.map文件分析
6.5.hex文件分析
6.6軟件仿真和調(diào)試
6.6.1查看CortexM0寄存器內(nèi)容
6.6.2查看CortexM0存儲(chǔ)器內(nèi)容
6.6.3查看監(jiān)視窗口的內(nèi)容
6.7匯編語(yǔ)言其他常用語(yǔ)法介紹
6.7.1標(biāo)識(shí)符的命名規(guī)則
6.7.2變量
6.7.3常數(shù)
6.7.4EQU命令
6.7.5IMPORT/EXTERN命令
6.7.6子程序調(diào)用
6.7.7宏定義和使用
第7章CortexM0 DesignStart架構(gòu)
7.1獲取CortexM0
DesignStart
7.2CortexM0 DesignStart頂層符號(hào)
7.2.1中斷
7.2.2狀態(tài)輸出
7.2.3事件信號(hào)
7.3AHBLite接口
7.4將CortexM0
DesignStart集成到系統(tǒng)的方法
第8章XILINX Artix7 FPGA結(jié)構(gòu)
8.1Artix7器件邏輯資源
8.2可配置邏輯塊
8.2.1可配置邏輯塊概述
8.2.2查找表
8.2.3多路復(fù)用器
8.2.4進(jìn)位邏輯
8.2.5存儲(chǔ)元素
8.2.6分布式RAM(只有SLICEM)
8.2.7只讀存儲(chǔ)器(ROM)
8.2.8移位寄存器(只有SLICEM)
8.3時(shí)鐘資源和時(shí)鐘管理單元
8.3.17系列FPGA時(shí)鐘資源
8.3.27系列內(nèi)部時(shí)鐘結(jié)構(gòu)
8.3.37系列FPGA時(shí)鐘管理模塊
8.4塊存儲(chǔ)器資源
8.5專用的DSP模塊
8.6輸入/輸出塊
8.6.1I/O特性概述
8.6.2Artix7中的I/O列和類型
8.6.3I/O電氣資源
8.6.4I/O邏輯資源
8.7XADC模塊
8.8吉比特收發(fā)器
8.9PCIE模塊
8.10配置模塊
8.11互連資源
第9章CortexM0嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
9.1設(shè)計(jì)目標(biāo)
9.2CortexM0 SoC系統(tǒng)的構(gòu)建
9.2.1啟動(dòng)Vivado 2016集成開發(fā)環(huán)境
9.2.2創(chuàng)建新的設(shè)計(jì)工程
9.2.3添加CortexM0處理器源文件
9.2.4添加系統(tǒng)主時(shí)鐘IP核
9.3設(shè)計(jì)文件修改和分析
9.3.1AHB總線地址譯碼器
9.3.2AHB總線從設(shè)備多路復(fù)用器
9.3.3AHB片上存儲(chǔ)器外設(shè)
9.3.4AHB LED外設(shè)
9.3.5AHBLITE_SYS頂層文件
9.4程序代碼的編寫
9.4.1建立新設(shè)計(jì)工程
9.4.2工程參數(shù)設(shè)置
9.4.3添加和編譯匯編文件
9.4.4分析HEX文件與匯編文件的關(guān)系
9.4.5添加HEX文件到當(dāng)前工程
9.5RTL詳細(xì)描述和分析
9.6仿真原理和行為級(jí)仿真
9.6.1仿真實(shí)現(xiàn)的不同功能
9.6.2Vivado所支持的仿真工具
9.6.3行為級(jí)仿真實(shí)現(xiàn)
9.6.4添加信號(hào)并仿真
9.6.5仿真結(jié)果分析
9.7設(shè)計(jì)綜合和分析
9.7.1綜合過程的關(guān)鍵問題
9.7.2設(shè)計(jì)綜合選項(xiàng)
9.7.3Vivado支持的屬性
9.7.4執(zhí)行設(shè)計(jì)綜合
9.7.5查看綜合報(bào)告
9.8創(chuàng)建實(shí)現(xiàn)約束
9.8.1實(shí)現(xiàn)約束的原理
9.8.2I/O規(guī)劃器功能
9.8.3引腳位置約束的實(shí)現(xiàn)
9.9設(shè)計(jì)實(shí)現(xiàn)和分析
9.9.1實(shí)現(xiàn)過程原理
9.9.2設(shè)計(jì)實(shí)現(xiàn)選項(xiàng)
9.9.3設(shè)計(jì)實(shí)現(xiàn)
9.9.4查看布局布線后的結(jié)果
9.9.5查看實(shí)現(xiàn)后的報(bào)告
9.9.6功耗分析
9.9.7靜態(tài)時(shí)序分析
9.10實(shí)現(xiàn)后時(shí)序仿真
9.11生成編程文件
9.12下載比特流文件到FPGA
9.13生成并下載外部存儲(chǔ)器文件
第10章7段數(shù)碼管控制器設(shè)計(jì)與實(shí)現(xiàn)
10.1設(shè)計(jì)目標(biāo)
10.2打開前面的設(shè)計(jì)工程
10.3添加并分析7段數(shù)碼管控制器源文件
10.3.1添加7段數(shù)碼管控制器源文件
10.3.2分析7段數(shù)碼管控制器源文件
10.4修改并分析頂層設(shè)計(jì)文件
10.5編寫程序代碼
10.5.1建立新設(shè)計(jì)工程
10.5.2工程參數(shù)設(shè)置
10.5.3添加和編譯匯編文件
10.5.4添加HEX文件到當(dāng)前工程
10.6設(shè)計(jì)綜合
10.7添加約束條件
10.8設(shè)計(jì)實(shí)現(xiàn)
10.9下載比特流文件
10.10系統(tǒng)在線調(diào)試原理
10.11系統(tǒng)在線調(diào)試實(shí)現(xiàn)
10.11.1建立新的調(diào)試工程
10.11.2添加調(diào)試網(wǎng)絡(luò)
10.11.3在線測(cè)試分析
第11章中斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
11.1設(shè)計(jì)目標(biāo)
11.2中斷控制器原理
11.2.1NVIC特點(diǎn)
11.2.2NVIC映射
11.2.3NVIC寄存器
11.3進(jìn)入和退出異常句柄的過程
11.3.1進(jìn)入中斷句柄的過程
11.3.2退出中斷句柄的過程
11.4打開前面的設(shè)計(jì)工程
11.5添加并分析按鍵消抖模塊源文件
11.5.1添加按鍵消抖模塊源文件
11.5.2分析按鍵消抖模塊源文件
11.6修改并分析頂層設(shè)計(jì)文件
11.7編寫程序代碼
11.7.1建立新設(shè)計(jì)工程
11.7.2工程參數(shù)設(shè)置
11.7.3軟件初始化中斷
11.7.4添加和編譯匯編文件
11.7.5添加HEX文件到當(dāng)前工程
11.8設(shè)計(jì)綜合
11.9添加約束條件
11.10設(shè)計(jì)實(shí)現(xiàn)
11.11下載比特流文件
第12章定時(shí)器設(shè)計(jì)與實(shí)現(xiàn)
12.1設(shè)計(jì)目標(biāo)
12.2打開前面的設(shè)計(jì)工程
12.3添加并分析定時(shí)器模塊源文件
12.3.1定時(shí)器模塊設(shè)計(jì)原理
12.3.2添加定時(shí)器源文件
12.3.3分析定時(shí)器源文件
12.4修改并分析頂層設(shè)計(jì)文件
12.5編寫程序代碼
12.5.1建立新設(shè)計(jì)工程
12.5.2工程參數(shù)設(shè)置
12.5.3添加和編譯匯編文件
12.5.4添加HEX文件到當(dāng)前工程
12.6設(shè)計(jì)綜合
12.7設(shè)計(jì)實(shí)現(xiàn)
12.8下載比特流文件
第13章UART串口控制器設(shè)計(jì)與實(shí)現(xiàn)
13.1設(shè)計(jì)目標(biāo)
13.2串行通信基礎(chǔ)
13.2.1串行和并行通信之間的比較
13.2.2串行通信的類型
13.3通用異步收發(fā)數(shù)據(jù)格式和編碼
13.3.1數(shù)據(jù)格式
13.3.2字符編碼規(guī)則
13.4UART串口控制器的實(shí)現(xiàn)原理
13.4.1UART發(fā)送器
13.4.2UART接收器
13.4.3發(fā)送器/接收器FIFO
13.5打開前面的設(shè)計(jì)工程
13.6添加并分析UART模塊源文件
13.6.1添加UART模塊源文件
13.6.2分析UART模塊源文件
13.7修改并分析頂層設(shè)計(jì)文件
13.8編寫程序代碼
13.8.1建立新設(shè)計(jì)工程
13.8.2工程參數(shù)設(shè)置
13.8.3添加和編譯匯編文件
13.8.4添加HEX文件到當(dāng)前工程
13.9設(shè)計(jì)綜合
13.10添加約束條件
13.11設(shè)計(jì)實(shí)現(xiàn)
13.12下載比特流文件
第14章VGA控制器設(shè)計(jì)與實(shí)現(xiàn)
14.1設(shè)計(jì)目標(biāo)
14.2VGA工作原理
14.2.1VGA連接器
14.2.2CRT原理
14.2.3VGA接口信號(hào)
14.2.4VGA時(shí)序
14.3VGA顯示硬件實(shí)現(xiàn)原理
14.3.1VGA圖像緩沖區(qū)
14.3.2VGA控制臺(tái)
14.3.3VGA控制器存儲(chǔ)器空間
14.4打開前面的設(shè)計(jì)工程
14.5添加并分析VGA模塊源文件
14.5.1添加VGA模塊源文件
14.5.2分析VGA模塊源文件
14.6修改其他設(shè)計(jì)
14.6.1添加并分析頂層設(shè)計(jì)文件
14.6.2修改時(shí)鐘生成器輸出頻率
14.6.3修改波特率時(shí)鐘
14.7編寫程序代碼
14.7.1建立新設(shè)計(jì)工程
14.7.2工程參數(shù)設(shè)置
14.7.3添加和編譯匯編文件
14.7.4添加HEX文件到當(dāng)前工程
14.8設(shè)計(jì)綜合
14.9添加約束條件
14.10設(shè)計(jì)實(shí)現(xiàn)
14.11下載比特流文件
第15章DDR3存儲(chǔ)器系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
15.1計(jì)算機(jī)搭載的存儲(chǔ)器設(shè)備
15.2存儲(chǔ)器類型
15.2.1易失性存儲(chǔ)器
15.2.2非易失性存儲(chǔ)器
15.3系統(tǒng)設(shè)計(jì)目標(biāo)
15.3.1硬件構(gòu)建目標(biāo)
15.3.2軟件編程目標(biāo)
15.4DDR3 SDRAM控制器設(shè)計(jì)原理
15.4.1DDR3 SDRAM存儲(chǔ)器結(jié)構(gòu)
15.4.2DDR3 SDRAM控制器結(jié)構(gòu)
15.4.3DDR3 SDRAM的讀寫訪問時(shí)序
15.5DDR3 SDRAM控制器系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
15.5.1打開前面的設(shè)計(jì)工程
15.5.2設(shè)計(jì)DDR3 SDRAM存儲(chǔ)器控制器
15.5.3修改系統(tǒng)設(shè)計(jì)文件
15.5.4編寫程序代碼
15.5.5設(shè)計(jì)綜合
15.5.6設(shè)計(jì)實(shí)現(xiàn)
15.5.7下載比特流文件
第16章CortexM0 C語(yǔ)言編程基礎(chǔ)
16.1C語(yǔ)言處理流程
16.2C語(yǔ)言鏡像文件內(nèi)容和存儲(chǔ)
16.2.1C語(yǔ)言鏡像文件的內(nèi)容
16.2.2C語(yǔ)言鏡像文件的存儲(chǔ)位置
16.3啟動(dòng)代碼的分析
16.4C語(yǔ)言中數(shù)據(jù)的存儲(chǔ)空間
16.5C語(yǔ)言數(shù)據(jù)類型及實(shí)現(xiàn)
16.5.1C語(yǔ)言支持的數(shù)據(jù)類型
16.5.2數(shù)據(jù)類型修飾符
16.6C語(yǔ)言編程CortexM0
16.6.1定義中斷向量表
16.6.2定義堆和堆棧
16.6.3讀寫外設(shè)寄存器
16.6.4匯編調(diào)用C函數(shù)
16.6.5C語(yǔ)言調(diào)用匯編語(yǔ)言
16.6.6C語(yǔ)言嵌入?yún)R編語(yǔ)言
16.7C語(yǔ)言驅(qū)動(dòng)的設(shè)計(jì)和實(shí)現(xiàn)
16.7.1打開前面的設(shè)計(jì)工程
16.7.2建立新的軟件設(shè)計(jì)工程
16.7.3軟件工程參數(shù)設(shè)置
16.7.4創(chuàng)建并添加匯編文件
16.7.5創(chuàng)建并添加頭文件
16.7.6創(chuàng)建并添加C文件
16.7.7添加HEX文件到當(dāng)前工程
16.7.8設(shè)計(jì)綜合
16.7.9設(shè)計(jì)實(shí)現(xiàn)
16.7.10下載比特流文件
16.8C語(yǔ)言重定向及實(shí)現(xiàn)
16.8.1打開前面的設(shè)計(jì)工程
16.8.2打開前面的軟件設(shè)計(jì)工程
16.8.3修改啟動(dòng)引導(dǎo)文件
16.8.4導(dǎo)入并修改retarget.c文件
16.8.5修改C設(shè)計(jì)文件
16.8.6添加HEX文件到當(dāng)前工程
16.8.7設(shè)計(jì)綜合
16.8.8設(shè)計(jì)實(shí)現(xiàn)
16.8.9下載比特流文件
第17章CMSIS和驅(qū)動(dòng)程序開發(fā)
17.1引入CMSIS的必要性
17.2CMSIS的優(yōu)勢(shì)
17.3CMSIS的框架
17.4使用CMSIS訪問不同資源
17.4.1訪問NVIC
17.4.2訪問特殊寄存器
17.4.3訪問特殊指令
17.4.4訪問系統(tǒng)
17.5軟件驅(qū)動(dòng)程序的設(shè)計(jì)
17.5.1軟件驅(qū)動(dòng)程序的功能
17.5.2AHB外設(shè)驅(qū)動(dòng)設(shè)計(jì)
17.6動(dòng)態(tài)圖形交互系統(tǒng)設(shè)計(jì)
17.6.1動(dòng)態(tài)圖形交互硬件平臺(tái)
17.6.2觸摸屏顯示控制方法
17.6.3觸摸屏觸摸控制方法
17.6.4打開前面的設(shè)計(jì)工程
17.6.5觸摸屏控制器模塊的設(shè)計(jì)實(shí)現(xiàn)
17.6.6修改頂層設(shè)計(jì)文件
17.6.7C語(yǔ)言程序的設(shè)計(jì)和實(shí)現(xiàn)
17.6.8設(shè)計(jì)綜合
17.6.9添加約束條件
17.6.10設(shè)計(jì)實(shí)現(xiàn)
17.6.11下載比特流文件
第18章RTX操作系統(tǒng)原理及應(yīng)用
18.1RTOS的優(yōu)勢(shì)
18.2操作系統(tǒng)的概念
18.3操作系統(tǒng)支持特性
18.3.1SysTick定時(shí)器
18.3.2堆棧指針
18.3.3SVC
18.3.4PendSV
18.4RTX內(nèi)核架構(gòu)的特點(diǎn)
18.5RTX的具體實(shí)現(xiàn)過程
18.5.1實(shí)現(xiàn)目標(biāo)
18.5.2打開前面的工程
18.5.3修改工程屬性設(shè)置
18.5.4修改啟動(dòng)代碼
18.5.5導(dǎo)入RTX_Config.c文件
18.5.6修改main.c文件
18.5.7軟件調(diào)試和測(cè)試
18.6RTX內(nèi)核功能
18.6.1定時(shí)器滴答中斷
18.6.2系統(tǒng)任務(wù)管理器
18.6.3任務(wù)管理
18.6.4空閑任務(wù)
18.6.5系統(tǒng)資源
18.6.6任務(wù)調(diào)度策略
18.6.7優(yōu)先級(jí)倒置
18.6.8堆棧管理
18.6.9用戶定時(shí)器
18.6.10中斷函數(shù)