本書以電子科技大學(xué)自主設(shè)計(jì)的開源操作系統(tǒng)aCoral在ARM9 Mini2440嵌入式平臺上的設(shè)計(jì)過程為思路,逐步介紹aCoral的實(shí)現(xiàn),再延伸到它對多核嵌入式處理器的支持,在此過程中,介紹嵌入式實(shí)時(shí)操作系統(tǒng)的其他相關(guān)技術(shù)和理論,比如:實(shí)時(shí)調(diào)度機(jī)制與策略、多核計(jì)算等,讓學(xué)生對其有更全面的認(rèn)識。此外,全書綜合應(yīng)用了計(jì)算機(jī)組成原理、計(jì)算機(jī)操作系統(tǒng)、匯編語言、C程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、嵌入式系統(tǒng)概論、ARM處理器及其應(yīng)用等課程的知識點(diǎn),力求理論與實(shí)踐緊密結(jié)合,幫助讀者融匯貫通上述課程的相關(guān)知識。
書以電子科技大學(xué)自主設(shè)計(jì)的開源操作系統(tǒng)aCoral在ARM9 Mini2440嵌入式平臺上的設(shè)計(jì)過程為思路,逐步介紹aCoral的實(shí)現(xiàn),再延伸到它對多核嵌入式處理器的支持,在此過程中,介紹嵌入式實(shí)時(shí)操作系統(tǒng)的其他相關(guān)技術(shù)和理論,比如:實(shí)時(shí)調(diào)度機(jī)制與策略、多核計(jì)算等,讓學(xué)生對其有更全面的認(rèn)識。此外,全書綜合應(yīng)用了計(jì)算機(jī)組成原理、計(jì)算機(jī)操作系統(tǒng)、匯編語言、C程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、嵌入式系統(tǒng)概論、ARM處理器及其應(yīng)用等課程的知識點(diǎn),力求理論與實(shí)踐緊密結(jié)合,幫助讀者融匯貫通上述課程的相關(guān)知識。
第1章 概論
1.1 輪詢系統(tǒng)(Polling Systems)
1.2 前后臺系統(tǒng)(Foreground Background Systems)
1.3 嵌入式操作系統(tǒng)
1.3.1 簡單內(nèi)核
1.3.2 RTOS結(jié)構(gòu)
1.3.3 多核RTOS
1.4 從裸板開始啊啊
1.5 aCoral
1.6 本書結(jié)構(gòu)
習(xí)題
\\t
第2章 輪詢系統(tǒng)
2.1 輪詢系統(tǒng)概述
2.1.1 程序框架
2.1.2 調(diào)度
2.1.3 典型系統(tǒng)
2.2 搭建開發(fā)環(huán)境
2.3 啟動(dòng)Mini2440
2.3.1 為什么需要啟動(dòng)
2.3.2 啟動(dòng)流程
2.4 輪詢的實(shí)現(xiàn)
習(xí)題
\\t
第3章 前后臺系統(tǒng)
3.1 前后臺結(jié)構(gòu)
3.1.1 前后臺系統(tǒng)的應(yīng)用
3.1.2 運(yùn)行方式
3.1.3 系統(tǒng)性能
3.1.4 前后臺交換
3.1.5 典型系統(tǒng)
3.2 中斷和中斷服務(wù)
3.2.1 中斷
3.2.2 中斷服務(wù)
3.3 ARM的中斷機(jī)制
3.4 一個(gè)簡單的S3C2440中斷服務(wù)
3.4.1 中斷返回
3.4.2 中斷注冊
3.4.3 狀態(tài)保存和現(xiàn)場恢復(fù)
3.5 前后臺的實(shí)現(xiàn)
3.5.1 啟動(dòng)Mini2440
3.5.2 后臺主循環(huán)
3.5.3 前臺中斷處理
習(xí)題
\\t
第4章 內(nèi)核基礎(chǔ)
4.1 基本術(shù)語
4.2 RTOS的特點(diǎn)
習(xí)題
\\t
第5章 搭建aCoral交叉開發(fā)環(huán)境
5.1 安裝Ubuntu
5.2 安裝交叉開發(fā)工具鏈
5.2.1 使用制作好的工具鏈
5.2.2 自己制作工具鏈
5.3 構(gòu)建aCoral項(xiàng)目文件
習(xí)題
\\t
第6章 編寫內(nèi)核
6.1 aCoral線程
6.1.1 描述線程
6.1.2 線程優(yōu)先級
6.2 調(diào)度策略
6.2.1 線程調(diào)度分層結(jié)構(gòu)
6.2.2 調(diào)度策略分類
6.2.3 描述調(diào)度策略
6.2.4 查找調(diào)度策略
6.2.5 注冊調(diào)度策略
6.3 基本調(diào)度機(jī)制
6.3.1 創(chuàng)建線程
6.3.2 調(diào)度線程
6.3.3 線程退出
6.3.4 其他基本機(jī)制
6.4 事務(wù)處理機(jī)制
6.4.1 中斷管理
6.4.2 時(shí)鐘管理
6.5 內(nèi)存管理機(jī)制
6.5.1 主流內(nèi)存管理機(jī)制
6.5.2 嵌入式系統(tǒng)對內(nèi)存管理的特殊要求
6.5.3 aCoral的內(nèi)存管理機(jī)制
6.5.4 aCoral內(nèi)存管理初始化
6.6 線程交互機(jī)制
6.6.1 互斥機(jī)制
6.6.2 同步機(jī)制
6.6.3 通信機(jī)制
習(xí)題
\\t
第7章 啟動(dòng)內(nèi)核
7.1 RTOS的引導(dǎo)模式
7.1.1 需要Bootloader的引導(dǎo)模式
7.1.2 不需要Bootloader的引導(dǎo)模式
7.2 Bootloader
7.3 aCoral環(huán)境下啟動(dòng)2440
7.4 啟動(dòng)aCoral
習(xí)題
\\t
第8章 移植內(nèi)核
8.1 硬件抽象層移植
8.1.1 啟動(dòng)接口
8.1.2 中斷接口
8.1.3 線程相關(guān)接口
8.1.4 時(shí)間相關(guān)接口
8.1.5 內(nèi)存相關(guān)接口
8.1.6 開發(fā)板相關(guān)接口
8.1.7 多核(CMP)相關(guān)接口
8.1.8 移植文件規(guī)范
8.1.9 移植實(shí)例
8.2 項(xiàng)目移植
8.2.1 生成對應(yīng)開發(fā)板的項(xiàng)目
8.2.2 添加到官網(wǎng)
習(xí)題
\\t
第9章 編譯與運(yùn)行內(nèi)核
9.1 編譯aCoral
9. 2 燒寫aCoral到開發(fā)板ARM Mini2440
9.2.1 安裝串口工具
9.2.2 安裝燒寫工具(DNW工具)
9.2.3 燒寫與運(yùn)行aCoral
習(xí)題
\\t
第10章 實(shí)時(shí)調(diào)度策略
10.1 任務(wù)調(diào)度策略基本概念
10.2 任務(wù)調(diào)度策略
10.2.1 典型實(shí)時(shí)調(diào)度策略
10.2.2 基于公平策略的時(shí)間片輪轉(zhuǎn)調(diào)度
10.2.3 基于優(yōu)先級的可搶占調(diào)度
10.2.4 RM調(diào)度算法
10.2.5 EDF調(diào)度算法
10.3 優(yōu)先級反轉(zhuǎn)及解決辦法
10.3.1 優(yōu)先級繼承
10.3.2 優(yōu)先級天花板
10.4 提高系統(tǒng)實(shí)時(shí)性的其他措施
10.4.1 評價(jià)RTOS的性能指標(biāo)
10.4.2 提高實(shí)時(shí)任務(wù)響應(yīng)性的措施
10.5 多核/處理器調(diào)度
10.5.1 多核/處理器技術(shù)
10.5.2 多核/處理器調(diào)度策略
習(xí)題
\\t
第11章 支持多核
11.1 ARM11 MPCore
11.2 多核運(yùn)行機(jī)制
11.3 aCoral對多核機(jī)制的支持
11.3.1 多核啟動(dòng)
11.3.2 多核調(diào)度
習(xí)題
參考文獻(xiàn)
\\t