《 嵌入式系统设计与实践》一一导读

简介:

前言

我热爱嵌入式系统。当我第一次让马达转动时,我着迷了。我很快从单纯软件开发进入到我可以触摸真实物体的一个领域。在我离开软件开发的时候,设计模式注1开创性的工作已经完成。我和我的团队通读了这本书,讨论这些模式以及可以在哪儿应用这些模式。随着我进一步深入研究嵌入式系统,我发现不能处理C++继承的编译器,在处理器极其有限的内存中去实现模式,以及一系列新的问题使设计模式看起来难以应用。但是我从来没有忘记在工程化方法中存在着模式。通过学习识别模式,我们可以反复地使用这些健壮的解决方案。本书大部分内容着重于阐述在嵌入式系统开发中的标准设计模式,同时也给出了一些新的模式。而且,我还增加了一些章节,这些内容在绝大部分书里都找不到。
关于这本书

在研究了医疗设备、赛车、飞机、儿童玩具以及射击瞄准系统中的嵌入式系统之后,我发现了很多共性。如何为嵌入式系统设计和实现软件,要是那时候懂得很多就好了。本书包含了我所学到的知识。这是一本教授大家如何在资源受限的环境下设计优秀软件的书。
本书告诉你在应聘嵌入式系统开发工作时,了解面试官希望从你身上看到什么。每章的最后都会有一道面试题。这些题通常与具体的语言不相关,而是希望能启发你的思路。好的面试题一般都没有唯一正确的答案,因此我在每道面试题下面给出了提示,没有列举所有可能的答案,而是给出了面试官期望从你的回答中看到什么的一些提示。毕竟,你得凭借你自身的优势去获得工作(和答案)。
有一点需要说明,这里提到的嵌入式系统是没有操作系统的、运行在裸机上的软件。当软件发出打开灯的指令时,它直接向处理器发出而没有经过任何中间层。本书不讨论嵌入式操作系统,但是相关概念可以运用到运行操作系统的处理机上。因此,如果你深入研究,就可以了解操作系统底层的原理。运行在没有操作系统的环境下会让人真正体会并感谢操作系统为我们所做的一切。
本书给出了在设计嵌入式软件时通用的原型和原则。我并没有基于任何特定的平台、处理器、编译器或者编程语言,因为通过本书打下扎实的基础之后,转向特定的平台自然水到渠成。

目录

第1章 导论
1.1 编译器、编程语言以及面向对象编程
1.2 嵌入式系统开发
1.3 延伸阅读
第2章 创建系统架构
2.1 构建系统框图
2.2 从框图到架构
2.3 一个可以实践的沙盒
2.4 延伸阅读
第3章 检视硬件
3.1 硬件/软件集成
3.2 阅读数据表
3.3 处理器是一门语言
3.4 阅读原理图
3.5 调试工具箱(和灭火器)
3.6 测试硬件(和软件)
3.7 处理错误

相关文章
C#学习相关系列之多线程---TaskCompletionSource用法(八)
C#学习相关系列之多线程---TaskCompletionSource用法(八)
758 0
|
XML 安全 IDE
【C/C++ 实用工具】CppCheck:静态代码检测工具,让你的代码更安全
【C/C++ 实用工具】CppCheck:静态代码检测工具,让你的代码更安全
3392 2
|
Ubuntu
Ubuntu 20.04 安装 Fira Code 字体
Ubuntu 20.04 安装 Fira Code 字体
1421 0
|
Devops 测试技术 持续交付
软件测试中的自动化与持续集成:最佳实践与挑战
在快速迭代的软件开发周期中,自动化测试和持续集成(CI)已成为提高软件质量和加速产品上市的关键策略。本文探讨了自动化测试和CI的实施如何帮助开发团队提前发现缺陷、缩短反馈循环,并确保代码质量。我们将深入分析自动化测试的策略选择、工具应用以及面临的挑战,同时提供一些克服这些挑战的最佳实践。
433 27
|
安全 算法 网络安全
SSL/TLS协议是什么?
SSL/TLS协议是什么?
1388 57
|
设计模式 存储 算法
《设计模式:可复用面向对象软件的基础(典藏版)》
本书是埃里克·伽玛著作,涵盖180个笔记,主要介绍面向对象设计模式,包括MVC、设计模式编目、组织编目、实现描述、复用机制、运行时与编译时结构关联、设计支持变化等方面。书中详细解释了23种设计模式,如Abstract Factory、Adapter、Bridge、Builder等,按创建型、结构型、行为型分类,旨在提高软件可复用性和灵活性。
1080 0
《设计模式:可复用面向对象软件的基础(典藏版)》
|
XML Java 关系型数据库
IDEA 报错: java.sql.SQLException: Access denied for user ‘root ‘@‘localhost‘ (using password: YES)
IDEA 报错: java.sql.SQLException: Access denied for user ‘root ‘@‘localhost‘ (using password: YES)
2585 0
|
安全 算法 编译器
【C++ 泛型编程 进阶篇】深入探索 C++ STL 容器的嵌套类型:识别、运用与最佳实践
【C++ 泛型编程 进阶篇】深入探索 C++ STL 容器的嵌套类型:识别、运用与最佳实践
375 7
|
安全 Java 大数据
基于大数据的旅游系统的设计与实现(论文+源码)_kaic
基于大数据的旅游系统的设计与实现(论文+源码)_kaic

热门文章

最新文章