下载中心
嵌入式实时操作系统的设计与开发pdf
1星 发布者: 抛砖引玉

2023-05-21 | 1积分 | 20.13MB |  20 次下载

下载 收藏 评论

文档简介
标签: 嵌入式

嵌入式

本书以电子科技大学自主设计的开源操作系统aCoral在ARM9 Mini2440嵌入式平台上的设计过程为思路,逐步介绍aCoral的实现,再延伸到它对多核嵌入式处理器的支持,在此过程中,介绍嵌入式实时操作系统的其他相关技术和理论,比如:实时调度机制与策略、多核计算等,让学生对其有更全面的认识。此外,全书综合应用了计算机组成原理、计算机操作系统、汇编语言、C程序设计、数据结构、嵌入式系统概论、ARM处理器及其应用等课程的知识点,力求理论与实践紧密结合,帮助读者融汇贯通上述课程的相关知识。本书中的相关代码请读者登录华信教育资源网免费注册后下载使用。

第1章 概论 1

1.1 轮询系统(Polling Systems) 2

1.2 前后台系统(Foreground Background Systems) 2

1.3 嵌入式操作系统 3

1.3.1 简单内核 3

1.3.2 RTOS结构 4

1.3.3 多核RTOS 5

1.4 从裸板开始啊啊 6

1.5 aCoral 6

1.6 本书结构 7

习题 8

第2章 轮询系统 9

2.1 轮询系统概述 9

2.1.1 程序框架 9

2.1.2 调度 9

2.1.3 典型系统 11

2.2 搭建开发环境 11

2.3 启动Mini2440 14

2.3.1 为什么需要启动 14

2.3.2 启动流程 15

2.4 轮询的实现 29

习题 30

第3章 前后台系统 31

3.1 前后台结构 31

3.1.1 前后台系统的应用 31

3.1.2 运行方式 32

3.1.3 系统性能 32

3.1.4 前后台交换 33

3.1.5 典型系统 34

3.2 中断和中断服务 34

3.2.1 中断 34

3.2.2 中断服务 35

3.3 ARM的中断机制 35

3.4 一个简单的S3C2440中断服务 35

3.4.1 中断返回 36

3.4.2 中断注册 37

3.4.3 状态保存和现场恢复 39

3.5 前后台的实现 40

3.5.1 启动Mini2440 40

3.5.2 后台主循环 40

3.5.3 前台中断处理 43

习题 44

第4章 内核基础 46

4.1 基本术语 46

4.2 RTOS的特点 47

习题 50

第5章 搭建aCoral交叉开发环境 51

5.1 安装Ubuntu 51

5.2 安装交叉开发工具链 52

5.2.1 使用制作好的工具链 52

5.2.2 自己制作工具链 52

5.3 构建aCoral项目文件 53

习题 55

第6章 编写内核 56

6.1 aCoral线程 56

6.1.1 描述线程 57

6.1.2 线程优先级 65

6.2 调度策略 67

6.2.1 线程调度分层结构 67

6.2.2 调度策略分类 67

6.2.3 描述调度策略 68

6.2.4 查找调度策略 69

6.2.5 注册调度策略 70

6.3 基本调度机制 72

6.3.1 创建线程 72

6.3.2 调度线程 85

6.3.3 线程退出 96

6.3.4 其他基本机制 99

6.4 事务处理机制 106

6.4.1 中断管理 106

6.4.2 时钟管理 121

6.5 内存管理机制 124

6.5.1 主流内存管理机制 125

6.5.2 嵌入式系统对内存管理的特殊要求 126

6.5.3 aCoral的内存管理机制 127

6.5.4 aCoral内存管理初始化 150

6.6 线程交互机制 151

6.6.1 互斥机制 152

6.6.2 同步机制 166

6.6.3 通信机制 168

习题 179

第7章 启动内核 181

7.1 RTOS的引导模式 181

7.1.1 需要Bootloader的引导模式 181

7.1.2 不需要Bootloader的引导模式 182

7.2 Bootloader 182

7.3 aCoral环境下启动2440 185

7.4 启动aCoral 191

习题 199

第8章 移植内核 200

8.1 硬件抽象层移植 200

8.1.1 启动接口 201

8.1.2 中断接口 201

8.1.3 线程相关接口 203

8.1.4 时间相关接口 204

8.1.5 内存相关接口 205

8.1.6 开发板相关接口 205

8.1.7 多核(CMP)相关接口 205

8.1.8 移植文件规范 207

8.1.9 移植实例 208

8.2 项目移植 216

8.2.1 生成对应开发板的项目 216

8.2.2 添加到官网 220

习题 221

第9章 编译与运行内核 222

9.1 编译aCoral 222

9. 2 烧写aCoral到开发板ARM Mini2440 223

9.2.1 安装串口工具 223

9.2.2 安装烧写工具(DNW工具) 224

9.2.3 烧写与运行aCoral 225

习题 226

第10章 实时调度策略 227

10.1 任务调度策略基本概念 227

10.2 任务调度策略 228

10.2.1 典型实时调度策略 229

10.2.2 基于公平策略的时间片轮转调度 230

10.2.3 基于优先级的可抢占调度 230

10.2.4 RM调度算法 232

10.2.5 EDF调度算法 243

10.3 优先级反转及解决办法 245

10.3.1 优先级继承 246

10.3.2 优先级天花板 248

10.4 提高系统实时性的其他措施 251

10.4.1 评价RTOS的性能指标 251

10.4.2 提高实时任务响应性的措施 252

10.5 多核/处理器调度 261

10.5.1 多核/处理器技术 261

10.5.2 多核/处理器调度策略 263

习题 264

第11章 支持多核 266

11.1 ARM11 MPCore 266

11.2 多核运行机制 267

11.3 aCoral对多核机制的支持 269

11.3.1 多核启动 269

11.3.2 多核调度 276

习题 281

参考文献 282

评论
推荐下载
查看更多
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

推荐帖子
精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • PIC单片机控制的遥控防盗报警器电路

  • 短波AM发射器电路设计图

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

×