嵌入式Linux C语言开发入门与编程实践
基本信息
编辑推荐
“C/C++开发专家”引导你成为真正的程序员.
由浅入深,通俗易懂,注重趣味性,避免枯燥说教..
内容生动,结构合理,强调实践性,编程实例丰富
理念先进,方法为要,突出多角度,倡导正确思想...
内容简介回到顶部↑
本书从嵌入式系统基础概念讲起,共分3篇、10章。第1篇扼要地介绍嵌入式linux系统开发的基础知识,并回顾ansi c语言的语法知识。第2篇介绍嵌入式linux c语言开发中的重要技术,包括常用数据类型与修饰符、预处理器与重要函数、常用数据结构及嵌入汇编语言与移植性问题等应用性内容,结合项目实例展开讨论。第3篇则分别给出在嵌入式gui应用开发、驱动开发和网络应用开发等3方面的实际案例,详细讲解了嵌入式linux c语言开发技术的综合运用。
本书具有由浅入深、通俗易懂和注重实践等特点,适合于没有或者缺乏嵌入式linux程序设计经验的初学者作为嵌入式linux c语言开发的自学教材,同时也适合于已掌握c语言基础编程技术,需要提高嵌入式c语言编程实践能力,以及对嵌入式linux编程感兴趣的程序员进行阅读。
本书具有由浅入深、通俗易懂和注重实践等特点,适合于没有或者缺乏嵌入式linux程序设计经验的初学者作为嵌入式linux c语言开发的自学教材,同时也适合于已掌握c语言基础编程技术,需要提高嵌入式c语言编程实践能力,以及对嵌入式linux编程感兴趣的程序员进行阅读。
作译者回到顶部↑
目录回到顶部↑
第1篇 嵌入式linux开发介绍
第1章 嵌入式系统基础
1.1 嵌入式系统概述
1.2 嵌入式操作系统
1.3 arm处理器平台介绍
1.4 搭建嵌入式linux系统开发环境
1.5 本章小结
第2章 嵌入式linux c语言开发介绍
2.1 嵌入式linux与c语言
2.2 基本编辑器vi的使用
2.3 高级编辑器emacs的使用
2.4 编译器gcc的使用
2.5 调试器gdb的使用
2.6 make工程管理器
2.7 本章小结
第3章 c语言基础回顾
3.1 c语言的“基础字符”与“词汇”
3.2 数据类型
3.3 运算符与表达式
3.4 程序流程控制
第1章 嵌入式系统基础
1.1 嵌入式系统概述
1.2 嵌入式操作系统
1.3 arm处理器平台介绍
1.4 搭建嵌入式linux系统开发环境
1.5 本章小结
第2章 嵌入式linux c语言开发介绍
2.1 嵌入式linux与c语言
2.2 基本编辑器vi的使用
2.3 高级编辑器emacs的使用
2.4 编译器gcc的使用
2.5 调试器gdb的使用
2.6 make工程管理器
2.7 本章小结
第3章 c语言基础回顾
3.1 c语言的“基础字符”与“词汇”
3.2 数据类型
3.3 运算符与表达式
3.4 程序流程控制
前言回到顶部↑
电子数字计算机诞生于1946年,在其后长达二三十年的漫长岁月中,计算机始终是供养在特殊的机房中实现数值计算的大型昂贵设备。直到20世纪70年代微处理器的出现,计算机才发生了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉和高可靠性等特点迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制领域专家的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。这样为了区别于原有的通用计算机系统,在嵌入到对象体系中,人们把实现对象体系智能化控制的计算机称为嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,而且要实现的是对对象的智能化控制。.
嵌入式系统与通用计算机系统的技术发展方向完全不同。因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。如果说微型机的出现,使计算机进入到现代计算机的发展阶段,那么嵌入式计算机系统的诞生则标志了计算机进入通用计算机系统与嵌入式计算机系统两大分支并行发展的时代,从而导致了20世纪末到21世纪初IT产业的高速发展。
由UNIX发展而来的开源操作系统Linux在当代通用计算机系统与嵌入式计算机系统的发展中都扮演着重要的角色。Linux的独特之处在于它的建立不受任何商品化软件的版权制约,全世界都能免费、自由地使用。世界各地有几十万自愿者为这个充满魅力的系统贡献着自己的才能,从初学者到计算机专业人士,还有经验丰富的黑客们,一起不断地改进和维护着这个系统。许多大学与研究机构、公司及家用PC都在使用Linux。Linux年轻而富有朝气,它从诞生到现在不过15年时间,但已经在市场上确立了自己的地位并具有广泛的影响。
C语言是国际上广泛使用的计算机高级语言。C语言最初用于描述和实现UNIX系统,后来逐渐被广大程序员所接受,成为最受欢迎的编程语言。在其后的发展过程中,C语言不断吸收计算机方面的新成果,这个古老的语言又焕发出新的魅力。作为Linux系统的开发语言,C语言在Linux编程开发中扮演着重要的角色。 Linux作为一个操作系统,一个重要的功能就是要支持用户编程;C语言作为当前使用最广泛的编程语言,具有多平台、移植性好的特点,因此它们很快形成了完美的结合,为用户提供了一个强大的编程环境。..
本书正是从这样的结合点出发,介绍在Linux系统中使用C语言编程的有关知识。本书主要针对具有一定的C语言编程基础,但未从事过嵌入式Linux系统中的C语言编程的读者,着重讲解嵌入式Linux系统中使用C语言编程的实用技术。归结起来,本书具有如下特色。
·注重知识的完整性。本书力求完整、系统地介绍嵌入式Linux C语言编程的相关知识,并以多个项目实例讲解了基于Linux的嵌入式系统开发、驱动开发与应用开发的技术。
·注重知识的趣味性。很多教材在讲解Linux编程知识时没有照顾到Linux初学者。初学者的耐心和信心很容易受到打击,本书将努力让读者在失去耐心之前读完所有的Linux编程知识。
·注重编程的实践性。本书的每一章节,甚至每一个知识点都配有格式化的代码示例,以方便读者迅速提高实际开发能力。
全书共分3篇:第1篇即第1~3章,介绍了嵌入式系统和嵌入式Linux C语言开发的基础知识,其中扼要地回顾了C语言的语法和Linux的基本开发环境,为后面章节的讲解提供了一定的基础。第2篇即第4~7章,由浅入深地讲解嵌入式Linux C语言开发中的常用数据类型与修饰符、预处理器与重要函数、常用数据结构,以及嵌入汇编语言与移植性问题。由于是编程介绍,本书中会附带较多的实例和源代码,既方便说明,也可以使读者通过实例获得一定的实际经验。第3篇也就是最后3章,将列举3个综合性的例子作为全书的结束——一个是工控触摸屏人机界面系统的开发,主要涉及嵌入式Linux GUI应用开发;一个是基于PCI总线的无线网卡驱动开发,主要涉及嵌入式Linux驱动开发;最后一个是基于Linux的嵌入式微浏览器的设计与开发,主要涉及嵌入式Linux网络应用开发。这些例子会涉及第1~7章的内容,以帮助读者复习总结学过的系统调用知识。
本书具有由浅入深、通俗易懂和注重实践等特点。本书由商斌编著,在编写过程中得到了白乔先生的大力支持和帮助,期间徐建华先生也提出了很多宝贵意见。另外,殷崇勇、朱敏等人也参加了本书部分内容的编写及素材整理工作,在此一并表示感谢。希望读者能够通过本书的阅读,对嵌入式Linux C语言开发有清晰的认识,并掌握真正实用的编程思想和方法,从而能在嵌入式编程路上走得更远,这是我们最大的期望。由于作者水平有限,不足之处在所难免,敬请读者批评指正。联系信箱:DevEmb@gmail.com,详情请垂询http://books.vcer.net/emb。...
编著者
嵌入式系统与通用计算机系统的技术发展方向完全不同。因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。如果说微型机的出现,使计算机进入到现代计算机的发展阶段,那么嵌入式计算机系统的诞生则标志了计算机进入通用计算机系统与嵌入式计算机系统两大分支并行发展的时代,从而导致了20世纪末到21世纪初IT产业的高速发展。
由UNIX发展而来的开源操作系统Linux在当代通用计算机系统与嵌入式计算机系统的发展中都扮演着重要的角色。Linux的独特之处在于它的建立不受任何商品化软件的版权制约,全世界都能免费、自由地使用。世界各地有几十万自愿者为这个充满魅力的系统贡献着自己的才能,从初学者到计算机专业人士,还有经验丰富的黑客们,一起不断地改进和维护着这个系统。许多大学与研究机构、公司及家用PC都在使用Linux。Linux年轻而富有朝气,它从诞生到现在不过15年时间,但已经在市场上确立了自己的地位并具有广泛的影响。
C语言是国际上广泛使用的计算机高级语言。C语言最初用于描述和实现UNIX系统,后来逐渐被广大程序员所接受,成为最受欢迎的编程语言。在其后的发展过程中,C语言不断吸收计算机方面的新成果,这个古老的语言又焕发出新的魅力。作为Linux系统的开发语言,C语言在Linux编程开发中扮演着重要的角色。 Linux作为一个操作系统,一个重要的功能就是要支持用户编程;C语言作为当前使用最广泛的编程语言,具有多平台、移植性好的特点,因此它们很快形成了完美的结合,为用户提供了一个强大的编程环境。..
本书正是从这样的结合点出发,介绍在Linux系统中使用C语言编程的有关知识。本书主要针对具有一定的C语言编程基础,但未从事过嵌入式Linux系统中的C语言编程的读者,着重讲解嵌入式Linux系统中使用C语言编程的实用技术。归结起来,本书具有如下特色。
·注重知识的完整性。本书力求完整、系统地介绍嵌入式Linux C语言编程的相关知识,并以多个项目实例讲解了基于Linux的嵌入式系统开发、驱动开发与应用开发的技术。
·注重知识的趣味性。很多教材在讲解Linux编程知识时没有照顾到Linux初学者。初学者的耐心和信心很容易受到打击,本书将努力让读者在失去耐心之前读完所有的Linux编程知识。
·注重编程的实践性。本书的每一章节,甚至每一个知识点都配有格式化的代码示例,以方便读者迅速提高实际开发能力。
全书共分3篇:第1篇即第1~3章,介绍了嵌入式系统和嵌入式Linux C语言开发的基础知识,其中扼要地回顾了C语言的语法和Linux的基本开发环境,为后面章节的讲解提供了一定的基础。第2篇即第4~7章,由浅入深地讲解嵌入式Linux C语言开发中的常用数据类型与修饰符、预处理器与重要函数、常用数据结构,以及嵌入汇编语言与移植性问题。由于是编程介绍,本书中会附带较多的实例和源代码,既方便说明,也可以使读者通过实例获得一定的实际经验。第3篇也就是最后3章,将列举3个综合性的例子作为全书的结束——一个是工控触摸屏人机界面系统的开发,主要涉及嵌入式Linux GUI应用开发;一个是基于PCI总线的无线网卡驱动开发,主要涉及嵌入式Linux驱动开发;最后一个是基于Linux的嵌入式微浏览器的设计与开发,主要涉及嵌入式Linux网络应用开发。这些例子会涉及第1~7章的内容,以帮助读者复习总结学过的系统调用知识。
本书具有由浅入深、通俗易懂和注重实践等特点。本书由商斌编著,在编写过程中得到了白乔先生的大力支持和帮助,期间徐建华先生也提出了很多宝贵意见。另外,殷崇勇、朱敏等人也参加了本书部分内容的编写及素材整理工作,在此一并表示感谢。希望读者能够通过本书的阅读,对嵌入式Linux C语言开发有清晰的认识,并掌握真正实用的编程思想和方法,从而能在嵌入式编程路上走得更远,这是我们最大的期望。由于作者水平有限,不足之处在所难免,敬请读者批评指正。联系信箱:DevEmb@gmail.com,详情请垂询http://books.vcer.net/emb。...
编著者
序言回到顶部↑
“聪明的人使用Delphi,真正的程序员使用C++。”.
时至今日,这句曾经在业内广为流行的话语又增添了更丰富的内涵。
脚本语言、Java、.NET等正在争夺更大的天地。
然而,C/C++仍不失为最好、最纯粹的编程语言。
——“C/C++开发专家”引导你成为真正的程序员
C/C++的发展
作为一种结构化的中高级编程语言,C语言具有功能齐全、适用范围广的优势,一直为很多程序员所钟爱,并被视为最佳的编程入门语言,拥有着庞大的使用和学习人群。C++是在C语言基础上开发的一种集面向对象编程、通用编程和传统的过程化编程于一体的编程语言,是目前业界广泛使用的一种编程语言。然而,软件产业的规模和环境发展到今天,已经发生了深刻的变化。如今企业级应用整合与开发的任务主要由Java、基于.NET平台的C#及各种新型动态语言来承担。C++的应用场合有所收缩,不再像之前那样从上到下包打天下,呈现出鲜明的行业应用特色。未来C++主要在系统级复杂应用程序,高性能、实时中间件和嵌入式领域发挥所长。随着多核CPU的普及和网络安全重要性的空前提升,在并发程序设计、系统安全及视频处理、嵌入式开发方面,C++将获得新的应用空间。在大规模、高性能计算,游戏开发、嵌入式实时应用开发方面,以及一些传统的客户端软件和构件开发中,C++也将继续保持其稳定的地位。
C/C++的图书现状
C++的教学和使用具有其复杂性,而传统图书和学习方法的各种弊端更加剧了这一现象,使C++成为不少人望而生畏的难学、难用的“专家语言”。虽然国内的C/C++图书并不缺乏,但大多只适合有一定经验的程序员提升功力之用,而内容全面准确、讲解循序渐进、学习简明易懂的原创图书并不多见。近期C/C++图书市场存在如下特点:
1.国外经典图书全面翻新。近年来国外一些书商根据C++所发生的变化,不断地进行版本升级或全面改写书稿,推出新的力作。
2.国内原创图书缺乏力作。近年来国内虽然有一批令人耳目一新的C++好书面世,但在技术层面上对实践的关注略显不足,难解读者之渴。
3.关键性图书存在空白。基于组件的软件开发、复杂网络应用,以及热度尚在的COM开发等方面的图书有待开发。
基于上述现状,我们组织C/C++各应用领域的作者,推出本丛书“C/C++开发专家”,力求从新的、实用的、全面的角度介绍C/C++,使其紧密地跟踪当前国内最实用、最热门的编程技术。我们期望通过这套丛书,能够提高各位读者的C/C++开发水平及编程的实践能力,为我国计算机产业奉献一份微薄之力。
“C/C++开发专家”助你成为真正的程序员
“C/C++开发专家”的读者定位是:C/C++初学者,需要提升应用开发能力的程序员,具有实际开发经验的中高级程序员。对阅读本丛书的读者建议如下:
面向C/C++初学者
本丛书通俗易懂,并自成体系。丛书全面介绍C/C++及Visual C++的编程技术和实践操作。通过学习,初学者可快速地掌握涉及OOP、STL、泛型编程等标准C/C++的内容,对C/C++技术应用有更深刻的理解。
面向需要提升应用开发能力的程序员
对于那些急需提升应用开发能力的程序员来说,本丛书是再好不过的专家向导。丛书除全面介绍标准C/C++的内容外,还涉及数字图像处理、流媒体、网络通信和嵌入式开发等多个领域,可以为从事相关领域开发的程序员提供有益的帮助和参考。
面向具有实际开发经验的中高级程序员
时至今日,这句曾经在业内广为流行的话语又增添了更丰富的内涵。
脚本语言、Java、.NET等正在争夺更大的天地。
然而,C/C++仍不失为最好、最纯粹的编程语言。
——“C/C++开发专家”引导你成为真正的程序员
C/C++的发展
作为一种结构化的中高级编程语言,C语言具有功能齐全、适用范围广的优势,一直为很多程序员所钟爱,并被视为最佳的编程入门语言,拥有着庞大的使用和学习人群。C++是在C语言基础上开发的一种集面向对象编程、通用编程和传统的过程化编程于一体的编程语言,是目前业界广泛使用的一种编程语言。然而,软件产业的规模和环境发展到今天,已经发生了深刻的变化。如今企业级应用整合与开发的任务主要由Java、基于.NET平台的C#及各种新型动态语言来承担。C++的应用场合有所收缩,不再像之前那样从上到下包打天下,呈现出鲜明的行业应用特色。未来C++主要在系统级复杂应用程序,高性能、实时中间件和嵌入式领域发挥所长。随着多核CPU的普及和网络安全重要性的空前提升,在并发程序设计、系统安全及视频处理、嵌入式开发方面,C++将获得新的应用空间。在大规模、高性能计算,游戏开发、嵌入式实时应用开发方面,以及一些传统的客户端软件和构件开发中,C++也将继续保持其稳定的地位。
C/C++的图书现状
C++的教学和使用具有其复杂性,而传统图书和学习方法的各种弊端更加剧了这一现象,使C++成为不少人望而生畏的难学、难用的“专家语言”。虽然国内的C/C++图书并不缺乏,但大多只适合有一定经验的程序员提升功力之用,而内容全面准确、讲解循序渐进、学习简明易懂的原创图书并不多见。近期C/C++图书市场存在如下特点:
1.国外经典图书全面翻新。近年来国外一些书商根据C++所发生的变化,不断地进行版本升级或全面改写书稿,推出新的力作。
2.国内原创图书缺乏力作。近年来国内虽然有一批令人耳目一新的C++好书面世,但在技术层面上对实践的关注略显不足,难解读者之渴。
3.关键性图书存在空白。基于组件的软件开发、复杂网络应用,以及热度尚在的COM开发等方面的图书有待开发。
基于上述现状,我们组织C/C++各应用领域的作者,推出本丛书“C/C++开发专家”,力求从新的、实用的、全面的角度介绍C/C++,使其紧密地跟踪当前国内最实用、最热门的编程技术。我们期望通过这套丛书,能够提高各位读者的C/C++开发水平及编程的实践能力,为我国计算机产业奉献一份微薄之力。
“C/C++开发专家”助你成为真正的程序员
“C/C++开发专家”的读者定位是:C/C++初学者,需要提升应用开发能力的程序员,具有实际开发经验的中高级程序员。对阅读本丛书的读者建议如下:
面向C/C++初学者
本丛书通俗易懂,并自成体系。丛书全面介绍C/C++及Visual C++的编程技术和实践操作。通过学习,初学者可快速地掌握涉及OOP、STL、泛型编程等标准C/C++的内容,对C/C++技术应用有更深刻的理解。
面向需要提升应用开发能力的程序员
对于那些急需提升应用开发能力的程序员来说,本丛书是再好不过的专家向导。丛书除全面介绍标准C/C++的内容外,还涉及数字图像处理、流媒体、网络通信和嵌入式开发等多个领域,可以为从事相关领域开发的程序员提供有益的帮助和参考。
面向具有实际开发经验的中高级程序员
书摘回到顶部↑
第1篇 嵌入式Linux开发介绍
第1章 嵌入式系统基础
1.1 嵌入式系统概述
嵌入式系统无处不在。从MP3、PDA、手机,智能玩具,网络家电、智能家电和车载电子设备到工业和服务领域的工业控制、数控机床、智能工具、工业机器人和服务机器人等各个行业,无一不在应用着嵌入式技术。本节将从我们身边的嵌入式系统讲起,给嵌入式系统下一个比较全面的定义,并探讨嵌入式系统的发展趋势。
……
第1章 嵌入式系统基础
1.1 嵌入式系统概述
嵌入式系统无处不在。从MP3、PDA、手机,智能玩具,网络家电、智能家电和车载电子设备到工业和服务领域的工业控制、数控机床、智能工具、工业机器人和服务机器人等各个行业,无一不在应用着嵌入式技术。本节将从我们身边的嵌入式系统讲起,给嵌入式系统下一个比较全面的定义,并探讨嵌入式系统的发展趋势。
……

点击看大图


加载中...

