内容简介
本书Cortex-A8微处理器为背景,针对嵌入式系统开发与设计需要,系统地介绍了嵌入式系统的基本概念、原理、设计原则与方法。本书简要地介绍了嵌入式系统及Linux操作系统的基础知识,详细地讲解了嵌入式Linux开发环境的建立、在Linux开发环境下C语言程序设计及编译方法、嵌入式系统的文件I\/O处理、设备驱动程序设计等,后介绍了Android手机远程控制嵌入式开发板驱动程序的运行示例。本书讲解深入浅出,从基本概念到具体应用都给出了大量示例和图示来加以说明,并用短小的典型案行详细的分析解释,对读者学很大的帮助。
目录
第1章嵌入式系统基础1.1嵌入式系统简介1.1.1嵌入式系统的基本概念1.1.2嵌入式系统的体系结构1.1.3嵌入式系统的特点1.2嵌入式系统的发展和应用领域1.2.1嵌入式系统的发展历史1.2.2嵌入式系统的发展前景及趋势1.3嵌入式操作系统1.3.1嵌入式操作系统的发展1.3.2几种有代表的嵌入式操作系统1.4嵌入式系统的开发过程1.5嵌入式系统的应用方案1.5.1基于嵌入式系统的控系统1.5.2基于嵌入式系统的锅炉控制方案1.5.3基于嵌入式系统的网关实现方案本章小结第2章嵌入式系统硬件体系结构2.1相关基础知识2.1.1嵌入式微处理器2.1.2嵌入式微处理器的流水线技术2.1.3寄存器与存储器2.1.线2.1.5I/O端口2.1.6中断2.1.7数据编码2.2嵌入式系统硬台2.3ARM微处理器体系2.3.1ARM公司及ARM体系结构2.3.2ARM系列微处理器简介2.4微处理器的结构2.4.1RISC体系结构和ARM设计思想2.4.2ARM Cortex微处理器结构的小系统设计2.4.3Cortex A8微处理器结构2.4.4Cortex A8的存储地址空间2.4.5Cortex A8的GPIO端口本章小结第3章嵌入式Linux操作系统3.1Linux基本概念3.2Linux常用操作命令3.2.1文件目录相关命令3.2.2磁盘及系统操作3.2.3压缩相关命令3.2.4网络相关命令3.3Linux的文本编辑器3.3.1Vi文本编辑器3.3.2gedit文本编辑器3.4Linux启动过程3.4.1Linux系统的引导过程3.4.2ARM Linux操作系统3.5数据共享与数据传输3.5.1应用串口通信协议传输数据3.5.2在VMware虚拟机中设置Windows与Linux系统的数据共享本章小结第4章嵌入式Linux程序开发基础4.1嵌入式Linux编译器4.1.1Linux下C语言编译过程4.1.2GCC编译器及基本使用方法4.2“文含”处理4.3make命令和Makefile工程管理4.3.1认识make4.3.2Makefile变量4.3.3Makefile规则4.3.4make命令的使用4.4嵌入式Linux汇编语言程序设计4.4.1嵌入式Linux汇编语言格式4.4.2嵌入式Linux汇编程序示例4.4.3编译嵌入式Linux汇编程序4.5嵌入式Linux shell编程4.5.hell的语法基础4.5.2shell的流程控制语句4.5.3shell编程示例4.6位运算4.6.1位运算符4.6.2位表达式4.6.3寄存器设置中的位运算应用示例本章小结第5章嵌入式系统开发环境的建立5.1建立宿主机开发环境5.1.1交叉编译5.1.2建立交叉编译开发环境5.2配置终端minicom5.3编译嵌入式Linux系统内核5.3.1内核裁剪配置5.3.2内核编译5.4文件系统的制作5.5嵌入式系统开发板的烧写方法5.5.1引导加载程序Bootloader5.5.2ARM Cortex A8内核开发板的烧写本章小结第6章嵌入式Linux文件处理程控制6.1嵌入式Linux的文件处理6.1.1文件描述符及文件处理6.1.2open函数和close函数6.1.3read函数、write函数和lseek函数6.程程控制6.2.程6.2.程控制6.程间的通信6.3.程间的通信方式6.3.2管道6.3.3共享内存6.4嵌入式Linux串口通信技术6.4.1嵌入式Linux串口通信基础6.4.2嵌入式Linux串口设置详解6.4.3RS232C标准6.4.4串口驱动程序设计本章小结第7章嵌入式Linux网络应用开发7.1网络编程的基础知识7.1.1IP地址和端口号7.1.2套接字7.2socket网络编程7.2.ocket网络函数7.2.2socket网络编程示例7.3嵌入式系统的Web服务器程序设计7.3.1Web服务器7.3.2Web服务器的程序设计7.4开发新的TCP通信协议本章小结第8章嵌入式设备驱动程序设计8.1嵌入式设备驱动程序基础8.1.1设备驱动程序概述8.1.2设备驱动程序的框架8.1.3设备驱动程序的动态加载过程8.1.4设备驱动程序能接口函数模块8.1.5设备驱动程序的重要数据结构体8.2字符设备驱动程序设计8.2.1字符设备驱动程序8.2.2用户调用设备驱动程序8.3简单字符驱动程序设计示例8.4块设备驱动程序设计8.4.1块设备的基本概念8.4.2块设备的重要数据结构体8.4.3块设备的驱动程序设计方法本章小结第9章设备驱动程序应用设计实例9.1通用I/O接口驱动程序设计9.1.1GPIO设备的虚拟地址映射9.1.2编写LED设备驱动程序9.2键盘驱动程序的设计9.2.1键盘原理介绍9.2.2键盘驱动程序设计思路分析9.2.3键盘驱动程序设计9.2.4键盘用户应用程序设计9.2.5编译和运行键盘程序9.3直流电机驱动程序设计9.3.1直流电机控制电路设计9.3.2直流电机驱动程序9.3.3直流电机用户应用程序9.3.4编译和运行程序本章小结第10章Android系统开发环境的建立10.1在主机端建立Android系统开发环境10.1.1安装Android SDK前的必要准备10.1.2安装Android SDK10.1.3设置环境变量10.1.4安装ADT插件10.2创建Android应用程序框架10.2.1生成Android应用程序框架10.2.2编写MainActivity.java代码10.2.3配置应用程序的运行参数10.2.4在模拟器中运行应用程序10.3Android应用程序结构10.3.1目录结构10.3.2Android应用程序架构分析10.4Android应用程序设计示例10.ndroid系统内核的编译与文件系统制作10.5.1安装系统及工具10.5.2编译内核及制作文件系统映像文件本章小结第11章综合应用实例——通过云端控制远程设备11.1设计目标与系统结构11.1.1设计目标11.1.2系体结构11.2开发板设备端程序设计11.2.1开发板设备能及程序结构11.2.2开发板设备端驱动程序和用户应用程序设计11.3服务器端网关程序设计11.3.1服务器端网关程能及结构11.3.2网关程序的预备知识11.3.3传送控制指令的网关程序11.4手机端程序设计11.4.1手机能及程序结构11.4.2手机端程序设计本章小结




