图书介绍

嵌入式实时操作系统μC/OS-3PDF|Epub|txt|kindle电子书版本网盘下载

嵌入式实时操作系统μC/OS-3
  • (美)拉伯罗斯(JEANJ.LABROSSE)著;宫辉,曾鸣,龚光华等译;邵贝贝审校 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:9787512409668
  • 出版时间:2012
  • 标注页数:536页
  • 文件大小:246MB
  • 文件页数:562页
  • 主题词:实时操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式实时操作系统μC/OS-3PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 概述1

1.1 前后台系统2

1.2 实时内核3

1.3 RTOS(实时操作系统)4

1.4 μC/OS-Ⅲ5

1.5 μC/OS、μC/OS-Ⅱ、μC/OS-Ⅲ特性比较8

1.6 关于本书10

1.7 μC/Probe调试软件工具10

1.8 本书的常用约定11

1.9 各章内容11

第2章 目录与文件14

2.1 应用代码16

2.2 CPU17

2.3 板级支持包(BSP)17

2.4 μC/OS-Ⅲ与CPU无关的源代码18

2.5 μC/OS-Ⅲ与CPU相关的源代码21

2.6 μC/CPU与CPU相关的源代码22

2.7 μC/LIB可移植的库函数24

2.8 小结26

第3章 初识μC/OS-Ⅲ28

3.1 单任务应用程序28

3.2 有内核对象参与的多任务应用程序34

第4章 临界段代码41

4.1 关中断41

4.1.1 测量中断关闭时间42

4.2 给调度器上锁42

4.2.1 测量调度器锁定时间43

4.3 μC/OS-Ⅲ的某些功能会导致临界段代码长度增加44

4.4 小结44

第5章 任务管理46

5.1 任务优先级的分配52

5.2 栈空间大小的确定54

5.3 任务栈溢出检测55

5.4 任务管理函数58

5.5 任务管理的内部原理59

5.5.1 任务状态59

5.5.2 任务控制块TCB64

5.6 系统内部任务74

5.6.1 空闲任务(OS-IdleTask()、os_core.c)75

5.6.2 时钟节拍任务(OS_TickTask()、os_tick.c)76

5.6.3 统计任务(OS_StatTask()、os_stat.c)82

5.6.4 定时任务(OS_TmrTask()、os_tmr.c)85

5.6.5 中断服务管理任务(OS_IntQTask()、os_int.c)86

5.7 小结87

第6章 任务就绪表88

6.1 优先级88

6.2 就绪任务列表92

6.3 向就绪任务列表中增加任务95

6.4 小结96

第7章 任务调度97

7.1 可剥夺型调度97

7.2 调度点99

7.3 时间片轮转调度101

7.4 调度的实现细节102

7.4.1 OSSched()103

7.4.2 OSIntExit()104

7.4.3 OS_SchedRoundRobin()105

7.5 小结106

第8章 任务切换107

8.1 OSCtxSw()109

8.2 OSIntCtxSw()111

8.3 小结113

第9章 中断管理114

9.1 CPU的中断处理115

9.2 典型的μC/OS-Ⅲ中断服务程序115

9.3 无需内核参与的中断服务程序118

9.4 多中断优先级的处理器118

9.5 所有中断源共用中断服务程序120

9.6 每个中断源都有专用中断服务程序121

9.7 直接发布和延迟发布122

9.7.1 直接发布122

9.7.2 延迟发布124

9.8 直接发布模式和延迟发布模式的对比126

9.9 时钟节拍(或系统节拍)127

9.10 小结129

第10章 任务挂起表130

10.1 小结134

第11章 时间管理135

11.1 OSTimeDly()135

11.2 OSTimeDlyHMSM()139

11.3 OSTimeDlyResume()141

11.4 OSTimeSet()和OSTimeGet()142

11.5 OSTimeTick()142

11.6 小结142

第12章 定时器管理143

12.1 单次定时器144

12.2 周期定时器(无初始延迟)145

12.3 周期定时器(有初始延迟)146

12.4 定时器管理内部机制147

12.4.1 定时器管理内部机制——定时器状态147

12.4.2 定时器管理内部机制——os_tmr148

12.4.3 定时器管理内部机制——定时器任务149

12.4.4 定时器管理内部机制——定时器列表151

12.5 小结156

第13章 资源管理157

13.1 关中断/开中断159

13.2 给调度器上锁/开锁160

13.3 信号量161

13.3.1 二进制信号量162

13.3.2 计数型信号量168

13.3.3 使用信号量的注意事项170

13.3.4 (用来共享资源的)信号量内部结构170

13.3.5 优先级反转174

13.4 互斥型信号量(MUTEX)176

13.4.1 互斥型信号量的内部结构180

13.5 何时可以用普通信号量替代互斥型信号量184

13.6 死锁(或抱死)184

13.7 小结187

第14章 任务同步189

14.1 信号量189

14.1.1 单向同步190

14.1.2 信用记录193

14.1.3 多个任务等待同一个信号量194

14.1.4 信号量的内部结构(以同步为目的)195

14.2 任务信号量200

14.2.1 等待任务信号量201

14.2.2 发布任务信号量202

14.2.3 双向同步203

14.3 事件标志组205

14.3.1 使用事件标志206

14.3.2 事件标志的内部结构210

14.4 与多任务同步215

14.5 小结216

第15章 消息传递217

15.1 消息217

15.2 消息队列218

15.3 任务内建的消息队列219

15.4 双向同步220

15.5 流量控制221

15.6 保持数据的可见性223

15.7 使用消息队列224

15.8 客户端和服务器231

15.9 消息队列内部的细节232

15.10 小结235

第16章 同时等待多个内核对象236

16.1 小结242

第17章 存储管理243

17.1 创建存储分区244

17.2 从分区中获得存储块247

17.3 将存储块归还到分区中248

17.4 使用存储分区249

17.5 小结251

第18章 移植μC/OS-Ⅲ252

18.1 约定254

18.2 μC/CPU255

18.2.1 CPU_BSP.H256

18.2.2 CPU_DEF.H256

18.2.3 CPU_CFG.H256

18.2.4 CPU_CORE.C257

18.2.5 CPU_CORE.H258

18.2.6 CPU.H258

18.2.7 CPU_C.C261

18.2.8 CPU_A.ASM261

18.3 μC/OS-Ⅲ移植262

18.3.1 OS_CPU.H263

18.3.2 OS_CPU_C.C264

18.3.3 OS_CPU_A.ASM270

18.3.4 OS_CPU_A.INC275

18.4 板级支持包(BSP)278

18.4.1 BSP.C和BSP.H279

18.4.2 BSP_INT.C和BSP_INT.H280

18.5 移植的测试281

18.5.1 创建一个简单的测试工程281

18.5.2 验证任务级任务切换285

18.5.3 验证中断级任务切换290

18.6 小结293

第19章 程序运行时的各类统计信息295

19.1 程序运行时的总体统计信息295

19.2 程序运行时每个任务的统计信息299

19.3 程序运行时和内核对象相关的统计信息302

19.4 OS_DBG.C——编译时(静态)的统计信息305

19.5 OS_CFG_APP.C——编译时(静态)的统计信息316

19.6 小结318

附录A μC/OS-Ⅲ API参考手册319

A.1 任务管理319

A.2 时间管理321

A.3 互斥型信号量——资源管理321

A.4 事件标志组——同步322

A.5 信号量——同步323

A.6 任务信号量——同步324

A.7 消息队列——消息传递325

A.8 任务消息队列——消息传递326

A.9 等待多个对象327

A.10 定时器328

A.11 固定大小的存储分区——存储管理329

A.12 OSCtxSw()330

A.13 OSFlagCreate()331

A.14 OSFlagDel()333

A.15 OSFlagPend()334

A.16 OSFlagPendAbort()337

A.17 OSFlagPendGetFlagsRdy()339

A.18 OSFlagPost()341

A.19 OSIdleTaskHook()343

A.20 OSInit()344

A.21 OSInitHook()348

A.22 OSIntCtxSw()349

A.23 OSIntEnter()350

A.24 OSIntExit()351

A.25 OSMemCreate()352

A.26 OSMemGet()354

A.27 OSMemPut()356

A.28 OSMutexCreate()357

A.29 OSMutexDel()359

A.30 OSMutexPend()360

A.31 OSMutexPendAbort()363

A.32 OSMutexPost()365

A.33 OSPendMulti()367

A.34 OSQCreate()370

A.35 OSQDel()372

A.36 OSQFlush()374

A.37 OSQPend()376

A.38 OSQPendAbort()379

A.39 OSQPost()381

A.40 OSSafetyCriticalStart()384

A.41 OSSched()384

A.42 OSSchedLock()386

A.43 OSSchedRoundRobinCfg()387

A.44 OSSchedRoundRobinYield()388

A.45 OSSchedUnlock()389

A.46 OSSemCreate()390

A.47 OSSemDel()392

A.48 OSSemPend()394

A.49 OSSemPendAbort()397

A.50 OSSemPost()399

A.51 OSSemSet()401

A.52 OSStart()402

A.53 OSStartHighRdy()403

A.54 OSStatReset()404

A.55 OSStatTaskCPUUsageInit()405

A.56 OSStatTaskHook()406

A.57 OSTaskChangePrio()407

A.58 OSTaskCreate()409

A.59 OSTaskCreateHook()418

A.60 OSTaskDel()419

A.61 OSTaskDelHook()421

A.62 OSTaskQFlush()422

A.63 OSTaskQPend()424

A.64 OSTaskQPendAbort()427

A.65 OSTaskQPost()429

A.66 OSTaskRegGet()431

A.67 OSTaskRegSet()432

A.68 OSTaskReturnHook()434

A.69 OSTaskResume()436

A.70 OSTaskSemPend()437

A.71 OSTaskSemPendAbort()440

A.72 OSTaskSemPost()441

A.73 OSTaskSemSet()443

A.74 OSStatTaskHook()444

A.75 OSTaskStkChk()445

A.76 OSTaskStkInit()447

A.77 OSTaskSuspend()451

A.78 OSTaskSwHook()452

A.79 OSTaskTimeQuantaSet()454

A.80 OSTickISR()456

A.81 OSTimeDly()457

A.82 OSTimeDlyHMSM()459

A.83 OSTimeDlyResume()461

A.84 OSTimeGet()463

A.85 OSTimeSet()464

A.86 OSTimeTick()465

A.87 OSTimeTickHook()465

A.88 OSTmrCreate()467

A.89 OSTmrDel()472

A.90 OSTmrRemainGet()473

A.91 OSTmrStart()475

A.92 OSTmrStateGet()476

A.93 OSTmrStop()478

A.94 OSVersion()480

附录B μC/OS-Ⅲ配置手册481

B.1 μC/OS-Ⅲ的功能(os_cfg.h)483

B.2 μC/OS-Ⅲ的数据类型(os_type.h)492

B.3 μC/OS-Ⅲ的堆栈、池和其他数据类型(os_cfg_app.h)493

附录C 从μC/OS-Ⅱ迁移到μC/OS-Ⅲ497

C.1 源文件名称和内容的差异498

C.2 编程约定的变化501

C.3 变量名称的变化506

C.4 API的变化507

C.4.1 事件标志507

C.4.2 消息邮箱509

C.4.3 存储管理511

C.4.4 互斥型信号量513

C.4.5 消息队列514

C.4.6 信号量516

C.4.7 任务管理518

C.4.8 时间管理523

C.4.9 定时器管理524

C.4.10 其他526

C.4.11 介入函数与系统移植528

附录D MISRA-C:2004和μC/OS-Ⅲ531

D.1 MISRA-C:2004,规则8.5(强制)531

D.2 MISRA-C:2004,规则8.12(强制)532

D.3 MISRA-C:2004,规则14.7(强制)532

D.4 MISRA-C:2004,规则15.2(强制)533

D.5 MISRA-C:2004,规则17.4(强制)534

附录E 参考文献535

附录F μC/OS-Ⅲ许可政策536

热门推荐