内容介绍
本书涵盖了操作系统的基本概念和原则,展示了如何将它们应用于设计和实现完整的嵌入式与实时操作系统。包括ARM架构、ARM指令和编程、用于开发程序的工具链、用于软件实现和测试的虚拟机、程序执行映像、函数调用约定、运行时堆栈使用以及用汇编代码链接C程序的所有基础和背景信息。
嵌入式与实时操作系统
目录
●出版者的话
译者序
前言
关于作者
第1章引言1
1.1关于本书1
1.2本书的动机1
1.3本书的目标读者1
1.4本书的独特之处2
1.5本书的内容3
1.6本书可作为嵌入式系统的教科书5
1.7本书可作为操作系统的教科书5
1.8本书可用于自学5
参考文献6
第2章ARM体系结构和程序设计7
2.1ARM处理器模式7
2.2ARMCPU寄存器8
2.2.1通用寄存器8
2.2.2状态寄存器8
2.2.3ARM处理器模式的变更9
2.3指令流水线10
2.4ARM指令10
2.4.1条件标志和条件10
2.4.2分支指令11
2.4.3算术运算11
2.4.4比较运算11
2.4.5逻辑运算12
2.4.6数据移动操作12
2.4.7即时值和桶移位器12
2.4.8乘法指令13
2.4.9加载和存储指令13
2.4.10基址寄存器13
2.4.11块数据传输13
2.4.12堆栈操作13
2.4.13堆栈和子例程14
2.4.14软中断14
2.4.15PSR转移指令14
2.4.16协处理器指令14
2.5ARM工具链15
2.6ARM系统模拟器15
2.7ARM程序设计16
2.7.1ARM汇编编程示例116
2.7.2ARM汇编编程示例218
2.7.3汇编和C语言的结合编程19
2.8设备驱动程序25
2.8.1系统内存映射26
2.8.2GPIO编程26
2.8.3串行I/O的UART驱动程序27
2.8.4彩色LCD驱动程序31
2.9本章小结44
思考题44
参考文献45
第3章中断和异常处理46
3.1ARM异常46
3.1.1ARM处理器模式46
3.1.2ARM异常类型47
3.1.3异常向量表48
3.1.4异常处理程序48
3.1.5从异常处理程序返回49
3.2中断50
3.2.1中断类型50
3.2.2中断控制器50
3.2.3主中断控制器和辅中断控制器51
3.3中断处理52
3.3.1向量表内容52
3.3.2硬件中断序列52
3.3.3软件中的中断控制53
3.3.4中断处理程序54
3.3.5非嵌套中断处理程序54
3.4计时器驱动程序55
3.4.1ARMVersatile926EJS计时器55
3.4.2计时器驱动程序实现55
3.5键盘驱动程序60
3.5.1ARMPL050鼠标-键盘接口60
3.5.2键盘驱动程序原理60
3.5.3中断驱动的驱动程序设计60
3.5.4键盘驱动程序实现61
3.6UART驱动程序66
3.6.1ARMPL011UART接口66
3.6.2UART寄存器66
3.6.3中断驱动的UART驱动程序67
3.7安全数字卡72
3.7.1SD卡协议72
3.7.2SDC驱动程序72
3.7.3改进的SDC驱动程序79
3.7.4多扇区数据传输80
3.8向量中断83
3.8.1ARMPL190向量中断控制器83
3.8.2为向量中断配置VIC83
3.8.3向量中断处理程序84
3.8.4向量中断的演示84
3.9嵌套中断86
3.9.1为何需要嵌套中断86
3.9.2ARM中的嵌套中断86
3.9.3在SYS模式下处理嵌套中断87
3.9.4嵌套中断的演示87
3.10嵌套中断和进程切换90
3.11本章小结90
思考题91
参考文献92
第4章嵌入式系统的模型93
4.1嵌入式系统的程序结构93
4.2超级循环模型93
4.3事件驱动模型95
4.3.1超级循环程序的缺点95
4.3.2事件95
4.3.3周期性事件驱动程序95
4.3.4异步事件驱动程序99
4.4事件的优先级100
4.5进程模型101
4.5.1单处理器进程模型101
4.5.2多处理器进程模型101
4.5.3实地址空间进程模型101
4.5.4虚拟地址空间进程模型101
4.5.5静态进程模型101
4.5.6动态进程模型101
4.5.7非抢占式进程模型102
4.5.8抢占式进程模型102
4.6单处理器内核模型102
4.7单处理器操作系统模型102
4.8多处理器系统模型102
4.9实时系统模型102
4.10嵌入式系统软件设计方法论102
4.10.1高级语言支持事件驱动编程103
4.10.2状态机模型103
4.10.3StateChart模型107
4.11本章小结107
思考题107
参考文献108
第5章嵌入式系统中的进程管理109
5.1多任务109
5.2进程的概念109
5.3多任务和上下文切换109
5.3.1一个简单的多任务程序109
5.3.2上下文切换111
5.3.3多任务处理的演示116
5.4动态进程117
5.4.1动态进程的创建117
5.4.2动态进程的演示119
5.5进程调度120
5.5.1进程调度术语120
5.5.2进程调度的目标、策略和算法120
5.5.3嵌入式系统中的进程调度121
5.6进程同步121
5.6.1睡眠和唤醒121
5.6.2使用睡眠/唤醒的设备驱动程序122
5.6.3使用睡眠/唤醒的事件驱动嵌入式系统125
5.6.4使用睡眠/唤醒的资源管理127
5.7信号量128
5.8信号量的应用129
5.8.1信号量锁129
5.8.2互斥锁130
5.8.3使用信号量的资源管理130
5.8.4等待中断和消息130
5.8.5进程协作130
5.8.6信号量的优势132
5.8.7使用信号量的注意事项132
5.8.8在嵌入式系统中使用信号量132
5.9其他同步机制134
5.9.1OpenVMS中的事件标志
……
内容介绍
本书涵盖了操作系统的基本概念和原则,展示了如何将它们应用于设计和实现完整的嵌入式与实时操作系统。包括ARM架构、ARM指令和编程、用于开发程序的工具链、用于软件实现和测试的虚拟机、程序执行映像、函数调用约定、运行时堆栈使用以及用汇编代码链接C程序的所有基础和背景信息。
微信支付
支付宝
扫一扫购买