嵌入式实时操作系统μC/OS-II

副标题:无

作   者:(美)Jean J. Labrosse著 ; 邵贝贝等译

分类号:

ISBN:9787810772907

微信扫一扫,移动浏览光盘

简介

几年前,邵贝贝教授将MicroC/OS-II The Real-Time Kernel一书译成了中文,并在中国出版,说明该书的价值得到了更多人的认可。2002年上半年,笔者出版了这本书的第2版本,对书的内容和书后所附的源代码都做了大量的改动。笔者相信,翻译第2版本的工作量决不会少于第1版本。感谢邵教授百忙中抽时间完成这一繁琐的工作。 过去几年中,一直有很多中国用户与笔者保持着通信联系。中国用户对嵌入式系统、特别是对μC/OS-II表现出极大的兴趣。多数通信交往来自学术界,随着基地在中国的电子产品制造业的发展,他们对μC/OS-II的兴趣也越来越浓厚。 对于大专院校的学生,μC/OS-II是实时操作系统(RTOS)的极好教材。试着用一用RTOS,获得一些RTOS的使用经验,不需要花什么钱,μC/OS-II是在校学生完成研究生论文和本科生毕业设计的绝好工具。μC/OS-II可以使读者专注于自己的研究课题,而不必为程序结构花很多时间。有大量移植范例可以从Micrium的??(www.micrium.com)上免费下载。μC/OS-II的性能可以与许多高端商业软件更多>>

目录

前言1

概述7

第1章 初识μc/osii1

1.00 安装 μc/osii1

1.01 范例11

1.02 范例210

1.03 范例320

1.04 范例430

第2章 实时系统概念34

2.00 前/后台系统34

2.01 代码的临界段35

2.02 资源36

2.03 共享资源36

2.04 多任务36

2.05 任务36

2.06 任务切换38

2.07 内核38

2.08 调度39

2.09 不可剥夺型内核39

2.10 可剥夺型内核40

.2.11 可重入函数42

2.12 时间片轮番调度法44

2.13 任务优先级44

2.14 静态优先级44

2.15 动态优先级44

2.16 优先级反转44

2.17 任务优先级分配47

2.18 互斥条件49

2.18.01 关中断和开中断49

2.18.02 测试并置位操作50

2.18.03 禁止,然后允许任务切换50

2.18.04 信号量51

2.19 死锁55

2.20 同步56

2.21 事件标志58

2.22 任务间通信59

2.23 消息邮箱59

2.24 消息队列60

2.25 中断61

2.26 中断延迟62

2.27 中断响应62

2.28 中断恢复时间63

2.29 中断延迟、响应及恢复64

2.30 中断处理时间66

2.31 非屏蔽中断66

2.32 时钟节拍67

2.33 对存储器的需求69

2.34 使用实时内核的优、缺点70

2.35 实时系统小结71

第3章 内核结构72

3.00 临界段,os_enter_critical()和os_exit_critical()73

3.01 任务76

3.02 任务状态78

3.03 任务控制块(os_tcb)80

3.04 就绪表88

3.05 任务调度91

3.06 任务级的任务切换, os_task_sw()92

3.07 给调度器上锁和开锁96

3.08 空闲任务97

3.09 统计任务98

3.10 μc/osii中的中断103

3.11 时钟节拍107

3.12 μc/osii初始化111

3.13 μc/osii的启动113

3.14 获取当前μc/osii的版本号115

第4章 任务管理116

4.00 建立任务,ostaskcreate()117

4.01 建立任务,ostaskcreateext()119

4.02 任务堆栈122

4.03 堆栈检验,ostaskstkchk()125

4.04 删除任务,ostaskdel()128

4.05 请求删除任务,ostaskdelreq()132

4.06 改变任务的优先级,ostaskchangeprio()135

4.07 挂起任务,ostasksuspend()138

4.08 恢复任务,ostaskresume()140

4.09 获得任务的信息,ostaskquery()142

第5章 时间管理144

5.00 任务延时函数,ostimedly()144

5.01 按时、分、秒延时函数,ostimedlyhmsm()146

5.02 恢复延时的任务,ostimedlyresume()149

5.03 系统时间,ostimeget()和ostimeset()150

第6章 事件控制块152

6.00 将任务置于等待事件的任务列表156

6.01 从等待事件的任务列表中使任务脱离等待状态156

6.02 在等待事件的任务列表中查找优先级最高的任务157

6.03 空余事件控制块链表159

6.04 初始化一个事件控制块,os_eventwaitlistinit()159

6.05 使一个任务进入就绪态,os_eventtaskrdy()161

6.06 使一个任务进入等待某事件发生状态, os_eventtaskwait()163

6.07 由于等待超时而将任务置为就绪态, os_eventto()163

第7章 信号量管理165

7.00 建立一个信号量, ossemcreate()166

7.01 删除一个信号量,ossemdel()168

7.02 等待一个信号量, ossempend()171

7.03 发出一个信号量, ossempost()173

7.04 无等待地请求一个信号量, ossemaccept()175

7.05 查询一个信号量的当前状态, ossemquery()176

第8章 互斥型信号量管理179

8.00 建立一个互斥型信号量,osmutexcreate()182

8.01 删除一个互斥型信号量,osmutexdel()185

8.02 等待一个互斥型信号量(挂起),osmutexpend()187

8.03 释放一个互斥型信号量,osmutexpost()191

8.04 无等待地获取互斥型信号量(任务不挂起), osmutexaccept()193

8.05 获取互斥型信号量的当前状态,osmutexquery() 195

第9章 事件标志组管理198

9.00 深入事件标志组199

9.01 建立一个事件标志组,osflagcreate()202

9.02 删除一个事件标志组,osflagdel()204

9.03 等待事件标志组的事件标志位,osflagpend()206

9.04 置位或清0事件标志组中的事件标志, osflagpost()214

9.05 无等待地获得事件标志组中的事件标志, osflagaccept()223

9.06 查询事件标志组的状态,osflagquery()226

第10章 消息邮箱管理228

10.00 建立一个邮箱,osmboxcreate()229

10.01 删除一个邮箱,osmboxdel()231

10.02 等待邮箱中的消息,osmboxpend()234

10.03 向邮箱发送一则消息,osmboxpost()236

10.04 向邮箱发送一则消息,osmboxpostopt()238

10.05 无等待地从邮箱中得到一则消息, osmboxaccept()240

10.06 查询一个邮箱的状态, osmboxquery()241

10.07 用邮箱作为二值信号量243

10.08 用邮箱实现延时,而不使用ostimedly()243

第11章 消息队列管理245

11.00 建立一个消息队列,osqcreate()249

11.01 删除一个消息队列,osqdel()251

11.02 等待消息队列中的消息,osqpend()253

11.03 向消息队列发送一则消息(fifo),osqpost()256

11.04 向消息队列发送一则消息(lifo), osqpostfront()258

11.05 向消息队列发送一则消息(fifo或lifo), osqpostopt()259

11.06 无等待地从消息队列中获得消息, osqaccept()262

11.07 清空消息队列, osqflush()263

11.08 获取消息队列的状态,osqquery()264

11.09 使用消息队列读取模拟量的值267

11.10 消息队列用做计数型信号量268

第12章 内存管理270

12.00 内存控制块271

12.01 建立一个内存分区,osmemcreate()272

12.02 分配一个内存块,osmemget()275

12.03 释放一个内存块,osmemput()277

12.04 查询一个内存分区的状态,osmemquery()278

12.05 使用内存分区279

12.06 等待内存分区中的一个内存块281

第13章 移植μc/osii283

13.00 开发工具286

13.01 目录和文件286

13.02 includes.h287

13.03 os_cpu.h287

13.03.01 与编译器相关的数据类型289

13.03.02 os_enter_critical()和 os_exit_critical()289

13.03.03 os_stk_growth293

13.03.04 os_task_sw()293

13.04 os_cpu_c.c294

13.04.01 ostaskstkinit()294

13.04.02 ostaskcreatehook()298

13.04.03 ostaskdelhook()298

13.04.04 ostaskswhook()299

13.04.05 ostaskstathook()299

13.04.06 ostimetickhook()299

13.04.07 ostcbinithook()299

13.04.08 ostaskidlehook()300

13.04.09 osinithookbegin()301

13.04.10 osinithookend()301

13.05 os_cpu_a.asm301

13.05.01 osstarthighrdy()301

13.05.02 osctxsw()302

13.05.03 ostickisr()304

13.05.04 osintctxsw()306

13.06 测试移植代码307

13.06.01 确保c编译器、汇编编译器及链接器正常工作307

13.06.02 验证ostaskstkinit()和 osstarthighrdy()函数311

13.06.03 验证osctxsw()函数313

13.06.04 验证osintctxsw( )和 ostickisr()函数316

第14章 μc/osii在80x86上的移植333

14.00 开发工具335

14.01 目录和文件336

14.02 includes.h文件336

14.03 os_cpu.h文件337

14.03.01 os_cpu.h,数据类型338

14.03.02 os_cpu.h,os_enter_critical()及os_exit_critical()338

14.03.03 os_cpu.h,堆栈方向340

14.03.04 os_cpu.h和os_task_sw()340

14.03.05 os_cpu.h,时钟节拍频率340

14.03.06 os_cpu.h,浮点仿真341

14.04 os_cpu_c.c文件341

14.04.01 任务堆栈初始化函数ostaskstkinit()342

14.04.02 浮点仿真任务栈初始化函数ostaskstkinit_fpe_x86()344

14.04.03 任务建立接口函数ostaskcreatehook()350

14.04.04 任务删除接口函数ostaskdelhook()351

14.04.05 任务切换接口函数ostaskswhook()351

14.04.06 空闲任务接口函数ostaskidlehook()351

14.04.07 统计任务接口函数ostaskstathook()351

14.04.08 时钟节拍接口函数 ostimetickhook()352

14.04.09 系统初始化开始接口函数osinithookbegin()352

14.04.10 系统初始化结束接口函数osinithookend()352

14.04.11 控制块初始化接口函数 ostcbinithook()353

14.05 os_cpu_a.asm文件353

14.05.01 osstarthighrdy() 353

14.05.02 osctxsw()355

14.05.03 osintctxsw()357

14.05.04 ostickisr()360

14.06 内存占用366

第15章 μc/osii在带有硬件浮点运算单元的80x86上的移植372

15.00 开发工具372

15.01 目录和文件374

15.02 includes.h文件375

15.03 os_cpu.h文件375

15.03.01 os_cpu.h,数据类型376

15.03.02 os_cpu.h,os_enter_critical()及os_exit_critical()376

15.03.03 os_cpu.h,堆栈方向376

15.03.04 os_cpu.h,os_task_sw()377

15.03.05 os_cpu.h,时钟节拍频率377

15.03.06 os_cpu.h,浮点函数377

15.04 os_cpu_c.c文件378

15.04.01 任务堆栈初始化函数ostaskstkinit()378

15.04.02 浮点处理单元初始化函数osfpinit()380

15.04.03 任务建立接口函数ostaskcreatehook()381

15.04.04 任务删除接口函数ostaskdelhook()382

15.04.05 任务切换接口函数ostaskswhook()384

15.04.06 空闲任务接口函数ostaskidlehook()385

15.04.07 统计任务接口函数ostaskstathook()385

15.04.08 时钟节拍接口函数 ostimetickhook()385

15.04.09 系统初始化开始接口函数osinithookbegin()386

15.04.10 系统初始化结束接口函数 osinithookend() 386

15.04.11 控制块初始化接口函数ostcbinithook() 386

15.05 os_cpu_a.asm文件386

15.05.01 osstarthighrdy()387

15.05.02 osctxsw()387

15.05.03 osintctxsw()390

15.05.04 ostickisr()393

15.05.05 osfpsave()394

15.05.06 osfprestore()395

15.06 内存占用396

第16章 μc/osii参考手册398

第17章 μc/osii配置手册509

17.00 杂项509

17.01 事件标志512

17.02 消息邮箱512

17.03 内存管理513

17.04 互斥型信号量513

17.05 消息队列514

17.06 信号量515

17.07 任务管理515

17.08 时钟管理516

17.09 函数概述517

第18章 pc中的功能函数520

18.00 字符显示520

18.01 保存和恢复dos的环境设置523

18.02 程序运行时间的测量525

18.03 其他函数525

18.04 接口函数526

18.05 参考文献544

附录ac语言编程规约545

a.01 文件头545

a.02 文件包含546

a.03 标志符命名法547

a.04 缩写、略语及助记符548

a.05 注解550

a.06 定义语句550

a.07 数据类型551

a.08 局部变量552

a.09 函数原型552

a.10 函数声明553

a.11 缩进格式554

a.12 语句和表达式556

a.13 结构和联合557

a.14 参考文献558

附录bμc/osii的使用许可证559

b.01 用于学院和大学教学559

b.02 用于商业目的559

附录cμc/osii速查手册560

附录d工具程序to574

附录e参考文献576

附录f本书所附光盘578

f.01 文件和目录579

 

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

嵌入式实时操作系统μC/OS-II
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon