单片机开发从小工到专家

有道无术,术尚可求;有术无道,止于术

背景

向单片机嵌入式开发小伙伴推荐了几本书,阅读量破10+
在这里插入图片描述
在这里插入图片描述

1. 适用范围

2. 书籍推荐

书籍推荐
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 大师介绍

大师介绍

4. 大师书籍编写逻辑

25年大师出版的关于:嵌入式单片机开发方向的书籍

  • 思想:
    • OOP OOA OOD
    • UML建模
  • 软件开发生命周期
  • 软件开发模型
    • 螺旋模型
  • 软件开发方法论
    • DDD
    • 敏捷
    • 极限编程
  • 实时嵌入式操作系统
  • 设计模式
  • 故障分析:FMEA

4. 实战

知行合一

5. 读后感:

“Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit” 这本书的复杂性和专业性让很多读者难以理解,主要原因在于它覆盖了多个高级主题和专业领域。为了充分理解书中的内容,读者需要具备以下方面的知识和经验:

  1. 专业背景:主要面向有嵌入式系统学术或工作背景的读者。对这一领域缺乏经验的读者可能难以理解复杂的概念。

  2. 编程和软件设计知识:书中设计模式和实例主要基于C语言,同时涉及面向对象分析(OOA)、设计(OOD)和编程(OOP)的理念。

  3. 设计模式的复杂性:设计模式是解决特定问题的抽象方案。没有一定的软件设计经验可能难以理解其应用和好处。

  4. 交叉学科知识:书中还涉及如统一建模语言(UML)、实时操作系统(RTOS)等领域的知识。

  5. 项目周期管理和产品研发流程:理解整个项目生命周期和产品研发的各个阶段对实现嵌入式系统至关重要。

  6. 丰富的项目经验:没有丰富的项目经验,尤其是在嵌入式系统领域,可能导致读者难以将理论应用到实践中。

  7. 嵌入式系统的特殊性:这类系统通常对资源、性能和可靠性有特别要求,理解这些特性对于理解书中的内容至关重要。

  8. 理论与实践结合:理论知识和实际应用的结合是理解书中内容的关键。单纯的理论学习可能不足以领会书中的深层次知识。

9.硬件知识:嵌入式系统设计涉及硬件和软件的紧密结合,了解硬件对软件设计的影响是必要的。

8. 软件工程化

硬件设计有硬件设计图纸,
机械设计有机械设计图纸,
建筑设计有建筑设计图纸,
园林设计有园林设计图纸,
电气工程有电气设计图纸
服装设计有服装设计图纸。
各行各业都有设计图纸,都遵循各领域行业标准画图纸。
大到航空母舰小到盖个鸡舍都需要图纸。

然而,令人遗憾的是,在嵌入式实时系统软件设计领域,UML(统一建模工具)使用仍然不普及,有时甚至完全缺失。
尽管UML已有三四十年历史,但在嵌入式实时系统软件设计领域仍步履蹒跚。
在医疗仪器龙头企业干几年,没人使用UML统一建模工具绘制嵌入式实时系统软件设计图纸,仅绘制非标设计图。

在嵌入式实时系统软件设计领域内,常见的做法是先行写代码,再补充设计图纸,
这种做法类似于“先盖楼,后画图”,在没有图纸的情况下盖起高楼,待楼房建成后才绘制设计图。

“先盖楼,后画图”已经是很负责的了,绝大多数是没有图纸没有文档的,
这种现象在该领域中普遍存在,导致网络上频频吐槽代码晦涩难懂,
只有开发者自己努力回想才能理解(大多数没有图纸,这似乎成了一种“价值”,因为可见的未来无人能替代)。
这不仅体现了行业内某种程度的自满和保守,也暴露了对软件建模的忽视,
所以随之而来的超乎想象的产品投诉率、产品故障率、甚至产品召回,但可以肯定的是都与项目负责人有关系,
毕竟将帅无能累死三军,其中大多数故障都是嵌入式开发工程师们的“杰作”,
因为,其他方向工程师都有标准化图纸,都有实体,实体都有质量属性,
就只有软件只有逻辑没有图纸,甩锅小能手,扯呼起来舍我其谁,谁与争峰……

9. 从小工到专家

完全理解并掌握 “Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit” 这本书中的内容是达到高级研发工程师岗位要求的重要一步,但需要注意的是,成为一名高级研发工程师通常还需要以下几方面的能力和经验:

  1. 实际项目经验:理论知识固然重要,但高级工程师通常需要在实际项目中应用这些知识。成功的项目经验能展示一个人的技能不仅限于理论,还能在实际问题中找到解决方案。

  2. 问题解决能力:高级工程师应能独立解决复杂的技术问题。这不仅包括编程技能,还包括系统设计、性能优化、问题诊断和创新解决方案的能力。

  3. 团队合作与领导能力:高级工程师通常需要在团队环境中工作,有时还需要领导项目或团队。良好的沟通能力和团队合作精神是必不可少的。

  4. 持续学习和适应能力:技术领域不断进步,高级工程师需要持续学习新技术和方法论,以保持其技能的相关性和前沿性。

  5. 软件工程的全面知识:除了嵌入式系统,高级工程师还应对软件工程的其他方面有深入的理解,如软件架构、测试、维护和软件生命周期管理。

  6. 创新和研究能力:在某些情况下,高级工程师还需要能够进行技术创新和研究,以推动领域的发展。

总之,虽然完全理解这本书是成为高级研发工程师的重要条件之一,但还需要广泛的技术知识、丰富的实践经验和良好的软技能。在职业生涯中不断学习和积累经验是达到高级水平的关键。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/278081.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

别一言不合就重装系统!Windows 无法正常启动先试试这些办法

你是否遇到过在升级或安装 Windows 10 操作系统,Windows 无法正常启动进入桌面,甚至陷入无限循环。造成的原因有很多,比如 Windows 更新,安装了新的软件或者驱动程序,系统文件损坏等等。那遇见 Windows 启动不了怎么办…

c语言-string.h库函数初识

目录 前言一、库函数strlen()1.1 strlen()介绍1.2 模拟实现strlen() 二、库函数strcpy()2.1 strcpy()介绍2.2 模拟实现strcpy() 三、库函数strcmp()3.1 strcmp()介绍3.3 模拟实现strcmp() 总结 前言 本篇文章介绍c语言<string.h>头文件中的库函数&#xff0c;包含strlen…

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准&#xff0c;常说线程池有七大参数&#xff0c;通常而言&#xff0c;有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit …

python零基础能学吗 知乎,python零基础可以自学吗

大家好&#xff0c;本文将围绕零基础学python这本书怎么样展开说明&#xff0c;python零基础能学吗 知乎是一个很多人都想弄明白的事情&#xff0c;想搞清楚python零基础可以自学吗需要先了解以下几个事情。 0基础学Python有多难&#xff1f;该怎么入门&#xff1f; 零基础学Py…

MR实战:实现数据去重

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据文件1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、Map阶段实现&#xff08;1&#xff09;创建Maven项目&#xff08;2&#xff09;添加相关依赖…

旅行旅游研学线路景点门票特产周边小程序开源版开发

旅行旅游研学线路景点门票特产周边小程序开源版开发 以下是旅行旅游研学线路景点门票特产周边小程序开源版开发的功能列表&#xff1a; 首页&#xff1a; 展示热门线路和推荐景点信息提供搜索功能&#xff0c;用户可以通过关键词搜索线路、景点、特产等显示当前位置和附近的景…

六、文件操作

文章目录 1.文件的打开与关闭1&#xff09;打开文件2&#xff09;关闭文件3&#xff09;写数据4&#xff09;读数据(read)5&#xff09;读数据&#xff08;readlines&#xff09;6&#xff09;读数据&#xff08;readline&#xff09;7&#xff09;获取当前读写的位置8&#xf…

电子学会C/C++编程等级考试2022年09月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她…

芋道视频199 - 工作流 - 关系图 - ruoyi-vue-pro

一 新建表单 数据库&#xff1a;bpm_form。实体类&#xff1a;BpmFormDO.java&#xff1a; 二 流程模型、流程部署、流程定义 1 第1步&#xff1a;创建流程模型 页面操作&#xff1a;实体类&#xff1a;Model.java。数据库&#xff1a;ACT_RE_MODEL 流程模板信息表&#xf…

【mysql】—— 表的内连和外连

在MySQL中&#xff0c;内连&#xff08;INNER JOIN&#xff09;和外连&#xff08;OUTER JOIN&#xff09;是用于联接多个表的操作。接下来&#xff0c;我分别给大家介绍下二者。 目录 &#xff08;一&#xff09;内连接 1、什么叫内连接 2、语法格式 3、案例&#xff1a;显…

Linux操作系统极速入门[常用指令]

linux概述&#xff1a; Linux是一套免费使用和自由传播的操作系统 我们为什么要学&#xff0c;Linux&#xff1f; 主流操作系统&#xff1a; linux系统版本&#xff1a; 内核版&#xff1a; 由linux核心团队开发&#xff0c;维护 免费&#xff0c;开源 负责控制硬件 发行版&…

《异常检测——从经典算法到深度学习》25 基于深度隔离林的异常检测算法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

99. 恢复二叉搜索树

#中序遍历&#xff0c;寻找插值位置并交换 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def recoverTree…

CDSP考取的价值:成为数据安全认证专家的好处

哈喽IT的朋友们&#x1f44b;&#xff0c;今天想和大家聊聊一个超级有用的专业认证&#xff1a;CDSP&#xff0c;也就是数据安全认证专家。如果你在数据安全领域或者对这方面感兴趣&#xff0c;这个认证绝对值得你去考取哦&#xff01; 1.&#x1f393;提升专业性&#xff1a;获…

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-6根轨迹Root locus

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-6根轨迹Root locus 1. 根的作用2. 手绘技巧3. 分离点/汇合点&根轨迹的几何性质 1. 根的作用 G ( s ) s 3 s 2 2 s 4 G\left( s \right) \frac{s3}{s^22s4} G(s)s22s4s3​…

2024年有哪些热门洗地机值得选购?精选10款洗地机品牌产品

在现今快节奏的生活中&#xff0c;人们往往没有足够的时间来完成家务清洁工作。因此&#xff0c;越来越多的智能清洁家电走进了我们的生活。 例如&#xff0c;最近备受热捧的智能洗地机以其吸、拖、洗三合一的高效清洁能力和智能的一键自清洁功能&#xff0c;深受人们喜爱。 …

使用Node Exporter采集主机数据

安装 Node Exporter 在 Prometheus 的架构设计中&#xff0c;Prometheus Server 并不直接服务监控特定的目标&#xff0c;其主要任务负责数据的收集&#xff0c;存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西&#xff0c;如主机的 CPU 使用率&#xff0c;我们…

以元旦为题的诗词(二)

都放假了吧&#xff0c;都有空了吧&#xff0c;可坐下来好好学学诗词&#xff0c;好好写些诗词了吧&#xff0c;我先来几首&#xff0c;你实在不行&#xff0c;去百度或者小程序搜索《美诗计》写一写 元旦 去年元日落寒灰&#xff0c;今岁清明在此杯 老眼看书如梦寐&#xff…

docker-compose Install TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持 docker download TeamCity TeamCity 文档参考项目离线包百度网盘获取

【Linux】深挖进程地址空间

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟悉【Linux】进程地址空间 > 毒鸡汤&#xff…