GNU gcc嵌入式系统开发

出版时间:2010-1  出版社:北京航空航天大学出版社  作者:董文军  页数:409  
Tag标签:无  

前言

笔者从事电子类相关工作近二十年,一直都对此有着深厚的兴趣。自学生时代的家电维修开始,到后来从事计算机硬件教学工作这一路走来,从电子硬件电路、单片机应用,到计算机应用程序、驱动程序开发以及到现在的软硬一体化的嵌入式系统,一步一步地从最底层的电路焊接开始到现在,计算机硬件的多个层次都曾接触过,较长的专业生涯使笔者也积累了较多的经验体会。一直以来也有想法,将这些经验集结成册,为推广计算机知识尽一点绵薄之力,恰逢北京航空航天大学出版社的邀请,于是决定着手此书的编写。做过技术工作的人都有过这样的经历与体会,大量的时间都是花费在技术资料的阅读与查找上,很多项目常常因为某个技术资料的缺乏而使项目卡壳,有时甚至影响到项目的顺利完成。这一点在技术飞速发展的IT行业特别在计算机软件领域表现更为突出,很多的技术细节被隐藏在不公开的源代码中,源码的不公开往往造成技术发展的瓶颈,直到20世纪80年代出现了一种全新的开源思想:它认为计算机源代码应该像文学艺术作品一样作为人类共同知识财富的一部分,让每个人都有机会阅读与学习,而不应该只作为公司或个人的私有财产,并为此发布了一系列的法律文件来保证开源软件源码的公开性。开源精神得到了广大计算机专业人士及爱好者的大力拥护,包括很多世界著名的大公司在内,行业内的很多精英都投身到这一伟大的事业中来,这极大地促进了计算机产业的发展。在开源精神的指导下,世界有了全新的操作系统Linux,有了全新的开发工具gcc,有了全新的文本编辑器emacs等。开源软件对于莘莘学子来说更是一个福音,有了开源代码,他们就能自由地阅读到世界一流的代码,学习的资料极大地丰富,所学的技术与知识也能最快地站在世界的前沿;能迅速有效地将所学的理论用上,理论与实践的距离被迅速拉近,学习变成了探索,变成了一件有趣的活动。开源软件同时也极大地促进了社会经济的发展,IT产品渐渐地不再昂贵,很多公司的产品都是来源于开源项目,人类智慧的共同合力得到了充分的体现。开源精神在大家的共同努力下不断发展,对世界产生了越来越大的影响。现在IT产业已进入了后PC时代,传统的桌面PC市场已经趋于饱和,现阶段难以找到新的增长点,但随着人们更热衷于快捷方便、能随身携带的IT服务,低功耗的便携式产品成为了市场的新热点,也成为广大厂商与专业人员追捧的目标,连IT业巨头Intel都高调宣布进军嵌入式领域。开源软件也顺应时代潮流率先进入了嵌入式时代,为广大开发者提供了特性高度一致的嵌入式产品,Linux、gcc等开源软件都能在嵌入式系统中使用,而且目前还是支持硬件最多的开发工具与平台,这正适合于嵌入式硬件平台众多的特点。为了能全面描述GNU gcc在嵌入式开发中的应用,笔者选择了Atmel出品的两款颇具代表性的嵌入式芯片,一款为低端的8位AVR单片机ATmega48,另一款为中端的32位ARM芯片AT91SAM7S64。本书对这两款芯片都讲述了使用GNU gcc开发工具进行开发的方法与过程,可以看到GNU gcc在不同硬件下的开发过程与使用方法的确是具有高度的一致性,这给学习与使用带来了很大的方便。书中还特别列举了非常实用的开源项目USBASP以及usbdrv,使读者既能对开源软件的强大功能留下深刻的印象,又能学习实际有用的东西。写书是一项艰苦的工作,为此笔者停下了一些项目的开发工作,专心写书。在此过程中得到了家人以及很多朋友、同事的关心与帮助,在此表示衷心的感谢。首先要感谢笔者的妻子和家人,他们的支持让我能安下心来写书;特别感谢我的合作伙伴刘宾林,他给了我很多专业上的帮助;还有这些人员:董振兴、邹远菊、刘中平、谭蔚芸、陈双妹、刘冬丽、伍向阳、刘新宇等,他们都为本书作出了贡献,这里一并表示感谢。同时衷心感谢北航出版社,使本书得以顺利出版。

内容概要

本书首先介绍了GNU gcc的基本组成,分章节讲述了GNU gcc、Debian Linux、makefile、gdb、vi、emacs等开源开发工具的使用,然后以Atmel公司的两款颇具代表性的嵌入式芯片,即低端的8位AVR单片机ATmega48和中端的32位ARM芯片AT91SAM7S64为代表,全面讲述了GNU gcc在嵌入式开发中的应用。可以看到GNU gcc在不同硬件下的开发过程与使用方法的确具有高度的一致性,给学习与使用带来了很大的方便。书中还特别列举了非常实用的开源项目USBASP以及usbdrv,使读者既能对开源软件的强大功能留下深刻的印象,又能学到实际有用的东西。    本书可作为高等院校计算机、电子、自动化、机电一体化等相关专业嵌入式系统课程的教学参考书,也可作为从事嵌入式系统应用开发工程师的参考资料。

书籍目录

第1章 GNU gcc 概述 1.1 自由软件与GNU、GPL 1.2 gcc的发展历史及特点 1.3 gcc的使用简介与命令行参数说明  1.3.1 gcc的基本用法  1.3.2 警告提示功能选项  1.3.3 库操作选项  1.3.4 代码优化选项  1.3.5 调试选项  1.3.6 交叉编译选项  1.3.7 链接器参数选项  1.3.8 链接器描述文件格式  1.3.9 gcc的错误类型及对策第2章 适合于嵌入式开发的平台Debian 2.1 Debian概述 2.2 Debian的安装 2.3 Debian基本操作  2.3.1 桌面环境  2.3.2 常用应用程序  2.3.3 文件系统管理 2.4 Debian系统维护与软件的安装  2.4.1 apt包管理系统的管理  2.4.2 软件包管理与安装命令  2.4.3 dpkg底层的包管理工具  2.4.4 软件的其他安装方法 2.5 版本控制  2.5.1 cvs概述  2.5.2 Debian中安装cvs服务器  2.5.3 cvs的基本操作  2.5.4 远程cvs操作  2.5.5 cvs使用举例  2.5.6 Wincvs的使用第3章 makefile文件的编写 3.1 概述 3.2 makefile的基本语法和简单实例  3.2.1 基本语法  3.2.2 make命令行参数定义  3.2.3 简单实例 3.3 常用命令  3.3.1 @命令  3.3.2 命令间的相互关联  3.3.3 忽略命令的错误  3.3.4 条件判断  3.3.5 定义命令序列 3.4 目标与规则  3.4.1 伪目标  3.4.2 静态目标  3.4.3 makefile中的常用目标  3.4.4 后缀规则  3.4.5 模式规则  3.4.6 多目标与自动推导  3.4.7 makefile规则  3.4.8 引入其他的makefile文件 3.5 变量  3.5.1 变量的定义  3.5.2 与变量相关的操作符  3.5.3 变量的应用  3.5.4 特殊变量 3.6 函数  3.6.1 函数的调用语法  3.6.2 字符串处理函数  3.6.3 文件操作函数  3.6.4 循环函数  3.6.5 条件函数  3.6.6 其他函数  3.6.7 makefile工作过程总结第4章 gdb调试技术第5章 Linux常用编辑器第6章 ATmega48/88/168硬件结构与功能第7章 AVRgcc开发技术第8章 AVR纯固件USB协议第9章 ARMgcc开发包Procyon ARMLib参考文献

章节摘录

插图:GNU项目计划的主要目的是创建一个名叫GNU’s Not Unix(GNU)的完全免费的操作系统。该操作系统将包括绝大多数自由软件基金会所开发的其他软件,以对抗所有商业软件,而这个操作系统的核心(kernel)就叫HURD。但是GNU在开发完全免费的操作系统上并未取得成功’直到20世纪90年代由林纳斯.本纳第克特.托瓦兹(Linus Benedict TorvaIds)开发了Linux操作系统,GNU才算在免费操作系统上完成了任务。虽然GNU计划在开发免费操作系统上不成功,但是却成功开发几个广为流传的GNU软件’其中最著名的是GNU C Complier(gcc)。这个软件成为历史上最优秀的C语言编译器,其执行效率与一般的编译器相比平均效率要高20%-30%,使得那些靠贩卖编译器的公司大吃苦头,因为它们无法研制出与gcc同样优秀,却又完全免费、并开放源代码的编译器来。而由于它又是copylefted,所以一旦有用户发现错误,就会通知Richard StaIlman,所以几乎每个月都可以推出新版本。

编辑推荐

《GNU gcc 嵌入式系统开发》由北京航空航天大学出版社出版。

图书封面

图书标签Tags

评论、评分、阅读与下载


    GNU gcc嵌入式系统开发 PDF格式下载


用户评论 (总计7条)

 
 

  •   非常著名的GNU项目,全面了解GNU,运用其工具
  •   感觉本书定位不是很清楚,没有重点!只是从很多地方抄了些内容合成一本书,非常失望!
  •   现在在做Contiki系统的移植,里面用到了很多GCC的知识。之前在这一块一直是个文盲,好不容易找到这本书,真是相见恨晚啊!一口气读完一章感觉受益匪浅,推荐在嵌入式道路上摸爬滚打的孩子们都来读一读。
  •   书的内容很好,看过同事买的,我自己又去买了一本,很适合新手学习或者作为一本工具书来使用
  •   对我有用的信息不多。makefile和vi部分写得太简单了
  •   字不大也不小,刚好看。
  •   书里讲了很多GNU方面的工具使用,讲的都比较实用,还不错,适合初学者看。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7