首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 程序设计 >

嵌入式系统程序设计

2011-06-21 
商家名称 信用等级 购买信息 订购本书
嵌入式系统程序设计 去商家看看
嵌入式系统程序设计 去商家看看

 嵌入式系统程序设计


基本信息·出版社:清华大学出版社
·页码:341 页
·出版日期:2009年11月
·ISBN:7302202532/9787302202530
·条形码:9787302202530
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:21世纪高等学校嵌入式系统专业规划教材

内容简介 《嵌入式系统程序设计》突破了以各种低端单片机芯片为基础讲解C语言程序设计的传统模式,以主流的32位ARM嵌入式处理器/嵌入式Linux操作系统为平台,全面介绍嵌入式系统的C语言程序设计方法,内容涉及C语言适用于嵌入式系统的语法特性、Linux系统的开发环境和工具链、交叉编译、uCLinux和ARM Linux的移植等基础内容,以及嵌入式系统程序框架、Bootloader、BusyBox、Linux系统编程、嵌入式数据库、模块设计、驱动程序设汁、Framebuffer技术、图形界面移植等较为深入的内容。
《嵌入式系统程序设计》的嵌入式编程环境为:宿主机采用稳定的RedHat Linux 9操作系统和Cygwin模拟环境,使用方便;目标机采用深圳英蓓特信息技术有限公司的Embesl EduKit一Ⅲ教学实验平台。考虑到读者的实际情况,作者力争对涉及到的硬件平台部分做详细的介绍,一些平台无关的代码,尽量在模拟器上执行,使没有条件购买硬件设备的读者也能得到全面的认识。
阅读《嵌入式系统程序设计》的读者应该具有C语言的基础,对ARM处理器有初步了解。《嵌入式系统程序设计》适合嵌入式专业的高年级本科学生作为教材使用,也适用于希望转向嵌入式系统设计的IT从业人员,尤其适合学习了嵌入式硬件基础知识,但是还没有形成嵌入式系统设计完整概念的人员,作为学习主流嵌入式系统程序设计的指导教材使用。
《嵌入式系统程序设计》电子资源内容包括完整的教学课件、书中所有的例程源代码、书中使用到的GNU编程工具等。
编辑推荐 《嵌入式系统程序设计》以嵌入式领域中最重要的32位ARM处理器为硬件平台,以应用最广泛的开源嵌入式Linux为系统软件平台,全面介绍嵌入式c语言程序设计的概念、思想、方法和技巧,突破了以往基于8位单片机介绍c51编程的模式。
《嵌入式系统程序设计》内容广泛,紧贴最新技术;以实例为基础讲解知识点,由浅入深、通俗易懂:书中代码及配套课件完整、详尽、严谨、风格统一。
目录
第1章 绪论
1.1 嵌入式系统概述
1.1.1 计算机的发展和分类
1.1.2 嵌入式系统概述
1.1.3 嵌入式系统的组成
1.1.4 嵌入式系统的发展
1.2 嵌入式系统开发流程
1.3 嵌入式系统程序设计
1.3.1 嵌入式系统开发语言
1.3.2 嵌入式系统的开发丁具
1.4 本书内容简介

第2章 预备知识
2.1 ARM体系结构
2.1.1 ARM体系结构简介
2.1.2 ARM指令集
2.1.3 S3C44BOX嵌入式处理器
2.1.4 3C2410X嵌入式处理器
2.2 Linux操作系统
2.2.1 Linux操作系统的历史
2.2.2 Linux操作系统的特点
2.2.3 Linux版本
2.2.4 Linux的安装
2.3 Linux操作系统基础操作
2.3.1 shell
2.3.2 常用shell命令
2.4 EmbestEduKit-Ⅲ型教学实验平台简介
2.4.1 EmbestEduKit-Ⅲ型教学实验平台
2.4.2 JTAG仿真器
2.4.3 Flash编程器
2.4.4 Embest集成开发环境
2.4.5 RealViewMDK

第3章 嵌入式C语言基础
3.1 嵌入式C语言概述
3.1.1 C语言的历史和特点
3.1.2 预处理指令
3.1.3 位运算
3.1.4 函数指针
3.1.5 C程序的移植
3.2 C语言与C++语言的区别
3.2.1 变量定义位置
3.2.2 结构体变量
3.2.3 数据类型
3.2.4 输入输出
3.2.5 动态内存分配
3.2.6 其他区别
3.3 GNUC扩展
3.4 错误处理机制
3.4.1 C语言的错误处理机制
3.4.2 系统日志文件
3.5 嵌入式C程序架构
3.5.1 嵌入式C程序
3.5.2 人机界面
3.5.3 指针的使用方法
3.6 ARMC程序设计优化
3.6.1 编译器的特性
3.6.2 数据类型对程序效率的影响
3.6.3 循环方式对程序效率的影响
3.6.4 指针对程序效率的影响
3.6.5 边界对齐对程序效率的影响
3.7 硬件编程
3.8 C语言编程规范
3.8.1 排版
3.8.2 注释
3.8.3 命名规则
3.8.4 可读性
3.8.5 变量和结构
3.8.6 函数
3.8.7 程序效率

第4章 嵌入式Linux程序设计基础
4.1 交叉开发环境
4.2 Linux开发工具链
4.2.1 Linux开发工具链简介
4.2.2 GNU交叉开发环境的建立
4.3 编辑器
4.4 编译器
4.4.1 gcC简介
4.4.2 gcc的基本用法
4.5 链接器
4.6 调试器
4.7 自动化编译配置文件
4.7.1 自动化编译配置文件简介
4.7.2 Makefile规则
4.7.3 Makefile的变量
4.7.4 Makefilc的执行
4.7.5 make内嵌函数
4.7.6 make的常见错误信息
4.8 源码包配置工具
4.9 版本控制丁具

第5章 嵌入式uCLinux程序设计
5.1 uCLinux操作系统
5.1.1 uCLinux操作系统简介
5.1.2 ucLinux操作系统架构
5.1.3 BusyBox
5.2 BootLoader
5.2.1 BootLoader概述
5.2.2 BootLoader框架
5.2.3 BootLoader代码分析
5.3 文件系统
5.4 ucLinux操作系统构建
5.5 uCLinux应用程序设计
5.5.1 交叉编译
5.5.2 执行程序
5.6 嵌入式C语言进阶
5.6.1 文件操作
5.6.2 目录操作
5.6.3 内存操作
5.6.4 进程控制
5.6.5 进程间通信
5.7 嵌入式数据库
5.7.1 SQLite
5.7.2 BerkeleyDB
5.7.3 SQLite移植
5.8 Linux内核模块
5.8.1 Linux内核模块概述
5.8.2 linux内核模块实例
5.8.3 Linux内核模块实现机制
5.9 Linux驱动程序工作原理
5.9.1 设备驱动程序概述
5.9.2 设备驱动程序接口
5.10 inux驱动程序实例
5.10.1 驱动实例(一)
5.10.2 驱动实例(二)
5.10.3 驱动实例(三)

第6章 ARMLinux程序设计
6.1 Linux库
6.1.1 Linux库概述
6.1.2 库操作工具
6.1.3 静态库
6.1.4 共享库
6.1.5 动态链接库
6.2 ARMLinux操作系统
6.2.1 ARMLinux操作系统简介
6.2.2 启动引导程序vivi
6.2.3 CRAMFS文件系统
6.2.4 构建ARMLinux系统
6.3 ARMLinux驱动程序设计
6.4 Framebuffer技术
6.5 基于Framebtlffer的图形界面
6.6 MiniGUI
6.6.1 MiniGUI简介
6.6.2 MiniGUI模拟环境
6.6.3 MiniGUI移植
6.7 SkyEve

第7章 嵌入式系统程序设计实例
7.1 应用背景
7.2 系统架构
7.3 详细设计
7.3.1 数据结构描述
7.3.2 电梯运行算法设计
7.3.3 输入输出部分设计
7.4 系统函数说明
7.5 系统演示
附录A 虚拟机配置
A.1 操作系统安装准备
A.2 配置文件共享目录
A.3 配置网络
附录B 数字化温度传感器
附录C Linux模拟环境Cygwin
附录D uCLinux内核选项
附录E BMP文件格式
参考文献
……
序言 当前,嵌入式计算机已经形成一个规模庞大的产业,嵌入式产品遍及天空、陆地和海洋,市场对各类嵌入式产品提出了巨大的需求,一方面促进了嵌入式技术的进一步发展,另一方面也导致需求和供给之间的矛盾,体现为嵌入式人才的巨大缺口,这是呈现在高校计算机教学领域的严峻课题。
本书作者自2005年以来,一直在大连理工大学软件学院讲授“嵌入式系统程序设计”课程,教学内容为介绍基于ARM处理器/嵌入式Linux操作系统的C语言程序设计方法。开课伊始,遇到了教材缺乏的困难。当时图书市场中介绍嵌入式系统的书籍较多,大体可以分为4类:嵌入式系统概述性质的书籍;从硬件角度讲解ARM处理器体系结构及汇编语言程序设计的书籍;各种介绍其他体系结构嵌入式处理器的书籍,例如8051、龙珠处理器等;介绍嵌入式操作系统的书籍。仅有的几种嵌入式程序设计类书籍,内容全部基于8051单片机,描述C51程序设计。在图书市场中,没有一本介绍基于32位ARM处理器/嵌入式Linux操作系统的C语言程序设计的书籍。不但如此,当时国内各个高校,也几乎没有开设“嵌入式系统程序设计”类似课程的先例。在这种情况下,笔者萌发了编写一本教材的想法。在各位同行的帮助下,一边学习,一边总结摸索,通过搜集大量资料,结合自身在实验设备上的各种尝试,逐步设计出了课程的教学大纲和教学课件,然后在授课过程中根据学生的反馈意见不断完善授课内容,经过几年的磨砺,最终形成了一套比较稳定的教学资源。2008年春,清华大学m版社来我院开办书展,经过和m版社梁颖编辑协商。决定把几年来的教学资料加以整理,编写一本专门教材,这就是本书诞生的经过。
本书正文部分内容共7章:第1章介绍一些背景知识,力争使读者建立起嵌入式系统程序设汁的完整概念;第2章介绍一些前导知识,包括ARM体系结构、Linux操作系统、本书相关硬件平台等内容,有基础的读者可以跳过此章;第3章介绍C语言在嵌人式系统中的应用;第4章介绍GNU开发工具链,这部分知识适合于本地开发环境和交叉开发环境;第5章介绍基于ARM7处理器的uCLinux系统的建立和程序设计步骤,包括驱动程序设计等;第6章介绍基于ARM9处理器的ARM Linux系统的建立以及图形用户界面的移植过程;第7章以一个运行于ARM9/Linux平台完整实例的介绍作为本书正文部分的结尾。本书还包含5个附录,介绍具体硬件平台相关的操作步骤、知识点的背景常识等内容。
本书的大部分内容来自于作者的教学实践,另有部分内容参考了其他相关书籍以及网络上的资料,作者已尽量在参考文献中列m来源。由于本书编写过程漫长,且初期资料整理缺乏条理,因此有部分资料,现已无法找到准确出处,在此向各位作者致歉,并请相关作者和本人联系。此外,本书的4.7、6.6小节部分内容分别来自于徐海兵和于强(大漠孤狼)两位网友,经他们允许编人本书,感谢这两位朋友及其他更多未曾谋面的老师和同行!
本书内容涉及的嵌入式平台为深圳英蓓特信息技术有限公司设计的Embest EduKit一Ⅲ型教学实验平台。为了保持正文叙述的流畅性,在编写过程中,作者刻意把一写背景和细节内容安排到附录中,供没有基础的读者查询。
文摘 插图:


第1章 绪论
随着计算机技术的日益发展和人们需求的不断增加,嵌入式系统渗入到了社会生活的各个方面,几乎每一个人每天都在使用嵌入式计算机,计算机和信息技术的发展正在逐渐步入以嵌入式为核心的普适计算时代。本章主要介绍嵌人式系统概念(Embedded System)的内涵和外延、嵌入式系统的开发流程、嵌入式系统程序设计的相关知识,希望通过本章的阅读,读者可以大致了解嵌入式系统的软硬件体系结构,建立起宏观的概念。
1.1 嵌入式系统概述
1.1.1 计算机的发展和分类
计算机作为20世纪最伟大的发明,给人们的生活带来了翻天覆地的变化。传统上,按照结构规模的不同,把计算机分为大型机、中型机、小型机和微型计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。近十几年来随着计算机技术的迅速发展,各种社会需求的不断涌现,使得实际情况产生了根本性的变化:例如,个人计算机占据了当前全球计算机工业90%的市场份额,个人计算机的处理速度,早已超过了几十年前大型计算机的运行速度;再如,十几年前的笔记本计算机曾被视为“阳春白雪”,价格十分昂贵,如今性能提升几十倍、价格只有当初十分之一的笔记本早已走入千家万户。此外,各种包含微处理器的消费类电子产品如mp4、个人数字助理(Persnal Digital Assistant,PDA)、手机、数码相机等已成为人们生活中不可或缺的一部分。由此可见,计算机技术的发展已经使按照规模划分层次结构的方法落后于实际情况,计算机技术和产品在不断地对其他行业进行广泛地渗透,以应用为中心的分类方法变得更为切合实际,即按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。
通用计算机具有计算机的标准形态,通过安装不同的应用软件,以相似面目出现并应用在社会的各个方面,其典型产品为个人电脑(Persofial Computer,PC);而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统内部,不显式地具有计算机的外观,没有通用计算机的标准输入和标准输出部分,功能比较单一,一般不具备通用计算机处理各种事务的综合能力。
热点排行