本篇主要提供嵌入式系统Linux内核开发实战指南(含1电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
基本信息
书名:嵌入式系统Linux内核开发实战指南(ARM平台)(含光盘1
定价:168元
作者:王洪辉著
出版社:电子工业出版社
出版日期:2009-03-01
ISBN:9787121079191
字数:1619000
页码:1124
版次:1
装帧:平装
开本:16开
商品重量:0.002kg
编辑推荐
技术总监辞职一年精心写作
·作者希望认识技术水平本书内容的专家(hxz@phei..)
·对于经验非常丰富的高手,可以参照详细目录直接阅读代码透析Linuxl为核实现原理的相关章节
·对于入行多年的工程师,本书包合作者10多年的实战经验与技能,让你遇到难题不求人
·对于刚起步的初学者,本书详细介绍了嵌入式Linux开发流程和方法,让你快速入门,不走弯路
内容提要
《嵌入式系统Linux开发实战指南(ARM平台)》凝聚了作者12年的工作经验和学习心得与体会,内容覆盖了嵌入式系统Linux内核开发的各个方面。
作者根据自己11年的一线工作经验,介绍了嵌入式系统的概念、组织架构、工作原理、软硬件设计流程、开发调试方法以及嵌入式Linux的开发方法与技能,其中列举了许多作者工作中的实际案例;
另外,作者根据自己反复阅读Linux2.6内核源代码和Linux内核参考书的笔记与心得,用很大篇幅深入剖析了Linux内核的组成结构以及各组件的实现原理,在阐述理论的同时对内核源代码进行详细注释,这样既加深了对Linux内核原理的理解,又可引导读者自行阅读、分析内核源代码;
该书共32章,分为四部分,每一部分的内容既相互独立,又彼此关联,读者可以根据自己的实际情况有选择地阅读,不必严格依照书中的章节顺序。
目录
部分 嵌入式系统硬件开发
章 嵌入式系统概述
1.1 嵌入式系统概念
1.2 嵌入式处理器
1.3 嵌入式系统应用
1.4 嵌入式系统发展
1.5 一些嵌入式处理器的硬件特性比较
第2章 ARM处理器概述
2.1 ARM发展历程
2.2 ARM处理器特点
2.3 ARM处理器应用
2.4 ARM体系架构
2.5 ARM处理器
第3章 ARM指令及其寻址方式
3.1 ARM处理器的程序状态寄存器(PSR)
3.2 ARM指令的条件码
3.3 ARM指令介绍
3.4 ARM指令寻址方式
3.5 ARM汇编伪操作(Directive)
3.6 ARM汇编伪指令
3.7 Thumb指令介绍
第4章 ARM处理器内存管理单元(MMU)
4.1 ARM处理器中CP15协处理器的寄存器
4.2 MMU简介
4.3 系统访问存储空间的过程
4.4 ARM处理器地址变换过程
4.5 ARM存储空间访问权限控制
4.6 TLB操作
4.7 存储访问失效
第5章 ARM处理器的Cache和Write Buffer
5.1 Cache和Write Buffer一般性介绍
5.2 ARM处理器中的Cache和Write Buffer
5.3 ARM处理器的快速上下文切换技术
第6章 ARM处理器存储访问一致性问题
6.1 存储访问一致性问题介绍
6.2 Linux中解决存储访问一致性问题的方法
第7章 ARM处理器工作模式与异常中断处理
7.1 ARM处理器工作模式
7.2 ARM处理器异常中断向量表和优先级
7.3 ARM处理器异常中断处理
7.4 ARM处理器的中断(IRQ或FIQ)
第8章 ARM处理器启动过程
8.1 ARM处理器上电/复位操作
8.2 ARM处理器系统初始化过程
8.3 ARM处理器系统初始化编程注意事项
第9章 嵌入式系统设计与调试
9.1 嵌入式系统设计流程
9.2 嵌入式系统硬件原理设计与审核
9.3 硬件设计工具软件
9.4 嵌入式系统调试仿真工具
9.5 嵌入式系统调试诊断方法
0章 自制简易JTAG下载烧写工具
10.1 JTAG简介
10.2 简易JTAG线缆原理
10.3 简易JTAG烧写代码分析
第2部分 Linux内核开发初步
1章 Bootloader
11.1 Bootloader的任务和作用
11.2 各种各样的Bootloader
11.3 Bootloader编译环境
11.4 Bootloader的移植与裁减
11.5 编译Bootloader
11.6 烧写Bootloader
11.7 Bootloader使用举例
11.8 Bootloader修改举例
2章 创建嵌入式Linux开发环境
12.1 安装Linux host
12.2 在虚拟机中安装Linux host
12.3 安装Linux交叉编译环境
12.4 在主机上设置TFTP Server
12.5 在主机上设置DHCP Server
12.6 在主机上设置Tel server
12.7 在开发过程中使用NFS
12.8 设置超级终端
3章 编译Linux内核
13.1 获取Linux内核源代码
13.2 Linux内核目录结构
13.3 配置Linux内核
13.4 编译Linux内核
4章 创建Linux根文件系统
14.1 根文件系统概述
14.2 根文件系统目录结构
14.3 获取根文件系统组件源代码
14.4 编译根文件系统源代码
14.5 创建一个32MB的RAMDISK根文件系统
14.6 在根文件系统中添加驱动模块或者应用程序
5章 固化Linux内核和根文件系统
6章 关于?Clinux
16.1?Clinux简介
16.2?Clinux源代码目录结构
16.3?Clinux与标准Linux的区别
16.4 编译Clinux
第3部分 Linux 2.6内核原理
7章 Linux 2.6.10@ARM启动过程
17.1 Linux 2.6.10中与ARM处理器平台硬件相关的结构和全局变量
17.2 Linux汇编代码入口
17.3 Linux汇编入口处CPU的状态
17.4 start_kernel函数之前的汇编代码执行过程
17.5 start_kernel函数中调用的函数介绍
17.6 init进程执行过程
8章 Linux内存管理
18.1 Linux内存管理概述
18.2 为虚拟(线性地址)存储空间建立页表
18.3 设置存储空间的访问控制属性
18.4 Linux中的内存分配和释放
9章 Linu程管理
19.1 进程管理概述
19.2 进程管理相关初始化
19.3 进程创建与删除
19.4 进程调度
19.5 进程切换
19.6 用户态进程间通信
第20章 Linux文件管理
20.1 文件系统概述
20.2 文件管理相关初始化
20.3 文件系统类型注册
20.4 挂接文件系统
20.5 文件系统类型超级块读取
20.6 路径名查找
20.7 访问文件操作
20.8 异步I/O系统调用
20.9 Linux特殊文件系统
20.10 磁盘文件系统
20.11 关于initramfs
20.12 关于initrd
20.13 关于gzip压缩文件
第21章 Linux模块设计
21.1 Linux模块设计概述
21.2 Linux的内核空间和用户空间
21.3 内核模块与应用程序的区别
21.4 编译模块
21.5 装载和卸载模块
21.6 模块层叠
21.7 模块版本依赖
21.8 模块编程示例
第22章 Linux系统异常中断管理
22.1 Linux异常中断处理
22.2 指令预取和数据访问中止异常中断处理
22.3 Linux中断处理
22.4 从中断返回
22.5 Linux中断管理
22.6 Linux系统调用
第23章 Linux软中断和工作队列
23.1 概述
23.2 Linux软中断
23.3 Linux工作队列
第24章 Linux并发与竞态
24.1 并发与竞态概述
24.2 消除竞态的“锁定”技术
24.3 消除竞态的非“锁定”方法
第25章 Linux设备驱动程序
25.1 设备驱动程序概述
25.2 字符设备驱动程序
25.3 块设备驱动程序
25.4 网络设备驱动程序
25.5 PCI设备驱动程序
第4部分 Linux内核开发高级指南
第26章 Linux系统参数设置
26.1 旗语系统参数(tag)
26.2 前期命令行设置的系统参数
26.3 老式命令行系统参数
26.4 命令行系统参数
第27章 Linux内核调试
27.1 打开Linux内核及其各模块自带的调试开关
27.2 内核剖析(Profiling)
27.3 通过打印调试(printk)
27.4 使用proc文件系统调试
27.5 oops消息1098
27.6 通过跟踪命令strace调试
27.7 使用gdb、kdb、kgdb调试
第28章 Linux内核移植
第29章 Linux内核优化
29.1 编译优化
29.2 根据CPU特性进行优化
29.3 对内核进行裁减
29.4 优化系统内存配置
29.5 优化系统启动过程以缩减系统启动时间
29.6 内存映射优化
29.7 工具软件辅助优化
第30章 Linux定时器
30.1 定时器相关数据结构
30.2 定时器相关宏定义
30.3 定时器相关全局变量
30.4 定时器和时钟初始化
30.5 获取系统时间
30.6 延迟函数
30.7 与定时器相关系统调用
30.8 使用定时器方法
第31章 杂项
31.1 per_cpu变量
31.2 Linux中的数据类型定义
第32章 编译链接文件说明
参考文献
作者介绍
王洪辉,江西丰城人,1996年毕业于华北航天工业学院,被分配到中航北京青云航空仪表公司工作,2000年从青云离职后先后在6家公司工作过;作者一直从事嵌入式系统Linux内核开发工作,在当今各种流行的嵌入式处理器平台和操作系统上都做过开发,编写、移植或者调试过各种设备、
文摘
序言