科技>电子技术>单片机与嵌入式系统
嵌入式技术与智能终端软件开发实用教程

嵌入式技术与智能终端软件开发实用教程"

作者:温武,缪文南,张汛涞
ISBN:9787121349355
定价:¥68.0
字数:435千字
页数:272
出版时间:2018-09
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书以Cortex-A15处理器为载体,是面向嵌入式终端软件开发和学习的教程。内容涵盖Linux操作系统介绍、安装和基本使用、嵌入式终端开发平台、ARM裸机编程、驱动开发,以及嵌入式Linux的应用编程、嵌入式Android应用编程。本书由浅入深、结构合理、图文并茂,可操作性强,读者可跟着一步步进行操作和学习,非常适合嵌入式Linux开发初级工程师及准备往嵌入式Linux方向发展的电子工程师和单片机工程师使用,也可作为高校非计算机专业高年级学生学习嵌入式Linux的参考教材。

前言

前言 嵌入式系统是以应用为中心,软件/硬件可裁剪的,适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统,由嵌入式硬件和嵌入式软件两部分组成。硬件是基础,软件是关键,几乎所有的嵌入式产品(智能手机、平板电脑、智能机器人、智能硬件等)中都需要各种软件来提供灵活多样的功能。 随着互联网时代的来临,嵌入式系统应用的不断深入和产业化程度的不断提升,新的应用环境和产业化需求对嵌入式软件、硬件提出了更高的要求,高性能及复杂度更高的嵌入式处理器已经得到更加广泛的应用。 本书以Exynos5260微处理器为硬件开发平台,Ubuntu操作系统为软件开发平台,用C语言、Linux操作指令、Java语言完成开发工作,配套多个实验案例,适合作为教师教学、学生自学的实验、实践指导用书。 本书共有11章,按照嵌入式系统技术初学者的学习过程,从简单到复杂,从底层软件到上层软件开发,强调实用性和易用性。第1章“嵌入式系统基础”,介绍了嵌入式系统概念、嵌入式处理器分类、嵌入式操作系统特点及种类、嵌入式系统开发过程等。第2章“嵌入式ARM处理器”,介绍了ARM概念、ARM体系结构及ARM Cortex系列微处理器等。第3章“嵌入式开发平台”,介绍了嵌入式软件和硬件开发平台。第4章“Linux应用开发基础”,介绍了嵌入式编程基础知识、Linux基础命令、Linux下C语言编程环境、GNU及Shell编程等。第5章“嵌入式Linux应用编程”,介绍了文件I/O、进程、多线程等操作案例。第6章“嵌入式系统开发”,介绍了U-Boot、编译内核与移植过程等。第7章“Linux设备驱动开发”,介绍了驱动程序的编写、移植方法。第8章“Qt编程基础”,介绍了Qt的安装、使用等。第9章“Android应用开发”,介绍了Android应用开发环境搭建,以及应用程序开发方法等。第10章“Android多媒体视频播放器”和第11章“Android远程控制(智能家居项目)”,通过介绍综合项目案例,讲述了Android应用开发的方法和设计思路等内容。 本书的编写团队主要来自高校教师和企业研发成员,由粤嵌教育教材研发中心指导写作。本书主要由温武、缪文南、张汛涞编著,同时参与编写的还有钟锦辉、冯宝祥、邓人铭、郑志优、古鹏、陈耀华、丘凯伦、金政哲、樊志平、郭四稳、魏有法、郑洪庆、程蔚等,在此表示感谢! 本书在编写过程中所涉及的程序代码,参考了粤嵌教育教材研发中心的培训教材和有关资料,并在粤嵌教育教材研发中心开发的Exynos5260实验开发平台上进行逐一验证。感谢粤嵌教育教材研发中心的钟锦辉、冯宝祥、邓人铭、卓锐、梁炳根、陈健聪在编写过程中给予的技术支持与帮助。特别感谢电子工业出版社编辑李树林老师的指导和支持。本书在编写过程中不仅参考了大量的文献资料,而且还参考了互联网上的一些资讯和相关领域的报道,这些参考文献未能一一列举,深表歉意,在此一并向原作者和刊发机构表示诚挚的谢意。 随书提供的实验程序代码、相关的开发环境软件、数据手册、实验讲义等,读者可通过网站http://www.gec-edu.org/进行下载。 由于编者水平有限,编写得较为仓促,本书可能会有不妥或错误之处,望各位专家和读者给予指正。我们的邮箱为toszzy@126.com,欢迎来信交流。 编著者

目录

目 录 第1章 嵌入式系统基础 1 1.1 嵌入式系统概述 1 1.1.1 什么是嵌入式系统 1 1.1.2 嵌入式系统的组成 1 1.1.3 嵌入式系统与PC系统的区别 3 1.1.4 嵌入式系统的特点 3 1.1.5 嵌入式系统的发展趋势 4 1.1.6 嵌入式系统的应用领域 5 1.2 嵌入式处理器 8 1.3 嵌入式操作系统 10 1.3.1 何谓嵌入式操作系统 10 1.3.2 嵌入式操作系统的特点 10 1.3.3 嵌入式操作系统的种类 11 1.4 嵌入式系统开发过程 13 第2章 嵌入式ARM处理器 15 2.1 ARM公司简介 15 2.2 ARM体系结构发展 15 2.3 ARM Cortex系列微处理器 16 2.3.1 Cortex-A8系列处理器 17 2.3.2 Cortex-A9系列处理器 18 2.3.3 Cortex-A15系列处理器 19 2.3.4 Cortex-A53系列处理器 21 2.4 主流Cortex-A系列处理器对比 23 第3章 嵌入式开发平台 24 3.1 嵌入式软件开发平台 24 3.1.1 安装VMware Workstation软件 24 3.1.2 配置虚拟主机硬件 26 3.1.3 安装Ubuntu 33 3.1.4 安装VMware Tools 37 3.1.5 安装文本编辑器Vim 38 3.1.6 安装g++ 39 3.1.7 安装Android开发工具及依赖库 39 3.1.8 安装TFTP服务 41 3.1.9 安装NFS服务 41 3.2 基于Exynos5260嵌入式硬件平台 42 3.2.1 Exynos5260嵌入式硬件平台简介 42 3.2.2 Exynos5260嵌入式硬件平台资源配置 43 3.2.3 实验开发平台调试 45 3.2.4 Exynos5260开发平台设置 45 3.2.5 系统镜像烧写 48 第4章 Linux应用开发基础 51 4.1 Linux基础命令 51 4.2 Linux下C语言编程环境 60 4.2.1 Linux下C语言编程环境概述 60 4.2.2 Vi编辑器 61 4.2.3 GNU GCC的使用 62 4.2.4 GDB调试器的使用 65 4.3 GNU Make命令和Makefile文件 68 4.4 Linux 的Shell编程 72 4.4.1 Shell简介 72 4.4.2 Shell变量与环境变量 72 4.4.3 Shell常用命令 78 4.4.4 Shell函数 82 第5章 嵌入式Linux应用编程 86 5.1 第一个Linux应用程序输出“hello world!” 86 5.2 文件I/O操作 87 5.2.1 Linux文件结构 87 5.2.2 系统调用与库函数 88 5.2.3 文件I/O基本操作 89 5.3 进程 95 5.3.1 Linux进程概述 95 5.3.2 Linux进程控制 98 5.3.3 进程间通信 104 5.4 多线程通信 118 5.4.1 线程简介 118 5.4.2 Linux线程控制 119 5.5 Linux网络编程 131 5.5.1 TCP/IP简介 131 5.5.2 socket通信基本概念 132 5.5.3 网络编程相关函数说明 133 5.5.4 网络编程程序设计 136 第6章 嵌入式系统开发 147 6.1 交叉编译简介 147 6.2 交叉编译器 147 6.3 交叉编译器的安装 148 6.4 U-Boot编译 150 6.5 U-Boot移植 150 6.6 编译内核 155 6.7 内核移植 156 6.8 Android 4.4.2移植 159 第7章 Linux设备驱动开发 162 7.1 Linux驱动程序的基本知识 162 7.2 Linux device driver的概念 163 7.3 Linux内核模块helloworld 163 7.4 驱动程序中编写ioctl函数供应用程序调用 164 7.5 嵌入式Linux下LED驱动程序设计 166 7.6 嵌入式Linux下的按键中断实验 174 7.7 嵌入式Linux的A/D转换实验 184 第8章 Qt编程基础 190 8.1 Qt概述 190 8.1.1 GUI的作用 190 8.1.2 Qt的主要特点 191 8.2 Qt的安装 191 8.3 使用Designer创建“helloworld”Qt窗口 194 8.4 交叉编译Qt Embedded库 197 8.4.1 配置编译选项 197 8.4.2 编译和安装 198 8.4.3 Qt Embedded应用程序编译 198 8.5 开发平台设置Qt Embedded环境 199 第9章 Android应用开发 201 9.1 开发准备 201 9.1.1 下载JDK 201 9.1.2 下载Eclipse 201 9.1.3 下载ADT 202 9.1.4 下载Android SDK 202 9.1.5 下载Android NDK 202 9.2 安装程序 202 9.2.1 安装JDK 202 9.2.2 安装Eclipse 205 9.2.3 安装Android SDK 205 9.2.4 解压Android NDK与配置环境变量 211 9.2.5 配置ADT 215 9.2.6 配置SDK 217 9.2.7 配置NDK 218 9.3 测试模拟器 218 9.4 Android应用开发准备 221 9.5 Android应用开发 223 9.5.1 实验1:LED灯控制程序设计 223 9.5.2 实验2:ADC模块实验 230 9.5.3 实验3:LCD实验 236 第10章 Android多媒体视频播放器 241 10.1 相关知识 241 10.2 开发过程 242 第11章 Android远程控制(智能家居项目) 247 11.1 智能家居概念 247 11.2 背景 247 11.3 发展趋势 247 11.4 智能家居项目 248 11.5 智能家居项目服务端代码编写 250 11.6 智能家居项目客户端代码编写 257 参考文献 263

作者简介

温武,毕业于华中科技大学通信与信息系统专业,工学硕士,高级实验师,现为广州大学计算机科学与教育软件学院实验室副主任,党支部书记。1998年始在广州大学工作,主要从事网络工程技术、电子信息技术和信息系统与数据库技术方面的研究。他已主持教研、科研项目7项,发表论文二十多篇,拥有软件著作权1项。__eol____eol__缪文南,华南理工大学广州学院电子信息工程学院自动化实验师,研究方向为嵌入式技术,主持和参与多项省部级教学科研项目,个人拥有授权发明专利两项,实用新型专利50多项。指导学生参加各类省部级科技竞赛获得100多项不同等级奖项。__eol____eol__张汛涞,广州大学计算机科学与教育软件学院副教授,研究方向是计算机系统结构和嵌入式系统,有多年的计算机组成与结构、嵌入式系统与接口等课程的理论和实践教学经验,指导学生多次在创新比赛中获奖。__eol__

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=TN349350

www.luweidong.cn

下一个