--

专业嵌入式软件开发——全面走向高质高效编程(含DVD光盘1张)

李云 编著

ISBN 978-7-121-14783-8

2012年1月出版

定价:108.00元(含DVD光盘1张)

16开

640页

内 容 简 介

本书分为6篇。硬件篇就嵌入式软件开发所需掌握的处理器概念进行了介绍。工具篇对make、gcc编译器、bintuils工具集、ld链接器和gdb调试器进行了讲解,其中对make这一嵌入式开发环境的全能管家进行了精辟的介绍,致力于帮助读者成为Makefile方面的专家。编程语言篇致力于让读者更深入地理解C编程语言。操作系统篇通过循序渐进的方式介绍ClearRTOS的设计与实现,使得读者能透彻地理解操作系统的关键概念和实现原理。设计篇和质量保证篇通过实践的方式逐步展开讲解,以帮助读者获得一些实用的设计原则、最佳实践和一套有效的质量保证方法论。

本书适合嵌入式软件开发领域的新手和在工作中碰到瓶颈的老手阅读。阅读本书要求读者已掌握C编程语言和基本的UML知识。

前  言

我于2000年第一次接触嵌入式软件开发工作,那时和很多入门者一样,因为找不到全面、易懂、深入的读物,也没有人指导,因而遭遇了极大的自学痛苦。即使在今天,学习嵌入式软件开发似乎仍困难重重,这从我的博客空间不时有网友发私信询问如何学习可以看出。

我也曾被网友要求推荐学习嵌入式软件开发的好书。但当我以“嵌入式”关键字在网上书店进行搜索时,所获得的书大部分与Linux、Windows CE、Android和ARM有关。在我看来,网友并不是让我帮助他选择Linux还是Windows CE,ARM还是x86,而认为他希望获得一本学习通用原理和方法的书,因此不敢贸然推荐。基于这种现状,我萌发了写一本既能指导新手入门,又能帮助老手获得突破的书。读者手上拿的正是这本书!本书的创作始于2009年6月,历时2年后于2011年下半年面市。

在本书的创作之初,我问自己:这本书应当包含哪些内容呢?或许可以根据自己过去十多年所经历并克服的成长痛苦进行编排!

嵌入式软件开发是一种软硬件结合非常紧密的职业,对工程师的能力要求自然也就高了。刚开始学习嵌入式软件开发时,最困难的莫过于学习操作系统原理和处理器方面的知识,所以本书必须包含这两方面的内容。讲解操作系统原理如果以Linux、Windows CE等成熟的操作系统为素材并不好,因为它们太大,很容易让人“只见森林不见树木”,也容易让人望而生畏而失去学习的兴趣和信心。从软件开发的角度来看,操作系统的概念和实现原理一旦掌握,不论基于哪一个操作系统做开发都只是调用不同的函数而已。为了让读者获得最好的学习体验,我为本书设计了一个实现简洁、完整的“实时” 操作系统——ClearRTOS,通过渐进式的方式细致地讲解操作系统的概念和实现原理。至于处理器方面的知识,本书没有针对某一具体处理器,而是就编程方面所需的通用知识进行了介绍。对这些通用知识的掌握,将使得处理器对于读者不再那么神秘。

学习嵌入式软件开发的另一大困难是实践问题,本书必须帮助读者解决这一问题。对于很多初学者来说,为了实践而购买一块开发板的学习成本偏高。值得欣喜的是,读者学习本书并不需要购买开发板,而只需要有一台安装于x86或x86-64(包括Intel 64 和AMD 64)处理器上的Windows或Linux操作系统的计算机,对于大多数读者来说这样的学习环境就在身边。另外,软件开发工程师有一个特点,对于自己能修改和调试的代码更具学习兴趣,通过这种方式学习的效果也更佳。本书的所有代码(包括ClearRTOS)都被设计成能在Cygwin环境 和Linux操作系统上编译、调试和运行,所以本书完全迎合工程师的这一学习偏好。总的说来,实践性强是本书很突出的一个特色。

掌握开发所需的工具是学习嵌入式软件开发的又一大挑战,本书在这方面也花费了大量笔墨。与非嵌入式软件开发采用集成开发环境不同,嵌入式软件开发大多是基于命令行的。软件开发工程师除了进行编码工作,还需要能驾驭自己的编译环境并运用其他的开发工具辅助开发工作。本书的工具篇以来自GNU的工具为例帮助读者战胜这一挑战。值得强调的是,其中花了很大的篇幅帮助读者成为Makefile方面的专家。

如果读者只想入门,那么掌握操作系统、处理器和必要的工具就足够了。但如果想获得突破,以实现高质高效地从事软件开发工作显然不够,还必须理解软件设计的重要性,并借助一定的质量保证方法论来提高工作质量和效率。软件设计和质量保证方法论是业内比较抽象和高级的话题,为此本书在设计篇和质量保证篇通过实践的方式逐步展开讲解,以帮助读者获得一些实用的设计原则、最佳实践和一套有效的质量保证方法论。

总而言之,本书从知识、工具、方法和思想这四大方面全面讲解如何专业地从事嵌入式软件开发,致力于帮助读者全面走向高质高效编程。

读者阅读本书之前,需要掌握C编程语言和基本的UML知识 。如果有使用Linux操作系统的基础经验,对学习本书也会有小小的帮助 。尽管本书是针对嵌入式领域的,但书中的很多思想和方法适用于整个软件行业。

专业嵌入式软件开发——全面走向高质高效编程(含DVD光盘1张)相关推荐

  1. 《实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)》

    <实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)> 基本信息 作者: 徐康明    辛洪郁 出版社:电子工业出版社 ISBN:9787121221378 上架时间:2014 ...

  2. PHP开发入行真功夫(含DVD光盘1张)

    查看书籍详细信息: PHP开发入行真功夫(含DVD光盘1张) 编辑推荐 囊括10余种技术的企业面试题库,8项数十种实用资料组成的求职指南,实训演练.习题解答与完整实例代码. 专家在线指导.实时答疑,面 ...

  3. Spring 3.x 企业应用开发实战(含CD光盘1张)

    Spring 3.x 企业应用开发实战(含CD光盘1张)  陈雄华,林开雄著 ISBN 978-7-121-15213-9 2012年2月出版 定价:90.00元(含光盘1张) 16开 728页 宣传 ...

  4. 高质高效软件开发组织能力模型

    背景 至今,我在Motorola网络部工作超过了5年,所在的产品线也是采用统一软件开发过程和敏捷思想(但不是SCRUM)来组织软件开发活动的,但这5年多的工作经历从未引起我象微博上对于SCRUM话题的 ...

  5. “高质高效嵌入式软件开发”的企业内训开始

    上周末,大连某日资企业邀请我培训中心进行"高质高效嵌入式软件开发"的企业内训.培训由李老师进行讲授. 企业技术人员对该课程求知若渴,一直期盼着这次培训.这种强烈的学习欲望,在课堂上 ...

  6. 嵌入式软件开发之程序编程规范(五)

    1.前言 作为一个软件开发人员,应养成良好的编程习惯,随着编码越来越多,内容也会变得越来越多,规范化自己的编程有助于为了在程序代码量很大的时候,便于自己阅读,也便于别人阅读(团队合作),特别是作为一个 ...

  7. 嵌入式软件开发之常用软件(六)

    1.前言 作为一个软件开发人员,除了程序能力素养方面外,还应该熟练地使用各种常用的辅助工具,所谓"工欲善其事,必先利其器":通过这些工具能提升自己的专业素养,且在工作中选择合适的工 ...

  8. 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?

    什么是嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很 ...

  9. 【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享

    我的嵌入式学习之路 我为什么写这篇文章 先简单介绍一下我自己 与每一个技术小白共勉 这篇文章写给谁 我的学习经验分享 我的成长之路 我的单片机学习历程分享 51系列单片机学习历程 预备知识:(可以查百 ...

最新文章

  1. python 进度条
  2. python读取数据的函数详解_你了解文件缓存机制吗?磁盘文件如何读写?Python中open函数详解...
  3. Anaconda安装jieba方法
  4. kafka跨集群同步方案
  5. Hadoop 序列化
  6. linux维护rpm 数据库,Linux运维知识之linux rpm命令详细介绍
  7. ISO 9001 质量标准体系 免费下载
  8. 判断对错html,js制作单选题,能判断对错
  9. Python爬虫入门【8】: 蜂鸟网图片爬取之三
  10. 计算机专业需要学习打字吗,电脑学习打字的最快方法是什么
  11. PyTorch语音识别框架,将语音转成文本格式
  12. 论“蹭热点”,我只服“杜蕾斯”,盘点“杜蕾斯官方”曾蹭过的十大热点!
  13. 致敬!向中外9名杰出女数学家
  14. 艾默生手操器TREXLFPNAWS1S
  15. 数据挖掘思维和实战06 数据建模:该如何选择一个适合我需求的算法?
  16. cvRound cvFloor cvCei 和 int
  17. 分层自动化测试模型变与不变
  18. 最新主流大数据技术分类大全(持续更新)
  19. docker、K8S、k3s、rancher
  20. 接近五位数的显示器表现如何 PD2720U 评测 —— 设计与体验篇

热门文章

  1. 漫谈时序设计(2)需要给复位足够的关心!
  2. 跨时钟域信号传输问题之握手同步
  3. 【 数字信号处理 】定点数的表示之二进制数的原码与补码
  4. Java并发机制的底层实现原理
  5. (学习笔记)Jupyter notebook入门
  6. Win 10 源码一览:0.5T 代码、400 万文件、50 万文件夹
  7. 乔布斯的64周年诞辰,苹果滞销的第N天
  8. [Nginx] Nginx 配置location总结
  9. c++ clr编译dll在c#调用时出现“试图加载不正确的格式”“找不到dll”错误的解决...
  10. CodeForces 609B The Best Gift