第1章 嵌入式系统基础
1.1 嵌入式系统概述
1.1.1 嵌入式系统的基本概念
1.1.2 嵌入式系统的体系结构
1.1.3 几种常用的嵌入式操作系统
1.1.4 嵌入式系统发展趋势
1.2 ARM处理器硬件开发平台
1.2.1 嵌入式处理器简介
1.2.2 ARM处理器简介
1.2.3 S3C2410处理器介绍
1.3 嵌入式软件开发流程
1.3.1 嵌入式系统开发概述
1.3.2 嵌入式软件开发概述
1.4 实验内容:使用JTAG烧写NAND Flash
小结
思考与练习
第2章 嵌入式Linux C语言程序开发工具
2.1 嵌入式Linux下C语言概述
2.2 编辑器vim
2.2.1 vim的基本模式
2.2.2 vim的基本操作
2.3 编译器gcc
2.3.1 gcc的简介
2.3.2 gcc的编译流程
2.3.3 gcc的常用编译选项
2.4 调试器GDB
2.4.1 gdb使用流程
2.4.2 gdb基本命令
2.4.3 gdbserver远程调试
2.5 make工程管理器
2.5.1 makefile基本结构
2.5.2 makefile变量
2.5.3 makefile规则
2.5.4 make管理器的使用
2.6 autotools
2.6.1 autotools使用流程
2.6.2 使用autotools所生成的makefile
2.7 实验内容
2.7.1 vim使用练习
2.7.2 用gdb调试程序的bug
2.7.3 编写包含多文件的makefile
2.7.4 使用autotools生成包含多文件的makefile
小结
思考与练习
第3章 嵌入式Linux C语言基础
3.1 预处理
3.1.1 预定义
3.1.2 文件包含
3.1.3 条件编译
3.2 C语言中的内存分配
3.2.1 C语言程序所占内存分类
3.2.2 堆和栈的区别
3.3 程序的可移植性考虑
3.3.1 字长和数据类型
3.3.2 数据对齐
3.3.3 字节顺序
3.4 C和汇编的接口
3.4.1 内嵌汇编的语法
3.4.2 编译器优化介绍
3.4.3 C语言关键字volatile
3.4.4 memory描述符
3.5 ARM Linux内核常见数据结构
3.5.1 链表
3.5.2 树、二叉树、平衡树
3.5.3 哈希表
小结
思考与练习
第4章 嵌入式Linux开发环境的搭建
4.1 构建嵌入式Linux开发环境
4.1.1 嵌入式交叉编译环境搭建
4.1.2 主机交叉开发环境配置
4.2 Bootloader
4.2.1 Bootloader的种类
4.2.2 U-Boot编译与使用
4.2.3 U-Boot移植
4.3 Linux内核与移植
4.3.1 Linux内核结构
4.3.2 Linux内核配置与编译
4.3.3 Linux内核移植
4.4 嵌入式文件系统构建
小结
思考与练习
第5章 嵌入式Linux文件I/O编程
第6章 嵌入式Linux多任务编程
第7章 嵌入式Linux网络编程
第8章 嵌入式Linux设备驱动编程
第9章 Qt图形编程
第10章 综合实例——视频监控系统
参考文献