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