描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787512413788
《》围绕最流行的32位ARM处理器和源码开放的Linux操作系统,讲述嵌入式系统的概念、软硬件组成、开发过程以及嵌入式Linux的应用程序和驱动程序的开发设计方法。全书共8章,包括从嵌入式系统基础到ARM体系结构等硬件内容,从嵌入式Linux到应用程序、驱动程序、图形用户界面和Android(安卓)应用程序等软件内容,并推出了自主版权的轻量级图形用户界面lwGUI。第2版主要升级了ARM集说明,修订了应用程序和驱动程序设计内容,以适用于国内流行的实验箱。第3版的第3章增加了Android操作系统,还增加了第8章“Android应用程序设计”。
《》特点是内容取材于*资料,总结实际教学和应用经验,实例较多,实用性强;所带程序取材于学生的竞赛、毕业设计和课程实验,不强调具体的ARM核芯片。
《》适用于没有操作系统知识的单片机开发人员学习嵌入式系统,可作为嵌入式系统课程理论部分的教材和学习嵌入式Linux和Android开发的参考用书。
第1章 嵌入式系统基础
1.1 嵌入式系统概述
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的组成
1.1.3 嵌入式系统的特点
1.1.4 嵌入式系统的应用
1.1.5 实时系统
1.2 嵌入式处理器
1.2.1 嵌入式处理器的分类
1.2.2 嵌入式微处理器
1.2.3 微控制器
1.2.4 DSP处理器
1.2.5 片上系统
1.2.6 典型的嵌入式处理器
1.3 嵌入式操作系统
1.3.1 操作系统的概念和分类
1.3.2 实时操作系统
1.3.3 常见的嵌入式操作系统
1.4 实时操作系统的内核
1.4.1 任务管理
1.4.2 任务间的通信和同步
1.4.3 存储器管理
1.4.4 定时器和中断管理
习题
第2章 嵌入式系统开发过程
2.1 嵌入式软件开发的特点
2.2 嵌入式软件的开发流程
2.3 嵌人式系统的调试
2.3.1 调试方式
2.3.2 调试方法
2.4 板级支持包
习题
第3章 嵌入式Linux和Android操作系统
3.1 Linux和Android概述
3.1.1 LinuxUNIX和GNU
3.1.2 Linux的特点
3.1.3 Andriod与物联网
3.2 Linux内核
3.2.1 Linux内核的特征
3.2.2 进程管理
3.2.3 存储管理
3.2.4 文件系统管理
3.2.5 设备管理
3.2.6 嵌入式Linux的引导过程
3.2.7 Linux2.6内核
3.3 主流嵌入式Linux系统
3.3.1 MontaVistaLinux
3.3.2 uClinux
3.3.3 RTLinux
3.3.4 RTAI
3.4 Android操作系统
3.4.1 Android简介
3.4.2 Android简史
3.4.3 Android系统架构
3.3.4 Android组件模型
习题
第4章 ARM体系结构
4.1 ARM体系结构概述
4.1.1 ARM体系结构的特点
4.1.2 ARM处理器结构
4.1.3 ARM处理器内核
4.1.4 ARM处理器核
4.2 ARM编程模型
4.2.1 数据类型
4.2.2 处理器模式
4.2.3 处理器工作状态
4.2.4 寄存器组织
4.2.5 异常
4.2.6 存储器和存储器映射I/O
4.3 ARM基本寻址方式
4.4 ARM指令集
4.4.1 条件执行
4.4.2 指令分类说明
4.4.3 Thumb指令集与ARM指令集的区别
4.4.4 Thumb-2指令集的特点
4.5 ARM汇编语言程序设计
4.5.1 预定义的寄存器和协处理器名
4.5.2 ARM汇编程序规范
4.5.3 ARM汇编程序设计
习题
第5章 嵌入式Linux应用程序开发
5.1 开发平台简介
5.1.1 S3C2410简介
5.1.2 平台上的资源
5.2 开发环境的建立
5.2.1 宿主机环境搭建
5.2.2 目标机和宿主机的连接
5.2.3 网络文件系统搭建
5.3 Linux的使用基础
5.3.1 Linux常用命令
5.3.2 vi编辑器的使用
5.4 make工具和gcc编译器
5.4.1 应用程序的开发流程
5.4.2 make管理项目简介
5.4.3 gcc编译器的使用
5.5 简单嵌入式Linux程序开发
5.5.1 编写和运行应用程序
5.5.2 嵌入式Linux例子演示
5.6 LCD程序设计
5.6.1 LCD显示原理
5.6.2 帧缓冲原理
5.6.3 帧缓冲使用程序
5.6.4 LCD程序开发
5.6.5 BMP文件显示,
5.7 USB摄像头程序
5.7.1 摄像头驱动的安装
5.7.2 Video4Linux模块应用
5.7.3 USB摄像头图像显示
5.8 音频采集和回放程序
5.8.1 采样原理和采集方式
5.8.2 音频设备的编程实现
习题
第6章 嵌入式Linux驱动程序开发
6.1 嵌入式Linux的设备管理
6.1.1 Linux驱动程序概念
6.1.2 驱动程序的结构
6.1.3 Linux对中断的处理
6.1.4 设备驱动的初始化
6.2 设备驱动程序的开发过程
6.2.1 设备驱动程序的开发流程
6.2.2 模块化驱动程序设计
6.2.3 设备驱动加到Linux内核中
6.3 LED驱动程序
6.3.1 LED的硬件接口
6.3.2 LED驱动程序设计
6.3.3 LED驱动程序调用
6.4 键盘驱动程序
6.4.1 键盘的硬件接口
6.4.2 键盘驱动程序的实现
6.5 触摸屏驱动程序
6.5.1 触摸屏的工作原理
6.5.2 触摸屏的接口设计
6.5.3 ADC和触摸屏接口专用寄存器
6.5.4 触摸屏的驱动程序
6.5.5 触摸屏应用举例
习题
第7章 嵌入式Linux的GUI
7.1 嵌入式GUI
7.2 嵌入式GUI的结构特征
7.2.1 开源的图形库GTK+
7.2.2 面向实时的MiniGUI
7.2.3 应用广泛的QtEmbedded
7.2.4 轻量级的1wGUI
7.3 1wGUI系统的设计与实现
7.3.1 图形抽象层和输入抽象层的设计与实现
7.3.2 消息驱动机制的设计与实现
7.3.3 窗口的设计与实现
7.3.4 控件的设计与实现
7.4 1wGUI系统的应用
7.4.1 绘图板界面设计和功能设计
7.4.2 绘图板应用的实现
习题
第8章 Android应用程序设计
8.1 Android开发平台简介
8.1.1 Cortex-A处理器AM3715简介
8.1.2 Android开发平台上的资源
8.2 液晶屏显示字符串“HelloWorld!”
8.2.1 第1个Android工程的建立
8.2.2 在液晶屏特定位置显示“HelloWorld!”
8.3 按键输入在液晶屏上显示
8.4 延时1s的LED灯闪烁
8.4.1 LED控制
8.4.2 LED1控制示例程序”
8.5 串口输出字符串PC机超级终端显示
8.5.1 Android下串口
8.5.2 Android串口示例程序
8.6 读取SD卡图片显示
8.7 USB摄像头视频采集
8.7.1 Video4Linux2(V4L2)模块
8.7.2 USB摄像头采集图像显示
8.8 网口UDP数据传输
8.8.1 AndroidUDP传输过程
8.8.2 简单UDP传输示例
8.9 WiFi无线信息传输
8.10 录音和音频混音
8.10.1 声音的存储及采样
8.10.2 WAV音频文件
8.10.3 录音和放音
8.10.4 混音
8.10.5 音频混音演示软件
习题
参考文献
随着Internet的普及,我们已进入了后PC时代。不仅PC机能上网,各种各样的嵌入式设备都可以上网。后PC时代出现了信息电器,如智能手机、平板电脑、可视电话、TV机顶盒、电视会议机和数码相机等嵌入式设备。能上网的嵌入式设备需要加上TCP/IP网络协议。由于8/16位单片机的速度不够快且内存不够大,较难满足嵌入式设备的上网要求。随着集成电路的发展,32位微处理器的价格不断下降,其已被用户大量使用。32位RISC微处理器更是受到青睐,处于领先的是ARM嵌入式微处理器系列。ARM的成功之处在于它是知识产权供应商,是设计公司。ARM公司本身不生产芯片,而是转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM商业模式的强大之处在于其价格合理,使其在全世界范围拥有众多的合作伙伴。ARM公司专注于设计,其内核耗电少,成本低,功能强,已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。
过去大量使用的是8/16位单片机,是嵌入式系统的初级阶段。伴随着网络时代的来临,出现了机顶盒、路由器和调制解调器等Internet设备。一句话,Internet的基础设施都是嵌入式系统,而且在高端嵌入式应用中,32位微处理器现在已是很常见的了。国内IT产品的开发应该更新理念,即:逐步采用32位高性能的CPU;采用C语言等高级语言编程;采用操作系统及其平台进行开发;采用模块化方式从事项目开发应用。Linux从1991年问世到现在,短短的二十几年时间已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗礼,而且在新兴的嵌入式系统领域也获得了飞速发展。嵌入式Linux以其可应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、网络通信和文件管理机制完善等优良特性,已成为嵌入式系统领域的一个研究热点。Linux的开放源码、内核可裁减特性非常适用于嵌入式系统教学。
由全国大学生电子设计竞赛组委会主办,Intel公司协办的“全国大学生电子设计竞赛——嵌入式系统专题竞赛”,进一步丰富了全国大学生电子设计竞赛的形式和内容,推动了高校信息电子类专业的教学改革、课程体系及实验室建设,各高校纷纷开设了嵌入式系统课程。
2003年下决心写此书是由于当时国内缺少合适的嵌入式系统教材,编写第2版是考虑国内目前的教材要么偏理论,要么过于强调接口技术、汇编编程和移植。只有把嵌入式Linux的应用推动起来,国内高端嵌入式应用才能健康发展。现更缺少的是嵌入式软件人才,我们希望培养学生对嵌入式系统的兴趣,更多地侧重多媒体、人机交互和GUI的程序设计。考虑到整个篇幅都只适用于教学,故删去了第1版的“ARM核嵌入式系统芯片”和“嵌入式Linux开发实例”两章。书中的内容是我们实际教学实践的总结,课程围绕ARM和Linux,按照验证性实验、综合实验和创新实验3个层次逐步培养学生开发应用程序和驱动程序的能力。我们实验教学中心采购了博创公司的UP-NetARM2410和周立功公司的MagicARM2410实验箱。针对实验设备的多样性,采用驱动程序屏蔽的方法,给学生提供一致的应用程序编程接口,利用实验设备共性的部分开设基础的验证性实验。同时,针对各种外设开发出实验样例程序,如液晶屏、触摸屏、小键盘和摄像头等,由学生自己自由组合成综合性实验。对于为实验设备选配件以及未开发的部分,允许学生自主命题,申请器件进行创新性设计。《ARM & Linux嵌入式系统教程(第2版)》2011年被评为北京市高等教育精品教材。
移动互联网强势崛起,智能手机出货量已经超过PC客户端。ARM公司推出ARMCortex处理器,Cortex-A系列是针对日益增长的,能够运行Linux和Windows CE操作系统的消费娱乐和无线产品。Android(安卓)是一种以Linux为基础的开放源码的操作系统,现已在智能手机和平板电脑上流行,学生兴趣很高。第3版删去了一些教学不常使用的内容,修改第3章为“嵌入式Linux和Android操作系统”,增加了第8章“Android应用程序设计”内容。本书由开课后的讲稿和实验报告整理而成,全书共8章,各章节内容安排如下:
第1章为嵌入式系统的基础知识,讲述嵌入式系统概念、嵌入式系统应用、嵌入式系统硬件——嵌入式处理器,以及嵌入式系统软件——嵌入式操作系统。
第2章介绍嵌入式系统开发的特点、开发流程、调试方法和板级支持包的功能。
第3章介绍嵌入式Linux系统及其应用、Linux的特点及其内核特征、主流的嵌入式Linux系统和Android操作系统。
第4章详细介绍了ARM体系结构和编程模型,分类给出ARM指令集的说明,介绍了Thumb指令集的特点,最后讲解ARM汇编语言程序设计方法。
第5章是嵌入式Linux应用程序的开发方法,包括Linux的使用、gcc编译器的使用、应用程序的编写方法,侧重于LCD、USB摄像头和音频等多媒体内容。
第6章给出了LED显示、键盘和触摸屏驱动程序的详细设计方法。
第7章介绍现流行的图形用户界面,给出自主版权的图形用户界面lwGUI。
第8章是Android应用程序设计方法和实例,包括Android开发平台简介、液晶屏显示、按键输入、串口输出、读取SD卡中文件、USB摄像头采集视频、有线和无线信息传输和音频混音等内容。
值的欣慰的是,我们所培养的学生可直接参与基于ARM的嵌入式Linux项目的开发。现在我们的实验箱已由ARM7升级为ARM9,为640×480真彩液晶显示屏,每个都配备了USB摄像头。回想接触嵌入式Linux之初,买遍了市面上的有关嵌入式Linux的书也没有找到一个模块化驱动程序的开发样例,最后不得不求助于我们在Freescale公司工作的学生。我们从只会画个单色圆的实验设备做起,到完成所有实验样例,深深感到只把Linux移植到具体的板子还远远满足不了嵌入式Linux应用的要求,应用程序和驱动程序开发才是嵌入式系统开发的关键。
TI公司大学计划赠送Android开发平台增加了新教学内容。
我们嵌入式系统课程的开设得到了许多人的支持和帮助,感谢TI公司大学计划部沈洁、潘亚涛;ARM中国公司前总裁谭军和前大学计划负责人时昕;Intel公司大学计划部朱文利、王靖琪和应用工程师刘文峰、李眈;Freescale公司大学计划部袁航给我们提供了开发平台和资料。感谢北京麦克泰软件技术公司的何小庆、江文瑞以及法国电信公司叶楠给学生提供实践的机会。
本书是由北京理工大学和浙江大学的老师带领学生协作完成的。本书许多内容取材于学生的毕业设计和课程实验。叶楠、朱中涛、李海、王英会、骆磊、吴永波、谭杰、王炜、杜慧、齐尧、李睿、王霞、方宁、曾宏安同学参与了ARM & Linux开发设计实践。第3版第8章样例取自曾礼、刘佳伟、陈钰琨、韩国超、徐琛的Andriod开发设计实践和贺大庆、韩学博、杨成凯、刘政祎实验小组的课程设计。第3章“嵌入式Linux和Android操作系统”部分为浙江大学李善平老师和他的学生(拼音序)陈鲁川、高庆、李程远、刘文峰、马天驰、王焕龙、王伟波、解超、谢科先的研究成果,Intel公司的刘文锋审阅了此部分内容。
希望此书能对我国嵌入式系统教学和嵌入式系统应用推广工作有所帮助。手机——你未来的电脑,希望国内能看到更多的基于Linux和Andriod的产品,学生们能更好找工作。希望借此书感谢帮助过我们的人,感谢国内把Linux用于嵌入式系统的先驱们,在此谨向他们深表敬意。
作 者
2014年8月
评论
还没有评论。