标题：嵌入式系统软件设计
图书信息
出版社: 北京邮电大学出版社; 第1版 (2011年1月1日)
丛书名: 高等院校计算机专业系列规划教材
平装: 297页
正文语种: 简体中文
开本: 16
ISBN: 9787563524969, 7563524967
条形码: 9787563524969
尺寸: 25.4 x 18.4 x 1.6 cm
重量: 499 g
内容简介
《嵌入式系统软件设计》基于arm处理器和嵌入式linux开发环境，全面讲述了嵌入式系统软件开发流程及主要内容。《嵌入式系统软件设计》分为五大部分，共10章。第一部分包括第1、2章，讲述嵌入式linux开发环境的搭建和嵌入式linux软件开发基础；第二部分包括第3、4、5章，分别讲述嵌人式bootloader、内核和根文件系统的基础理论及其移植；第三部分为第6章，讲述嵌入式系统驱动程序设计；第四部分为嵌入式应用程序设计，包括第7、8、9章，主要讲述基于qt的嵌入式gui设计和嵌入式数据库程序设计；第五部分为第10章，通过两个实际的嵌入式软件开发项目，加深对前述内容的理解，提高综合应用能力。
《嵌入式系统软件设计》可作为高等院校的计算机、电子类相关专业嵌入式系统相关课程的教科书，也可作为基于arm核嵌人式系统软件开发的工程技术人员的参考资料。
目录
第1章 嵌入式linux开发环境 
1.1 嵌入式交叉开发环境 
1.2 嵌入式软件开发的过程 
1.2.1 嵌入式软件的生成 
1.2.2 嵌入式软件的调试 
1.2.3 嵌入式软件的固化 
1.3 嵌入式linux软件开发的主要内容 
1.4 构建嵌入式linux开发环境 
1.4.1 开发平台linux操作系统的安装 
1.4.2 嵌入式交叉编译环境的搭建 
1.4.3 宿主机和目标机的串口通信配置 
1.4.4 windows与vmware linux的共享 
1.4.5 宿主机与目标机文件的共享和传输 
本章小结 
习题 
第2章 嵌入式linux开发基础 
2.1 linux程序的编译和交叉编译 
2.1.1 gcc编译器简介 
2.1.2 gcc的执行过程 
2.1.3 gcc的基本用法和选项 
2.1.4 gcc的错误类型分析 
2.2 嵌入式linux动态库和静态库的制作与应用 
2.2.1 linux静态库和动态库 
2.2.2 静态库的制作和应用 
2.2.3 动态库的制作和应用 
2.3 makefile基础和应用 
2.3.1 makefile基本结构 
2.3.2 makefile变量 
2.3.3 makefile规则 
2.3.4 make使用 
2.4 嵌入式linux远程调试 
2.4.1 嵌入式linux远程调试概述 
2.4.2 gdb简介 
2.4.3 gdb远程调试 
2.5 嵌入式liunx多线程应用程序设计 
2.5.1 linux线程概述 
2.5.2 线程基本编程 
2.5.3 线程的同步与互斥 
2.5.4 线程属性 
2.6 嵌入式linux下c和汇编的混合编程 
2.6.1 混合编程概述 
2.6.2 c调用汇编 
2.6.3 汇编调用c 
2.6.4 c内嵌汇编 
2.7 嵌入式linuxsocket网络编程基础 
2.7.1 socket简介 
2.7.2 socket编程基础 
2.7.3 socket api及编程流程 
本章小结 
习题 
第3章 嵌入式bootloader原理及移植 
3.1 嵌入式bootloader的基本概念 
3.2 嵌入式bootloader的两个阶段 
3.2.1 bootloader的stage1 
3.2.2 bootloader的stage2 
3.3 典型嵌入式bootloader(blob)的分析 
3.3.1 blob目录分析 
3.3.2 blob的两个阶段代码分析 
3.3.3 stan-ld-scrlpt、rest-ld-script链接脚本分析 
3.4 blob在博创pxa270-s的移植 
本章小结 
习题 
第4章 基于arm的linux内核分析与移植 
4.1 内核移植准备 
4.1.1 内核源码的获取 
4.1.2 内核源码结构 
4.1.3 内核配置方法和内容 
4.2 linux内核启动过程分析 
4.2.1 启动的第一阶段 
4.2.2 启动的第二阶段 
4.3 内核源码的移植 
4.3.1 配置交叉编译环境 
4.3.2 建立内核的基本配置文件 
4.3.3 编译内核 
4.3.4 增加必要的设备驱动 
4.3.5 烧写内核到目标机 
4.4 嵌入式linux内核调试技术 
本章小结 
习题 
第5章 嵌入式linux根文件系统及其制作 
5.1 linux文件系统简介 
5.1.1 linux文件属性 
5.1.2 嵌入式文件系统类型 
5.2 根文件系统目录结构 
5.3 使用busybox制作命令工具集 
5.3.1 busybox概述 
5.3.2 busybox启动基本流程分析 
5.3.3 busybox配置选项说明 
5.3.4 使用busybox生成文件系统 
5.4 使用busybox生成并移植pax270-s根文件系统 
5.4.1 创建根文件系统基本目录 
5.4.2 安装glibc库 
5.4.3 使用busybox制作命令工具集 
5.4.4 添加修改根文件系统配置文件 
5.4.5 创建设备文件 
5.4.6 使用格式工具制作根文件系统映像 
5.4.7 烧写根文件系统到目标机 
本章小结 
习题 
第6章 嵌入式系统驱动程序设计 
6.1 设备驱动概述 
6.1.1 设备驱动简介及驱动模块 
6.1.2 设备文件分类 
6.1.3 设备驱动程序的特点 
6.1.4 设备号 
6.1.5 驱动层次结构 
6.1.6 设备驱动程序与外界的接口 
6.2 字符设备驱动程序 
6.2.1 字符设备驱动程序特点 
6.2.2 字符设备驱动程序的关键数据结构 
6.2.3 字符设备的注册、注销和设备文件的创建 
6.2.4 字符设备驱动开发用到的其他常用函数 
6.2.5 proc文件系统 
6.2.6 字符设备驱动编写流程 
6.2.7 字符设备驱动设计实例 
6.3 块设备驱动程序 
6.3.1 块设备驱动程序的特点 
6.3.2 块设备驱动程序的重要数据结构 
6.3.3 块设备驱动注册与注销 
6.3.4 块设备驱动模块加载与卸载 
6.3.5 块设备的打开与释放 
6.3.6 块设备驱动的ioctl函数 
6.3.7 块设备驱动的i/o请求处理 
6.4 网络设备驱动程序 
6.4.1 网络设备驱动程序概述 
6.4.2 网络设备驱动程序体系结构 
6.4.3 网络设备驱动程序重要数据结构 
6.4.4 网络驱动程序实现原理 
6.4.5 网络设备驱动的实现模式 
6.5 摄像头驱动程序 
6.5.1 摄像头驱动概述 
6.5.2 video4linux下视频编程 
本章小结 
习题 
第7章 基于qt的嵌入式gui程序设计基础 
7.1 嵌入式gui简介 
7.1.1 嵌入式gui的特点 
7.1.2 常用嵌入式gui系统 
7.2 qt概述 
7.2.1 qt版本 
7.2.2 qt/embedded的特点 
7.2.3 qt主要工具 
7.3 qt/embedded开发环境的搭建 
7.3.1 qt/embedded应用程序开发流程 
7.3.2 搭建qt/x11环境 
7.3.3 搭建qt/embedded环境 
7.4 qt/embedded应用程序的编译和运行 
7.4.1 宿主机上编译运行 
7.4.2 目标机上编译运行 
本章小结 
习题 
第8章 qt程序设计核心技术 
8.1 qt对象树 
8.2 qt对象模型 
8.2.1 元对象系统 
8.2.2 信号和槽 
8.3 基于qt设计器的程序设计 
8.3.1 qt设计器的作用 
8.3.2 qt designer界面设计的步骤和要点 
8.3.3 qt designer编程模式 
8.3.4 qtdesigner编程的一个简单例子 
8.3.5 qt designer的扩展应用 
8.4 qt布局管理 
8.5 qt国际化 
8.6 qt标准对话框和消息框 
8.6.1 qt标准对话框 
8.6.2 qt标准消息框 
本章小结 
习题 
第9章 嵌入式数据库程序设计 
9.1 嵌入式数据库概述 
9.1.1 嵌入式数据库的内涵 
9.1.2 嵌入式数据库的特征 
9.1.3 嵌入式数据库的应用领域及未来趋势 
9.2 常用的嵌入式数据库 
9.2.1 berkeley db 
9.2.2 sqlite 
9.2.3 extremedb 
9.2.4 firebird嵌入式数据库 
9.2.5 msql嵌入式数据库 
9.3 sqlite在linux主机上的安装 
9.4 sqliteshell命令 
9.5 sqlite数据库应用程序设计 
9.6 sqlite的api接口 
9.6.1 基本流程api 
9.6.2 sql语句操作api 
9.7 嵌入式数据库sqlite的移植 
9.7.1 sqlite的交叉编译 
9.7.2 嵌入式sqlite应用程序的编译和运行 
9.8 嵌入式数据库sqlite与qt的连接 
本章小结 
习题 
第10章 嵌入式软件综合项目实例 
10.1 嵌入式防篡改图像数字水印系统 
10.1.1 系统应用背景 
10.1.2 系统功能概述 
10.1.3 系统主要接口及实现 
10.2 基于蓝牙的嵌入式点菜系统 
10.2.1 系统概述 
10.2.2 嵌入式蓝牙协议栈安装与移植 
10.2.3 嵌入式数据库sqlite的移植 
10.2.4 系统设计 
参考文献