更新时间:2019-09-23 13:48:18
封面
版权信息
前言
第1章 操作系统的功能及为什么需要它
1.1 从hello world开始
1.2 操作系统功能演进
1.3 小结
第2章 硬件平台
2.1 选择平台
2.1.1 mini2440
2.1.2 mini2440平台的信息
2.2 必须要关注的硬件
2.2.1 原因
2.2.2 RTC
2.2.3 定时器
2.2.4 串口
2.2.5 中断控制器
2.2.6 SDRAM
2.2.7 Norflash
2.2.8 Nandflash
2.3 小结
第3章 处理器
3.1 ARM公司与其处理器
3.2 ARM920T的结构与特性
3.2.1 ARM920T CPU结构
3.2.2 ARM920T CPU特性
3.3 ARM920T存储体系
3.3.1 ARM920T地址空间
3.3.2 ARM920T存储器格式
3.3.3 ARM920T存储地址对齐
3.4 ARM920T状态
3.4.1 ARM状态
3.4.2 Thumb状态
3.5 ARM920T处理器的7种工作模式
3.6 寄存器
3.7 异常和中断
3.7.1 什么是异常和中断
3.7.2 异常中断向量
3.8 ARM920T指令集
3.8.1 指令及其编码格式
3.8.2 分支跳转指令
3.8.3 数据处理指令
3.8.4 装载和存储指令
3.8.5 程序状态寄存器操作指令
3.8.6 协处理器操作指令
3.8.7 异常中断产生指令
3.9 MMU
3.9.1 MMU概述
3.9.2 为什么要有MMU
3.9.3 ARM920T CP15协处理器
3.9.4 MMU页表
3.9.5 MMU页面访问权限的控制
3.9.6 MMU的快表TLB
3.9.7 MMU的编程接口
3.10 Cache
3.10.1 ARM920T的Cache
3.10.2 Cache的原理
3.10.3 Cache的类型及要注意的问题
3.10.4 ARM920T Cache的编程接口
3.11 小结
第4章 操作系统内核的设计与构建
4.1 操作系统内核的设计
4.1.1 内核要完成的功能
4.1.2 内核的架构
4.1.3 分离硬件的相关性
4.1.4 我们的选择
4.2 开发环境及相关工具
4.2.1 Linux环境
4.2.2 文本编辑器
4.2.3 GCC
4.2.4 LD
4.2.5 make
4.3 LMOSEM的构建系统
4.3.1 LMOSEM的makefile
4.3.2 LMOSEM的链接脚本
4.4 开发板的安装
4.5 小结
第5章 语言间调用约定与基本数据结构
5.1 寄存器使用约定
5.1.1 寄存器别名
5.1.2 参数传递与返回值
5.2 基本数据结构
5.2.1 C语言的基本数据结构
5.2.2 list_h_t数据结构
5.2.3 spinlock_t数据结构
5.2.4 kwlst_t数据结构
5.2.5 sem_t数据结构
5.3 数据结构存在于内存中的形式
C数据结构到内存映像
5.4 C与汇编的混用
GCC中嵌入汇编代码的方式
5.5 小结
第6章 内核初始化
6.1 开始
6.1.1 第一行汇编代码
6.1.2 第一个C函数
6.2 MMU和中断向量的初始化
6.2.1 初始化MMU
6.2.2 复制中断向量
6.3 串口初始化