¥ 65.69 6.6折 ¥ 99 九品
仅1件
作者彭东 著
出版社机械工业出版社
出版时间2015-10
版次1
装帧平装
货号A3
上书时间2024-12-23
刖吾
第1章操作系统的功能及为什么
需要它 1
1.1从hello world开始 1
1.2操作系统功能演进 3
1.3小结 7
第2章硬件平台 8
2.1选择平台 8
2.1.1 mini2440 8
2.1.2 mini2440平台的信息 9
2.2必须要关注的硬件 13
2.2.1原因 14
2.2.2 RTC 15
2.2.3定时器 16
2.2.4串口 17
2.2.5中断控制器 18
2.2.6 SDRAM 19
2.2.7 NOmaSh 23
2.2.8 Nandflash 24
2.3小结 26
第3章处理器 28
3.1 ARM公司与其处理器 28
3.2 ARM920T的结构与特性 29
3.2.1 ARM920T CPU结构 29
3.2.2 ARM920TCPU特性 32
3.3 ARM920T存储体系 33
3.3.1 ARM920T地址空间 33
3.3.2 ARM920T存储器格式 34
3.3.3 ARM920T存储地址对齐 -35
3.4 ARM920T状态 35
3.4.1 ARM状态 36
3.4.2 Thumb状态 36
3.5ARM920T处理器的7种工作模式 37
3.6寄存器 38
3.7异常和中断 43
3.7.1什么是异常和中断 43
3.7.2异常中断向量 46
3.8ARM920T指令集 47
3.8.1 指令及其编码格式 48
3.8.2分支跳转指令 50
3.8.3数据处理指令 53
3.8.4装载和存储指令 63
3.8.5程序状态寄存器操作指令 73
3.8.6协处理器操作指令 76
3.8.7异常中断产生指令 79
3.9 MMU 80
3.9.1 MMU概述 80
3.9.2为什么要有MMU 82
3.9.3 ARM920T CP15协处理器85
3.9.4 MMU页表
3.9.5 MMU页面访问权限的控制 98
3.9.6 MMU的快表TLB 113
3.9.7 MMU的编程接口 114
3.10 Cache115
3.10.1 ARM920T的Cache 115
3.10.2 Cache的原理116
3.10.3 Cache的类型及要注意的
问题117
3.10.4 ARM920T Cache的编程接口 l 19
3.11小结 120
第4章操作系统内核的设计与构建 122
4.1 操作系统内核的设计 122
4.1.1 内核要完成的功能 123
4.1.2内核的架构 124
4.1.3分离硬件的相关性 126
4.1.4我们的选择 127
4.2开发环境及相关工具 129
4.2.1 Linux环境 129
4.2.2文本编辑器 132
4.2.3 GCC 134
4.2.4 LD 136
4.2.5 make “l39
4.3 LMOSEM的构建系统 142
4.3.1 LMOSEM的makefile 142
4.3.2 LMOSEM的链接脚本 147
4.4开发板的安装 150
4.5小结 154
第5章语言间调用约定与基本数据
结构 156
5.1寄存器使用约定 156
5.1.1寄存器别名 157
5.1.2参数传递与返回值 157
5.2基本数据结构 159
5.2.1 C语言的基本数据结构 160
5.2.2 list h t数据结构 16l
5.2.3 spinlock_t数据结构 164
5.2.4 kwlst t数据结构 165
5.2.5 sem t数据结构 166
5.3数据结构存在于内存中的形式 l68
5.4 C与汇编的混用 170
5.5小结 174
第6章内核初始化 175
6.1开始 175
6.1.1第一行汇编代码 175
6.1.2第一个C函数 178
6.2 MMU和中断向量的初始化 181
6.2.1初始化MMU “181
6.2.2复制中断向量 -186
6.3串口初始化 190
6.3.1串口硬件 190
6.3.2 内核的printf 196
6.4机器数据结构 201
6.4.1设计数据结构 201
6.4.2确定一些重要数据结构与内核
的地址 ”203
6.5初级内存管理初始化 205
6.5.1设计一些数据结构 -205
6.5.2初始化mmapdsc_t结构数组 209
6.5.3建立起内存分配数据结构 212
6.6中断初始化 215
6.6.1设计一些数据结构 215
6.6.2初始中断源描述符 -220
6.7初始化测试 222
6.8小结 225
?第7章内存管理 226
7.1 内核功能层入口 226
7.2 内存管理组件的设计 228
7.3块级内存管理 229
7.3.1块级内存管理数据结构视图 229
7.3.2块级内存管理接口 230
7.3.3主分配函数 232
7.3.4分配时查找alcfrelst_t 234
7.3.5分配时查找和操作
mm叩dsc_t 236
7.3.6分配代码写得对吗 239
7.3.7主释放函数 240
7.3.8释放时查找alcfrelst 241
7.3.9释放时查找和操作
HHnapdscj 242
7.3.10测试块级内存管理层 246
7.4页级内存管理 -248
7.4.1 页级内存管理接口及调用
流程 248
7.4.2相关的数据结构 25 1
7.4.3页级内存管理初始化 254
7.4.4分配主函数 256
7.4.5分配时查找mplhead-t 257
7.4.6分配时新建页级内存池 258
7.4.7分配时操作mplhead_t 262
7.4.8分配代码写得对吗 263
7.4.9释放主函数 265
7.4.10释放时查找mplhead-t ”266
7.4.11释放时操作mpmeadj “268
7.4.12释放时删除页级内存池 269
7.4.13测试页级内存管理层 271
7.5字级内存管理 273
7.5.1字级内存接口及调用流程 274
7.5.2相关的数据结构 275
7.5.3分配主函数 276
^
7.5.4分配时查找mplhead』 278
7.5.5分配时新建字级内存池 279
7.5.6分配时操作mplhead_t 282
7.5.7分配代码写得对吗 283
7.5.8释放主函数 一285
7.5.9释放时查找mpmead_j 285
7.5.10释放时操作mplhead_t “287
7.5.11释放时删除字级内存池 “288
7.5.12测试字级内存管理层 289
7.6小结 292
第8章中断管理 293
8.1 中断与中断控制器 293
8.1.1什么是中断 --293
8.1.2 S3C2440A中断控制器 294
8.2 中断管理的架构与相关数据
结构 298
8.2.1 中断管理的架构 -298
8.2.2设计数据结构intfltdscj
和intserdsc-t ”298
8.3中断处理 -301
8.3.1 中断辅助例程 301
8.3.2从中断向量开始 “305
8.3.3 保存CPU上下文 306
8.3.4中断主分派例程 3 lO
8.3.5确定中断源 “314
8.3.6调用中断处理例程 317
8.4安装中断回调例程 319
8.5小结 322
第9章驱动模型 323
9.1操作系统内核如何管理设备 ”323
9.1.1分权而治 323
9.1.2设备类型 325
9.1.3驱动程序 327
?9.2相关数据结构 。328
9.2.1驱动 一329
9.2.2派发例程类型 一329
9.2.3设备ID “330
9.2.4设备 “331
9.2.5 10包 “332
9.2.6设备表 ”333
9.3驱动模型的基础设施 335
9.3.1驱动程序从哪里执行 335
9.3.2新建与注册设备 340
9.3.3注册回调函数 ”344
9.3.4发送IO包 一345
9.3.5调用驱动程序函数 346
9.3.6等待服务 ”347
9.3.7完成服务 ”350
9.3.8驱动模型辅助函数 352
9.4 systick驱动程序实例 ~356
9.4.1 systick硬件 ”356
9.4.2 systick驱动程序框架 -360
9.4.3 systick驱动程序实现 ‘362
9.4.4测试systick驱动程序 368
9.5 RTC驱动程序实例 -370
9.5.1 RTC硬件 一370
9.5.2 RTC驱动程序实现 375
9.6小结 ”385
第10章进程 386
10.1应用程序的运行 386
10.1.1程序运行需要什么资源 387
10.1.2任何时刻资源都可用吗 388
10.1.3提出多道程序模型 389
10.2相关的数据结构 390
10.2.1设计进程的数据结构 391
10.2.2调度进程表 ”392
10.3 LMOSEM内核的第一个进程 394
10.3.1进程管理组件的初始化 395
10.3.2建立空转进程 396
10.3.3空转进程运行 399
10.4新建进程 404
10.4.1分配进程描述符 404
10.4.2分配内存空间 406
10.4.3加入进程调度表 408
10.5进程调度 410
10.5.1调度算法 ”410
10.5.2处理进程时间片 411
10.5.3检查调度状态 414
10.5.4选择进程 ”415
10.5.5进程切换 一418
10.5.6进程等待与唤醒 421
10.5.7进程测试 “425
10.6小结 -428
第11章文件系统 430
11.1文件系统设计 430
11.1.1文件系统只是一个设备 430
11.1.2数据格式与存储块 432
11.1.3如何组织文件 433
11.1.4关于我们文件系统的限制 434
11.2相关的数据结构 434
11.2.1超级块 435
11.2.2位图 435
11.2.3 目录 一437
11.2.4文件管理头 “438
11.3文件系统格式化 440
11.3.1建立超级块 ”440
11.3.2建立位图 445
11.3.3建立根目录 448
11.4文件系统基础操作 452
11.4.1获取与释放根目录文件 -453
11.4.2字符串操作 455
11.4.3分解路径名 457
11.4.4检查文件是否存在 459
11.5文件操作 460
11.5.1新建文件 461
11.5.2删除文件 463
11.5.3打开文件 466
11.5.4读写文件 469
11.5.5关闭文件 472
11.5.6驱动整合 473
11.6文件系统测试 475
11.6.1格式化测试 475
11.6.2文件操作测试 479
11.7小结 482
第12章系统调用与应用程序库 483
12.1系统调用机制 483
12.1.1软中断指令 484
12.1.2传递系统调用参数 486
12.1.3 系统调用分发器 488
12.2时间管理系统调用 489
12.3进程管理系统调用 492
12.3.1进程的运行与退出 492
12.3.2获取进程的ID 494
12.4内存管理系统调用 496
12.5设备与文件系统调用 498
12.5.1设备与文件的打开 498
12.5.2设备与文件的关闭 506
12.5.3设备与文件的读写 508
12.5.4设备与文件的控制 5 12
12.6应用程序库 514
12.7测试 520
12.8小结 526
后记 528
深度探索嵌入式操作系统
九五品枣庄
¥ 49.61
深度探索嵌入式操作系统
八五品上海
¥ 65.40
深度探索嵌入式操作系统
八五品北京
¥ 80.40
深度探索嵌入式操作系统:从零开始设计、架构和开发
九品北京
¥ 66.58
深度探索嵌入式操作系统:从零开始设计、架构和开发
九品郑州
¥ 46.00
深度探索嵌入式操作系统:从零开始设计、架构和开发
九品北京
¥ 64.53
深度探索嵌入式操作系统:从零开始设计、架构和开发
九五品廊坊
¥ 70.21
深度探索嵌入式操作系统:从零开始设计、架构和开发
九品北京
¥ 100.00
深度探索嵌入式操作系统:从零开始设计、架构和开发
八五品武汉
¥ 50.00
深度探索嵌入式操作系统:从零开始设计、架构和开发
八五品北京
¥ 60.00
— 没有更多了 —
以下为对购买帮助不大的评价