嵌入式实时操作系统的多线程计算:基于ThreadX和ARM

嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2005-10
版次: 1
ISBN: 9787810776295
定价: 46.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 328页
字数: 487千字
25人买过
  •   本书介绍和分析了嵌入式系统的重要概念和应用设计方法,并提供了多个基于ARM平台的多线程应用实例。重点从实时、多线程、ThreadX和ARM处理器结合的角度进行展开,并用实际的案例分析将它们与应用相结合。读者可从中获得完成自己的应用所需的所有细节,包括ARM处理器的概况和ThreadX实时操作系统(RTOS)所提供的所有服务。
      本书面向高校计算机专业师生、嵌入式应用的中高级设计开发人员、实时系统的应用与研究人员,也可作为高校计算机及相关专业的嵌入式课程教材。 第1章嵌入式实时操作系统1
    1.1介绍1
    1.2何谓嵌入式系统1
    1.3嵌入式系统的特征2
    1.4实时系统2
    1.5实时操作系统和实时内核2
    1.6进程、任务和线程3
    1.7实时系统的系统结构4
    1.8嵌入式系统的开发5
    1.9关键词和术语5
    第2章初步了解使用RTOS的系统7
    2.1操作环境7
    2.2ThreadX演示系统的安装7
    2.3包含两个线程的演示系统7
    2.4创建线程对象9
    2.5编译并执行示例系统11
    2.6系统和输出结果的分析11
    2.702_sample_system.c代码清单12
    2.8关键词和术语17
    2.9问题18
    第3章RTOS概念和定义19
    3.1介绍19
    3.2优先级19
    3.3就绪线程和挂起线程20
    3.4占先,基于优先级的调度21
    3.5轮转调度21
    3.6确定性22
    3.7内核22
    3.8RTOS22
    3.9上下文切换23
    3.10时间片轮转23
    3.11中断处理23
    3.12线程饥饿23
    3.13优先级翻转24
    3.14优先级继承24
    3.15抢占阀值25
    3.16关键词和术语25
    3.17问题26
    第4章用于系统开发的基本RTOS组件27
    4.1介绍27
    4.2定义公共资源27
    4.3ThreadX数据类型28
    4.4线程28
    4.5内存池29
    4.6应用定时器31
    4.7互斥量31
    4.8计数信号量32
    4.9事件标志组33
    4.10消息队列33
    4.11线程同步和通信组件总结34
    4.12关键词和术语35
    4.13问题36
    第5章ARM微处理器简介37
    5.1介绍37
    5.2历史37
    5.3技术特征38
    5.3.1兼容片上系统38
    5.3.2低功耗39
    5.3.3改进的代码密度39
    5.3.4多样化的寄存器39
    5.3.5CPSR的定义41
    5.3.6处理器模式42
    5.4ARM对节能的支持43
    5.5关键词和术语43
    第6章线程45
    6.1介绍45
    6.2线程控制块45
    6.3线程调用综述46
    6.4创建线程47
    6.5删除线程52
    6.6识别线程53
    6.7获取线程信息53
    6.8改变抢占门限54
    6.9改变优先级54
    6.10放弃执行55
    6.11恢复线程执行55
    6.12线程睡眠55
    6.13挂起线程56
    6.14中止线程56
    6.15改变时间片56
    6.16中止线程等待57
    6.17线程执行综述57
    6.18线程状态58
    6.19线程设计59
    6.19.1最小化线程的数量60
    6.19.2谨慎设置优先级60
    6.19.3最小化优先级的数目60
    6.19.4考虑使用抢占门限60
    6.19.5考虑优先级继承61
    6.19.6考虑轮转调度方式61
    6.19.7考虑时间片61
    6.20线程内部结构61
    6.21总结62
    6.22关键词和术语63
    6.23问题64
    第7章互斥量66
    7.1介绍66
    7.2保护临界区66
    7.3提供对共享资源的互斥访问67
    7.4互斥量控制块67
    7.5互斥量服务综述68
    7.6创建一个互斥量68
    7.7删除一个互斥量69
    7.8申请互斥量69
    7.9获取互斥量信息70
    7.10按优先级调整挂起队列71
    7.11释放一个信号量71
    7.12避免死锁72
    7.13用互斥量保护临界区的示例程序73
    7.14示例程序的输出78
    7.1507_sample_system.c代码清单80
    7.16互斥量内部结构85
    7.17总结86
    7.18关键词和术语86
    7.19问题87
    第8章内存管理:字节池和块池88
    8.1介绍88
    8.2内存字节池概述88
    8.3内存字节池控制块89
    8.4内存字节池的缺陷90
    8.5内存字节池服务概述91
    8.6创建内存字节池91
    8.7从内存字节池中分配内存92
    8.8删除内存字节池92
    8.9获取内存字节池信息93
    8.10优先排列内存字节池挂起列表93
    8.11释放内存到内存字节池94
    8.12内存字节池例程——分配线程堆栈94
    8.13内存字节池内部机制95
    8.14内存块池概述97
    8.15内存块池控制块98
    8.16内存块池服务概述98
    8.17创建内存块池99
    8.18从内存块池中分配内存100
    8.19删除内存块池100
    8.20获取内存块池信息101
    8.21优先排列内存块池挂起列表102
    8.22释放内存块102
    8.23内存块池例程——分配线程堆栈103
    8.24内存块池内部机制104
    8.25总结和对比104
    8.26关键词和术语105
    8.27问题105
    第9章内部系统时钟和应用定时器107
    9.1介绍107
    9.2内部系统时钟服务108
    9.3应用定时器控制块109
    9.4应用定时器服务概述110
    9.5创建应用定时器110
    9.6启动应用定时器111
    9.7修改应用定时器112
    9.8停止应用定时器112
    9.9删除应用定时器113
    9.10获取应用定时器信息113
    9.11使用定时器测量线程性能的例程114
    9.1209_sample_system.c代码清单117
    9.13应用定时器内部机制123
    9.14总结124
    9.15关键词和术语124
    9.16问题125
    第10章事件通知和利用信号量同步线程127
    10.1介绍127
    10.2计数信号量控制块128
    10.3避免死锁129
    10.4防止优先级倒置129
    10.5信号量服务综述129
    10.6创建一个信号量129
    10.7删除一个信号量130
    10.8从信号量申请一个实例131
    10.9获取信号量的信息131
    10.10按优先级调整信号量的挂起队列132
    10.11向信号量放入一个实例132
    10.12对比信号量和互斥量133
    10.13使用二进制信号量代替互斥量的示例程序134
    10.1410a_sample_system.c代码清单135
    10.15在生产者—消费者程序中使用信号量的例子142
    10.1610b_sample_system.c代码清单144
    10.17信号量内部结构150
    10.18总结151
    10.19关键词和术语151
    10.20问题152
    第11章用事件标志组同步线程153
    11.1介绍153
    11.2事件标志组控制块154
    11.3事件标志组服务综述155
    11.4创建一个组155
    11.5删除一个组156
    11.6等待组中的标志被置位156
    11.7获取组的信息159
    11.8设置组中的事件标志159
    11.9使用事件标志组同步两个线程的示例系统161
    11.1011_sample_system.c代码清单164
    11.11事件标志组内部结构170
    11.12总结171
    11.13关键词和术语171
    11.14问题172
    第12章使用消息队列进行线程通信173
    12.1介绍173
    12.2消息队列控制块174
    12.3消息队列服务函数的概要175
    12.4创建消息队列176
    12.5向消息队列发送消息176
    12.6从消息队列中获取消息177
    12.7删除消息队列178
    12.8清除消息队列中的内容178
    12.9向消息队列头发送消息179
    12.10检索消息队列信息179
    12.11将消息队列挂起列表以优先顺序排列180
    12.12使用消息队列作为线程间通信的示例系统181
    12.1312_sample_system.c代码清单184
    12.14消息队列的内部190
    12.15总结191
    12.16关键词和术语192
    12.17问题192
    第13章ARM异常处理193
    13.1介绍193
    13.2ThreadX对ARM异常处理的实现194
    13.2.1复位向量的初始化194
    13.2.2线程的调度196
    13.2.3ThreadX中断处理199
    13.2.4内部中断处理201
    13.3关键词和术语203
    第14章案例分析:设计一个多线程系统204
    14.1介绍204
    14.2问题的描述205
    14.3问题的分析207
    14.4系统的设计209
    14.4.1线程设计209
    14.4.2公共资源设计210
    14.5实现213
    14.6VAMSystem代码清单226
    14.7总结237
    附录239
    附录A内存块池服务241
    附录B内存字节池服务249
    附录C事件标志组服务257
    附录D中断控制服务265
    附录E互斥量服务267
    附录F消息队列服务函数275
    附录G信号量服务287
    附录H线程服务295
    附录I内部系统时钟服务313
    附录J应用定时器服务315
    附录KThreadXAPI323
  • 内容简介:
      本书介绍和分析了嵌入式系统的重要概念和应用设计方法,并提供了多个基于ARM平台的多线程应用实例。重点从实时、多线程、ThreadX和ARM处理器结合的角度进行展开,并用实际的案例分析将它们与应用相结合。读者可从中获得完成自己的应用所需的所有细节,包括ARM处理器的概况和ThreadX实时操作系统(RTOS)所提供的所有服务。
      本书面向高校计算机专业师生、嵌入式应用的中高级设计开发人员、实时系统的应用与研究人员,也可作为高校计算机及相关专业的嵌入式课程教材。
  • 目录:
    第1章嵌入式实时操作系统1
    1.1介绍1
    1.2何谓嵌入式系统1
    1.3嵌入式系统的特征2
    1.4实时系统2
    1.5实时操作系统和实时内核2
    1.6进程、任务和线程3
    1.7实时系统的系统结构4
    1.8嵌入式系统的开发5
    1.9关键词和术语5
    第2章初步了解使用RTOS的系统7
    2.1操作环境7
    2.2ThreadX演示系统的安装7
    2.3包含两个线程的演示系统7
    2.4创建线程对象9
    2.5编译并执行示例系统11
    2.6系统和输出结果的分析11
    2.702_sample_system.c代码清单12
    2.8关键词和术语17
    2.9问题18
    第3章RTOS概念和定义19
    3.1介绍19
    3.2优先级19
    3.3就绪线程和挂起线程20
    3.4占先,基于优先级的调度21
    3.5轮转调度21
    3.6确定性22
    3.7内核22
    3.8RTOS22
    3.9上下文切换23
    3.10时间片轮转23
    3.11中断处理23
    3.12线程饥饿23
    3.13优先级翻转24
    3.14优先级继承24
    3.15抢占阀值25
    3.16关键词和术语25
    3.17问题26
    第4章用于系统开发的基本RTOS组件27
    4.1介绍27
    4.2定义公共资源27
    4.3ThreadX数据类型28
    4.4线程28
    4.5内存池29
    4.6应用定时器31
    4.7互斥量31
    4.8计数信号量32
    4.9事件标志组33
    4.10消息队列33
    4.11线程同步和通信组件总结34
    4.12关键词和术语35
    4.13问题36
    第5章ARM微处理器简介37
    5.1介绍37
    5.2历史37
    5.3技术特征38
    5.3.1兼容片上系统38
    5.3.2低功耗39
    5.3.3改进的代码密度39
    5.3.4多样化的寄存器39
    5.3.5CPSR的定义41
    5.3.6处理器模式42
    5.4ARM对节能的支持43
    5.5关键词和术语43
    第6章线程45
    6.1介绍45
    6.2线程控制块45
    6.3线程调用综述46
    6.4创建线程47
    6.5删除线程52
    6.6识别线程53
    6.7获取线程信息53
    6.8改变抢占门限54
    6.9改变优先级54
    6.10放弃执行55
    6.11恢复线程执行55
    6.12线程睡眠55
    6.13挂起线程56
    6.14中止线程56
    6.15改变时间片56
    6.16中止线程等待57
    6.17线程执行综述57
    6.18线程状态58
    6.19线程设计59
    6.19.1最小化线程的数量60
    6.19.2谨慎设置优先级60
    6.19.3最小化优先级的数目60
    6.19.4考虑使用抢占门限60
    6.19.5考虑优先级继承61
    6.19.6考虑轮转调度方式61
    6.19.7考虑时间片61
    6.20线程内部结构61
    6.21总结62
    6.22关键词和术语63
    6.23问题64
    第7章互斥量66
    7.1介绍66
    7.2保护临界区66
    7.3提供对共享资源的互斥访问67
    7.4互斥量控制块67
    7.5互斥量服务综述68
    7.6创建一个互斥量68
    7.7删除一个互斥量69
    7.8申请互斥量69
    7.9获取互斥量信息70
    7.10按优先级调整挂起队列71
    7.11释放一个信号量71
    7.12避免死锁72
    7.13用互斥量保护临界区的示例程序73
    7.14示例程序的输出78
    7.1507_sample_system.c代码清单80
    7.16互斥量内部结构85
    7.17总结86
    7.18关键词和术语86
    7.19问题87
    第8章内存管理:字节池和块池88
    8.1介绍88
    8.2内存字节池概述88
    8.3内存字节池控制块89
    8.4内存字节池的缺陷90
    8.5内存字节池服务概述91
    8.6创建内存字节池91
    8.7从内存字节池中分配内存92
    8.8删除内存字节池92
    8.9获取内存字节池信息93
    8.10优先排列内存字节池挂起列表93
    8.11释放内存到内存字节池94
    8.12内存字节池例程——分配线程堆栈94
    8.13内存字节池内部机制95
    8.14内存块池概述97
    8.15内存块池控制块98
    8.16内存块池服务概述98
    8.17创建内存块池99
    8.18从内存块池中分配内存100
    8.19删除内存块池100
    8.20获取内存块池信息101
    8.21优先排列内存块池挂起列表102
    8.22释放内存块102
    8.23内存块池例程——分配线程堆栈103
    8.24内存块池内部机制104
    8.25总结和对比104
    8.26关键词和术语105
    8.27问题105
    第9章内部系统时钟和应用定时器107
    9.1介绍107
    9.2内部系统时钟服务108
    9.3应用定时器控制块109
    9.4应用定时器服务概述110
    9.5创建应用定时器110
    9.6启动应用定时器111
    9.7修改应用定时器112
    9.8停止应用定时器112
    9.9删除应用定时器113
    9.10获取应用定时器信息113
    9.11使用定时器测量线程性能的例程114
    9.1209_sample_system.c代码清单117
    9.13应用定时器内部机制123
    9.14总结124
    9.15关键词和术语124
    9.16问题125
    第10章事件通知和利用信号量同步线程127
    10.1介绍127
    10.2计数信号量控制块128
    10.3避免死锁129
    10.4防止优先级倒置129
    10.5信号量服务综述129
    10.6创建一个信号量129
    10.7删除一个信号量130
    10.8从信号量申请一个实例131
    10.9获取信号量的信息131
    10.10按优先级调整信号量的挂起队列132
    10.11向信号量放入一个实例132
    10.12对比信号量和互斥量133
    10.13使用二进制信号量代替互斥量的示例程序134
    10.1410a_sample_system.c代码清单135
    10.15在生产者—消费者程序中使用信号量的例子142
    10.1610b_sample_system.c代码清单144
    10.17信号量内部结构150
    10.18总结151
    10.19关键词和术语151
    10.20问题152
    第11章用事件标志组同步线程153
    11.1介绍153
    11.2事件标志组控制块154
    11.3事件标志组服务综述155
    11.4创建一个组155
    11.5删除一个组156
    11.6等待组中的标志被置位156
    11.7获取组的信息159
    11.8设置组中的事件标志159
    11.9使用事件标志组同步两个线程的示例系统161
    11.1011_sample_system.c代码清单164
    11.11事件标志组内部结构170
    11.12总结171
    11.13关键词和术语171
    11.14问题172
    第12章使用消息队列进行线程通信173
    12.1介绍173
    12.2消息队列控制块174
    12.3消息队列服务函数的概要175
    12.4创建消息队列176
    12.5向消息队列发送消息176
    12.6从消息队列中获取消息177
    12.7删除消息队列178
    12.8清除消息队列中的内容178
    12.9向消息队列头发送消息179
    12.10检索消息队列信息179
    12.11将消息队列挂起列表以优先顺序排列180
    12.12使用消息队列作为线程间通信的示例系统181
    12.1312_sample_system.c代码清单184
    12.14消息队列的内部190
    12.15总结191
    12.16关键词和术语192
    12.17问题192
    第13章ARM异常处理193
    13.1介绍193
    13.2ThreadX对ARM异常处理的实现194
    13.2.1复位向量的初始化194
    13.2.2线程的调度196
    13.2.3ThreadX中断处理199
    13.2.4内部中断处理201
    13.3关键词和术语203
    第14章案例分析:设计一个多线程系统204
    14.1介绍204
    14.2问题的描述205
    14.3问题的分析207
    14.4系统的设计209
    14.4.1线程设计209
    14.4.2公共资源设计210
    14.5实现213
    14.6VAMSystem代码清单226
    14.7总结237
    附录239
    附录A内存块池服务241
    附录B内存字节池服务249
    附录C事件标志组服务257
    附录D中断控制服务265
    附录E互斥量服务267
    附录F消息队列服务函数275
    附录G信号量服务287
    附录H线程服务295
    附录I内部系统时钟服务313
    附录J应用定时器服务315
    附录KThreadXAPI323
查看详情
系列丛书 / 更多
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式实时系统:调度分析和验证
[美]阿尔伯特陈 著;周强、李峭、杨昕欣 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式实时系统的DSP软件开发技术
[美]奥沙那 著;郑红、刘振强、王鹏 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统译丛:ZigBee无线网络与收发器
[美]法拉哈尼(Shahin Farahani) 著;沈建华、王维华、阔鑫 译;赵然 绘
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系列译丛:电源与供电
[美]马蒂·布朗(Marty Brown) 著;郭利文 译;赵然 绘
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
链接器和加载器
[美]莱文 著;李勇 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统设计
[美]瓦伊德、[美]吉瓦尔吉斯 著;骆丽 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统中的模拟设计
[美]贝克 著;李喻奎 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式Internet TCP/IP基础、实现及应用
[阿根廷]斯卡格丽亚(Scaglia Sergio) 著;潘琢金 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
ARM Cortex-M3权威指南
[英]Joseph Yiu 著;宋岩 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式Ethernet和Internet通信设计技术
[美]阿克塞尔森 著;骆丽 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
基于FPGA&CPLD的数字IC设计方法
[美]泽德曼(Zeidman Bob) 著;赵宏图 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
ARM SoC设计的软件和硬件协同验证
[美]安德鲁斯 著;周立功 译
相关图书 / 更多
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式金融:金融技术应用新革命
[美]斯嘉丽·西贝尔(Scarlett Sieber);[英]苏菲·吉博(Sophie Guibaud)
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统及应用
付少华主编
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统应用开发——基于NI LabVIEW&myRIO的设计与实现
杨帆;张彩丽;刘晋东;李宁
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式单片机技术实战教程
郭海如;熊曾刚;李志敏;赵恒;谈怀江;刘江华;万青;万兴
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式人工智能
杨峰
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入城市:农民工永久迁移意愿及其影响因素研究
陆文荣
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式Linux系统开发 ——基于ARM处理器通用平台(第2版)
冯新宇;蒋洪波;程坤
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统集成开发
代红英;李奇兵;董旭斌;陆鹏;陶翠微
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式系统原理及应用——基于STM32和RT-Thread
胡永涛
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式技术及应用(STM32CubeMX版)
李文华
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式Linux系统原理与应用(微课视频版)
王剑;孙庆生
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
嵌入式Linux驱动开发实践
朱文伟 李建英
您可能感兴趣 / 更多
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
最后一章
[美]厄尼·派尔
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
嵌入式实时操作系统的多线程计算:基于ThreadX和ARM
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译