-
基于S3C44B0X嵌入式μCLinux的嵌入式Linux系统原理及应用
资源介绍
作者: 李岩 荣盘祥
丛书名: 普通高校本科计算机专业特色教材精选
出版社:清华大学出版社
ISBN:7302097259
内容简介回到顶部↑ 本书特色:
1.新颖性:本书以当前最廉价、接口最丰富、占有率最高的ARM内核的处理器芯片——S3C44BOX为基础进行讲
解,并将嵌入式系统理论与当前最流行且最适用于嵌入式应用的Linux操作系统进行整和。
2.知识的系统性:本书从教学和应用出发,将操作系统(Linux)、微机原理(ARM处理器)、汇编/C语言程
序设计、计算机网络等知识进行系统化。
3.易学性和实用性相结合:本书在阐述嵌入式系统的基本理论、主要内容和实际开发应用方法的同时,特别注
重理论和实践相结合,既具有面向教学又具有面向开发与应用的特点。
4.理论与案例相结合:本书在阐述理论知识的同时,给出了简单明了的实验程序和综合示例。
本书着重介绍了目前流行的S3C44B0X微处理器及应用较为广泛的μCLinux嵌入式操作系统。书中作者结合多年的研究和教学经验,介绍了基于S3C44B0X芯片的嵌入式系统的原理、程序设计方法以及实用性程序的开发。
本书共分为12章。第1~第3章介绍了嵌入式系统的基本概念,常用的ARM/Thumb指令系统及编译工具GNUGCC的使用方法;第4~第5章介绍了S3C44BOX芯片的体系结构,结合MICETEK(上海祥佑数码,WWW.micetek.com.cn)EV44BOII开发板介绍了S3C44BOX的接口电路设计方法及编程;第6~第10章介绍了主流的μCLinux操作系统的进程管理、文件系统管理、设备管理、以及用户接口的设计过程,其中包括了开发工具Hitool forμCLinux的使用方法介绍及简单驱动程序的编写;第11~第12章介绍了应用程序开发实例和μCLinux在其他平台上的移植过程。
本书主要从嵌入式理论、方法和应用实践的角度出发,以ARM处理器S3C44BOX为基础,展现了嵌入式系统的基本理论的主要内容和实际应用开发方法。做到学术性、新颖性、可读性和使用性相结合。本书可作为有关嵌入式系统教学的本科生或研究生的教材使用,也可供嵌人式爱好者、从业人员和高等院校师生专业进修和教学之用。
目录回到顶部↑第1章 嵌入式系统导论
1.1 概述
1.1.1 什么是嵌入式系统
1.1.2 嵌入式系统的特点及分类
1.2 嵌入式微处理器和嵌入式操作系统
1。2.1 嵌入式微处理器
1.2.2 嵌入式操作系统
1.3 嵌入式系统设计过程
1.3.1 需求分析
1.3.2 规格说明
1.3.3 体系结构设计
1.3.4 设计硬件构件和软件构件
1.3.5 系统集成
1.3.6 系统测试
小结
习题
第2章 arm/thumb微处理器结构及指令系统
2.1 arm微处理器概述
2.1.1 arm处理器系列
2.1.2 risc体系结构
.2.1.3 arm和thumb状态
2.1.4 寄存器
2.1.5 arm指令集概述
2.1.6 thumb指令集概述
2.2 arm微处理器体系结构
2.2.1 数据类型
2.2.2 arm微处理器的工作状态
2.2.3 arm体系结构的存储器格式
2.2.4 处理器模式
2.2.5 寄存器组织
2.2.6 异常
2.3 arm/thumb指令系统
2.3.1 arm处理器寻址方式
2.3.2 arm指令集介绍
2.3.3 thumb指令集介绍
小结
习题
第3章 程序设计基础
3.1 gnugcc简介
3.1.1 gcc组成
3.1.2 gcc编译程序的基本过程
3.2 c/c++交叉编译器arm-elf-gee
3.2.1 概述
3.2.2 命令使用
3.3 交叉连接器arm-elf-id
3.3.1 概述
3.3.2 命令使用
3.3.3 linkemds链接命令文件
3.4 工程管理器make
3.4.1 概述
3.4.2 命令使用
3.4.3 编写--个makefile
3.5 交叉汇编器arm-elf-as
3.5.1 概述
3.5.2 命令使用
3.6 汇编语言编程
3.6.1 汇编语言
3.6.2 宏语句与条件汇编
3.6.3 模块化程序设计
3.6.4 内存模式
3.6.5 strongarm & arm7
3.7 简单程序设计
3.7.1 顺序程序设计
3.7.2 分支程序设计
3.7.3 循环程序设计
3.7.4 子程序设计
3.8 混合语言编程
3.8.1 如何在c语言内嵌汇编语言
3.8.2 c与汇编相互调用
小结
习题
第4章 s3c44box硬件结构及功能
4.1 s3c44box简介
4.2 存储器管理
4.2.1 s3c44box存储系统的特征
4.2.2 寄存器定义
4.3 时钟和功耗管理
4.3.1 概述
4.3.2 寄存器定义
4.4 cpu wrapper和总线特性
4.4.1 概述
4.4.2 内部sram
4.4.3 总线优先级
4.4.4 写缓冲区操作
4.4.5 特殊寄存器
4.5 dma控制器
4.5.1 概述
4.5.2 dma寄存器
4.6 i/o端口
4.6.1 概述
4.6.2 端口控制寄存器
4.7 pwm定时器和看门狗定时器
4.7.1 概述
4.7.2 pwm定时器操作
4.7.3 pwm定时器控制寄存器
4.7.4 看门狗定时器
4.8 日历时钟
4.8.1 概述
4.8.2 rtc时钟单元
4.8.3 实时时钟寄存器定义
4.9 中断管理
4.9.1 概述
4.9.2 中断控制器
4.9.3 中断控制寄存器
4.10 串行口管理
4.10.1 概述
4.10.2 uart操作
4.10.3 中断/dma请求产生器
4.10.4 uart错误状态fifo
4.10.5 波特率发生器
4.10.6 回送模式
4.10.7 红外通信模式
4.10.8 uart寄存器
4.11 lcd控制器
4.11.1 lcd工作原理
4.11.2 s3c44box的内部lcd控制器介绍
4.11.3 lcd控制器的操作
4.11.4 lcd控制器专用寄存器
4.12 iis总线接口
4.12.1 iis总线概述
4.12.2 传输方式
4.12.3 声音串口格式
4.12.4 采样频率和主时钟
4.12.5 iis操作
4.12.6 iis总线接口寄存器
4.13 其他接口管理
4.13.1 83c44box的iic总线接口
4.13.2 a/d转换器
4.13.3 sio(同步i/o)
小结
习题
第5章 s3c44box接口电路设计与编程
5.1 micetek ev44boii开发板简介
5.1.1 存储地址空间分配
5.1.2 i/o口配置
5.1.3 电源、时钟及复位电路
5.1.4 mbl(micetek boot loader)介绍
5.2 存储器电路设计及编程
5.2.1 bootflash电路及编程
5.2.2 sdram电路设计及编程
5.3 网络、usb和iis电路设计及编程
5.3.1 网络接口
5.3.2 usb电路
5.3.3 iis电路设计及编程
5.4 人机接口电路设计及编程
5.4.1 键盘电路设计及编程
5.4.2 lcd接口电路设计及编程
5.4.3 触摸屏电路设计及编程
5.4.4 8段数码管电路设计及编程
5。5 串行接口电路设计及编程
5.5.1 串行电路接口
5.5.2 编程
5.6 iic接口电路设计及编程
5.6.1 eeprom芯片介绍
5.6.2 eeprom读/写操作
5.6.3 初始化
5.7 其他接口电路设计及编程
5.7.1 定时器编程
5.7.2 实时日历时钟rtc
5.7.3 a/d转换器电路设计及编程
小结
习题
第6章 嵌入式linux开发
6.1 嵌入式linux概况
6.1.1 嵌入式linux
6.1.2 嵌入式linux的组成
6.1.3 嵌入式linux的版本
6.2 μclinux开发介绍
6.2.1 启动模块
6.2.2 内核初始化
6.2.3 系统调用处理/异常处理
6.2.4 驱动程序
6.2.5 文件系统
6.2.6 内存管理
6.2.7 进程管理
6.2.8 运行时间库及应用程序
6.3 μclinux启动过程
6.4 开发工具介绍
6.4.1 安装
6.4.2 开发环境的建立
6.4.3 调试方法
6.5 内核的配置和编译
6.5.1 配置内核
6.5.2 编译内核
6.6 内核的调试
6.6.1 下载/μclinux内核
6.6.2 几个调试窗口
小结
习题
第7章 进程/线程管理
7.1 进程概念及组成
7.1.1 进程概念
7.1.2 进程的组成
7.2 进程调度
7.2.1 信号
7.2.2 进程状态
7.2.3 进程调度
7.3 进程运行和控制
7.4 进程通信与同步
7.4.1 进程通信
7.4.2 进程同步
7.5 线程概念及分类
7.5.1 线程特点
7.5.2 线程的基本概念
7.5.3 线程的分类
7.6 线程基础
7.6.1 线程的基本操作函数
7.6.2 简单的多线程编程
7.7 线程应用中的同步问题
7.7.1 特定线程数据
7.7.2 互斥锁
7.7.3 读写锁
7.7.4 记录上锁
7.7.5 条件变量
7.7.6 信号量
小结
习题
第8章 存储管理
8.1 flat平模式内存管理
8.1.1 3种内存管理模型
8.1.2 标准linux的内存管理
8.1.3 μclinux的内存管理
8.1.4 μclinux内存管理的局限性
8.2 内存管理模块的启动初始化
8.2.1 setup_arch()
8.2.2 paging_init()
8.2.3 free_area_init()
8.2.4 mem_init()
8.3 可执行程序的加载
8.3.1 用户程序的内存分布
8.3.2 reloc段机制
8.3.3 flat可执行文件格式
8.3.4 执行文件加载流程
小结
习题
第9章 文件系统
9.1 文件系统结构
9.2 文件系统类型
9.2.1 romfs文件系统
9.2.2 ramfs文件系统
9.2.3 jffs与jffs2文件系统
9.2.4 ext2文件系统
9.3 文件系统目录结构
9.3.1 romfs文件系统目录结构
9.3.2 μclinux源程序结构
9.4 简单编程实例
小结
习题
第10章 设备管理
10.1 设备管理结构
10.1.1 概述
10.1.2 字符设备与块设备
10.1.3 主设备号和次设备号
10.1.4 linux设备命名习惯
10.2 驱动程序
10.2.1 驱动程序基本功能
10.2.2 驱动程序的运作过程
10.2.3 常用接口函数介绍
10.2.4 常用函数原型
10.3 驱动程序编写实例
10.3.1 设备功能介绍
10.3.2 具体实现
小结
习题
第11章 应用程序开发
11.1 串口应用程序
11.1.1 串口主要函数介绍
11.1.2 串口举例
11.2 网络应用
11.2.1 tcp/ip网络应用
11.2.2 web服务器应用
11.3 音频设备应用
11.3.1 常用音频文件格式
11.3.2 播放wav文件举例
11.4 键盘及lcd显示应用
11.4.1 lcd介绍
11.4.2 键盘实现
11.5 汉字音乐点播应用
小结
习题
第12章 μclinux在up-netarm3000平台上的移植
12.1 up-netarm3000嵌入式开发平台介绍
12.2 μclinux在up-netarm3000上的移植
12.2.1 linux移植准备
12.2.2 关于交叉编译环境
12.2.3 修改μclinux内核源码
12.2.4 linux内核裁减
12.2.5 内核的编译
12.3 内核及根文件系统的烧写
12.3.1 配置minicom
12.3.2 烧写内核
12.3.3 烧写根文件系统
小结
习题
附录
附录a s3c44box特殊功能寄存器地址对应表
附录b 部分linux命令
附录c linux viewtm软件简介
参考文献