一步步写嵌入式操作系统—ARM编程的方法与实践
基本信息
- 作者: 李无言
- 出版社:电子工业出版社
- ISBN:9787121122408
- 上架时间:2010-12-27
- 出版日期:2011 年1月
- 开本:16开
- 页码:265
- 版次:1-1
- 所属分类:
计算机 > 计算机组织与体系结构 > 嵌入式计算机
编辑推荐
深入研究嵌入式操作系统的绝佳教材
从最基本的嵌入式编程方法开始,层层深入
强调实践,帮助你编写出属于自己的嵌入式操作系统
内容简介回到顶部↑
书籍
计算机书籍
本书是一本介绍怎样去实际编写一款嵌入式操作系统的书,所涉及的内容包括操作系统基本原理以及这些原理在嵌入式平台中的实现方法。全书共分九章,从最基本的嵌入式编程方法开始,逐渐深入到中断管理、内存管理、设备管理、文件系统管理以及进程管理等操作系统核心部分,为读者系统地呈现了一个操作系统的全貌。另外,本书遵循理论联系实际的基本原则,在阐述基本原理的同时,还给出非常详尽的示例代码,以及对这些代码的讲解。读者研读这些代码,不但可以进一步巩固对操作系统理论知识的理解,更可以以此为基础,去实现一个属于自己的嵌入式操作系统。也许写操作系统是很多人的梦想,或者对有些人来说根本不敢想象,希望通过学习本书,您可以超越您的想象,实现您的梦想!
计算机书籍
本书是一本介绍怎样去实际编写一款嵌入式操作系统的书,所涉及的内容包括操作系统基本原理以及这些原理在嵌入式平台中的实现方法。全书共分九章,从最基本的嵌入式编程方法开始,逐渐深入到中断管理、内存管理、设备管理、文件系统管理以及进程管理等操作系统核心部分,为读者系统地呈现了一个操作系统的全貌。另外,本书遵循理论联系实际的基本原则,在阐述基本原理的同时,还给出非常详尽的示例代码,以及对这些代码的讲解。读者研读这些代码,不但可以进一步巩固对操作系统理论知识的理解,更可以以此为基础,去实现一个属于自己的嵌入式操作系统。也许写操作系统是很多人的梦想,或者对有些人来说根本不敢想象,希望通过学习本书,您可以超越您的想象,实现您的梦想!
目录回到顶部↑
第1章 搭建工作环境 1
1.1 选择合适的开发环境 1
1.1.1 准备cygwin开发环境 2
1.1.2 使用linux开发环境 7
1.2 开发工具的使用 8
1.2.1 编译器的选择和安装 8
1.2.2 编辑器的选择和使用 10
1.3 虚拟硬件的安装和使用 13
1.3.1 skyeye的安装 15
1.3.2 skyeye的使用 15
1.4 总结 17
第2章 基础知识 18
2.1 使用c语言写第一段程序 18
2.2 用脚本链接目标文件 22
2.3 用汇编语言编写程序 25
2.4 汇编和c的混合编程 29
2.4.1 过程调用标准 30
2.4.2 混合编程的例子 31
2.5 makefile 33
2.6 总结 35
1.1 选择合适的开发环境 1
1.1.1 准备cygwin开发环境 2
1.1.2 使用linux开发环境 7
1.2 开发工具的使用 8
1.2.1 编译器的选择和安装 8
1.2.2 编辑器的选择和使用 10
1.3 虚拟硬件的安装和使用 13
1.3.1 skyeye的安装 15
1.3.2 skyeye的使用 15
1.4 总结 17
第2章 基础知识 18
2.1 使用c语言写第一段程序 18
2.2 用脚本链接目标文件 22
2.3 用汇编语言编写程序 25
2.4 汇编和c的混合编程 29
2.4.1 过程调用标准 30
2.4.2 混合编程的例子 31
2.5 makefile 33
2.6 总结 35
前言回到顶部↑
本书作者多年的嵌入式领域研发、管理和教学经验,促成了本书的诞生。
本书的目的
操作系统是一个古老的话题,它的出现和发展,对于计算机技术来说,意义非凡。这种发展不仅仅体现在传统的计算机中,在强调精简、高效率和实时性的嵌入式领域,操作系统也发挥着不可替代的作用。
熟悉嵌入式技术的读者朋友多少都能列举出一些典型的嵌入式操作系统,如ECOS、UCOS、Linux、VxWorks,等等,这些操作系统凭借自身的优势,在嵌入式领域的各种应用中安营扎寨,各占据了一席之地,国内基于这些嵌入式操作系统的书籍也是琳琅满目、层出不穷。
本书写作的一个根本目的是能够体现出嵌入式操作系统的基本原理和结构特点,于是,本书力求从嵌入式操作系统的实现方法这一角度出发,去讲解嵌入式系统的基本原理,为大家展示一个嵌入式操作系统的全貌,不拘泥于某款具体的操作系统,不局限在操作系统上的应用程序这一范畴。
一次跟Android领军人物高焕堂先生聊天时,他的一番话让我感触颇深。他说,国外先进的开发工具、平台和操作系统就好比是武器,而中国人喜欢拿着别人给的先进武器去打仗(做应用层开发),一旦有一天我们跟外国人打起来,人家拿走我们的武器,我们就真的是一筹莫展了。
这句话很有道理,中国计算机技术整体水平的提高需要以大量自主研发的开发工具、平台架构以及操作系统为基础。不过,目前我们离这样的一个目标还相去甚远。
本书强调实践,力求能够帮助读者编写出属于自己的嵌入式操作系统。如果读者以本书为基础(或者哪怕从中得到了一丝灵感)开发出一些优秀的嵌入式操作系统,那将会是非常令人高兴的事情!
本书的特点
目前,市面上与操作系统理论相关的书有很多,与这些书相比,本书特点十分鲜明。
第一,本书的内容立足于嵌入式技术,以目前最流行的ARM体系结构为基础,为您展示出嵌入式环境下操作系统的基本原理和实现方法。这是一本学习嵌入式技术,尤其是系统级技术的首选教材。
第二,本书是以实践的方式讲述全书内容的,重视理论联系实际。操作系统涉及的每一个角落,如进程、内存、中断、文件系统、驱动程序,都有若干段代码供读者实践。实际上,读者只需要将书中的代码拼接起来,就可以构成一个结构完整的操作系统内核。
第三,涉猎广泛。为了让读者能够全方位地理解操作系统的理论和实现方法,书中涉及了高级C语言编程、汇编语言、算法、ARM体系结构等诸多领域,分析研究了包括freeRTOS、uCOSII、u-boot、Linux、Minix等在内的操作系统和引导程序的源代码。这些必备的知识和概念都将成为您深入研究任何一款操作系统的绝佳入门内容。
第四,本书语言通俗易懂。书中在描述各种操作系统概念或原理时,力求使用通俗的语言浅显地说明问题,这与一些学术性质的操作系统读物有明显的不同。
谁适合读这本书
本书是写给那些想了解操作系统原理的人,也适合那些想要学习ARM技术的开发者。当然,对于那些致力于开发属于自己的嵌入式操作系统的读者们来说,本书是一部绝佳的入门指南。
当然,我们也希望本书的读者至少具备一些基本的C语言编程基础。除了C语言之外,如果您对微机原理之类的知识也略知一二,那么在阅读本书的时候,将会觉得更加轻松。本书不需要读者了解嵌入式技术,因为这些知识在书中都会涉及,但如果您也知道一些关于ARM的事,那么无论是重写书中的代码还是深入理解书中所讲述的操作系统原理,都会水到渠成。
学习本书的方法
本书在知识的宽度和篇幅上做了平衡。希望展示给读者一个操作系统的全貌,保证读者能够自己动手完成操作系统的编写,而这些都需要我们在开发的过程中不断学习书中所涉猎的知识点。毫无疑问,这些内容是相当庞大的。
为了避免在书中罗列各种技术手册的细节,在本书的编写过程中,我们遵循了只对用到的知识深入讲解的原则。这样做的弊端是,读者会对很多知识点有深入的理解,但却不全面。
本书的目的
操作系统是一个古老的话题,它的出现和发展,对于计算机技术来说,意义非凡。这种发展不仅仅体现在传统的计算机中,在强调精简、高效率和实时性的嵌入式领域,操作系统也发挥着不可替代的作用。
熟悉嵌入式技术的读者朋友多少都能列举出一些典型的嵌入式操作系统,如ECOS、UCOS、Linux、VxWorks,等等,这些操作系统凭借自身的优势,在嵌入式领域的各种应用中安营扎寨,各占据了一席之地,国内基于这些嵌入式操作系统的书籍也是琳琅满目、层出不穷。
本书写作的一个根本目的是能够体现出嵌入式操作系统的基本原理和结构特点,于是,本书力求从嵌入式操作系统的实现方法这一角度出发,去讲解嵌入式系统的基本原理,为大家展示一个嵌入式操作系统的全貌,不拘泥于某款具体的操作系统,不局限在操作系统上的应用程序这一范畴。
一次跟Android领军人物高焕堂先生聊天时,他的一番话让我感触颇深。他说,国外先进的开发工具、平台和操作系统就好比是武器,而中国人喜欢拿着别人给的先进武器去打仗(做应用层开发),一旦有一天我们跟外国人打起来,人家拿走我们的武器,我们就真的是一筹莫展了。
这句话很有道理,中国计算机技术整体水平的提高需要以大量自主研发的开发工具、平台架构以及操作系统为基础。不过,目前我们离这样的一个目标还相去甚远。
本书强调实践,力求能够帮助读者编写出属于自己的嵌入式操作系统。如果读者以本书为基础(或者哪怕从中得到了一丝灵感)开发出一些优秀的嵌入式操作系统,那将会是非常令人高兴的事情!
本书的特点
目前,市面上与操作系统理论相关的书有很多,与这些书相比,本书特点十分鲜明。
第一,本书的内容立足于嵌入式技术,以目前最流行的ARM体系结构为基础,为您展示出嵌入式环境下操作系统的基本原理和实现方法。这是一本学习嵌入式技术,尤其是系统级技术的首选教材。
第二,本书是以实践的方式讲述全书内容的,重视理论联系实际。操作系统涉及的每一个角落,如进程、内存、中断、文件系统、驱动程序,都有若干段代码供读者实践。实际上,读者只需要将书中的代码拼接起来,就可以构成一个结构完整的操作系统内核。
第三,涉猎广泛。为了让读者能够全方位地理解操作系统的理论和实现方法,书中涉及了高级C语言编程、汇编语言、算法、ARM体系结构等诸多领域,分析研究了包括freeRTOS、uCOSII、u-boot、Linux、Minix等在内的操作系统和引导程序的源代码。这些必备的知识和概念都将成为您深入研究任何一款操作系统的绝佳入门内容。
第四,本书语言通俗易懂。书中在描述各种操作系统概念或原理时,力求使用通俗的语言浅显地说明问题,这与一些学术性质的操作系统读物有明显的不同。
谁适合读这本书
本书是写给那些想了解操作系统原理的人,也适合那些想要学习ARM技术的开发者。当然,对于那些致力于开发属于自己的嵌入式操作系统的读者们来说,本书是一部绝佳的入门指南。
当然,我们也希望本书的读者至少具备一些基本的C语言编程基础。除了C语言之外,如果您对微机原理之类的知识也略知一二,那么在阅读本书的时候,将会觉得更加轻松。本书不需要读者了解嵌入式技术,因为这些知识在书中都会涉及,但如果您也知道一些关于ARM的事,那么无论是重写书中的代码还是深入理解书中所讲述的操作系统原理,都会水到渠成。
学习本书的方法
本书在知识的宽度和篇幅上做了平衡。希望展示给读者一个操作系统的全貌,保证读者能够自己动手完成操作系统的编写,而这些都需要我们在开发的过程中不断学习书中所涉猎的知识点。毫无疑问,这些内容是相当庞大的。
为了避免在书中罗列各种技术手册的细节,在本书的编写过程中,我们遵循了只对用到的知识深入讲解的原则。这样做的弊端是,读者会对很多知识点有深入的理解,但却不全面。








点击看大图



加载中...
