单片机开发从小工到专家

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

背景

向单片机嵌入式开发小伙伴推荐了几本书,阅读量破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. 创新和研究能力:在某些情况下,高级工程师还需要能够进行技术创新和研究,以推动领域的发展。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wireshark access/trunk/hybrid报文分析

1,access接口 发送带vlan的报文 wireshark交换机配置 [Huawei-GigabitEthernet0/0/1] [Huawei-GigabitEthernet0/0/1]port link-type access [Huawei-GigabitEthernet0/0/1]port default vlan 100 [Huawei-GigabitEthernet0/0/2]port link-type access [Huawei-Gig…

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目(jar) 1.3、编写 Dockerfile 文件,构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a)简…

SonarQube安装踩坑记录

如果用java1.8和mysql,则SonarQube版本不能超过7.8,看这里。 SonarQube7.8安装包地址: https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip 安装步骤: 1、下载SonarQube安装包 wget https://binari…

几代WiFi有什么差异,它们有什么区别

最典型的差异指标:单流传输速率 第一代 基于的标准: 802.11 使用频率:2.4GHz 单流最大传输速率:2Mbit/s 第二代 基于的标准: 802.11b 使用频率:2.4GHz 单流最大传输速率:11Mbit/s 第三代 …

Anolis安装Jdk保姆级教学

前言 欢迎来到本博客,我们将带领你完成在Anolis操作系统上安装Java Development Kit(JDK)的详细过程。Anolis操作系统是一款基于Linux的轻量级操作系统,专为容器和云原生应用而设计。在Anolis上安装JDK将为你提供一个稳定、高效的…

洛谷:集合与前缀和

1.亲戚(并查集) #include<iostream> using namespace std; int n,m,p; int m1,m2,p1,p2; int f[5005];int find(int x)//查询根节点&#xff0c;根节点的标志是根节点的父节点是自己 {if(f[x]!x)f[x]find(f[x]);//路径压缩&#xff0c;父节点变为根节点,方便下次询问retu…

Python 简易图形界面库easygui 对话框大全(续)

目录 EasyGUI库 主要特点 使用场景 对话框样式 10. 文件打开框 fileopenbox 11. 文件保存框 filesavebox 12. 目录打开框 diropenbox 13. 索引对话框 indexbox 14. 例外报告框 exceptionbox 15. 代码文本框 codebox 16. 密码输入框 passwordbox 17. 多重文本框 mul…

MySql数据库(3)——DML

一、DML DML&#xff08;Data Manipulation Language&#xff09;数据操作语言&#xff0c;常用语句&#xff1a; insert&#xff1a;输入delete&#xff1a;删除update&#xff1a;修改 插入数据 方式一&#xff1a;insert into 表名 &#xff08;列1&#xff0c;列2……&a…

jmeter之beanshell使用:常用变量汇总

1.变量--日期 使用场景&#xff1a;当入参日期是变量&#xff0c;取当前日期 使用如下&#xff1a; &#xff08;1&#xff09;当前日期 import java.text.SimpleDateFormat; import java.util.Date;// 创建 SimpleDateFormat 对象并指定日期格式 SimpleDateFormat dateFor…

价格成谜,小米汽车到底要卖给谁?

文&#xff5c;刘俊宏 编&#xff5c;王一粟 “不要再讲9.9万了&#xff0c;不可能的&#xff0c;也不要再讲14.9万&#xff0c;小米SU7是有理由的贵”&#xff0c;小米集团创始人、董事长雷军在12月28日的小米汽车技术发布会上&#xff0c;把价格作为最大的悬念留给了市场。…

【Python排序算法系列】—— 选择排序

​ &#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 选择排序 过程演示&#xff1a; 选择排序实现代码&#xff1a; 分析选择排序&#xff1a…

Grafana无法发送告警消息的飞书webhook(机器人)

1.问题描述 Grafana无法向飞书机器人发送报警消息&#xff0c;实测使用Grafana自带的webhook也不好使&#xff0c;对于用飞书办公的程序猿非常不便&#xff0c;后来发现一个报警神器&#xff0c;开源免费&#xff0c;关键是好用 PrometheusAlert 2.PrometheusAlert安装 Prom…

【办公软件】Excel双坐标轴图表

在工作中整理测试数据&#xff0c;往往需要一个图表展示两个差异较大的指标。比如共有三个数据&#xff0c;其中两个是要进行对比的温度值&#xff0c;另一个指标是两个温度的差值&#xff0c;这个差值可能很小。 举个实际的例子&#xff1a;数据如下所示&#xff0c;NTC检测温…

openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码

文章目录 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码178.1 前提条件178.2 操作步骤 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码 openGauss可以通过调用SQL函数&#xff0c;…

医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码

医院绩效定义&#xff1a; “医院工作量绩效方案”是一套以工作量&#xff08;RBRVS&#xff0c;相对价值比率&#xff09;为核算基础&#xff0c;以工作岗位、技术含量、风险程度、服务数量等业绩为主要依据&#xff0c;以工作效率和效益、工作质量、患者满意度等指标为综合考…

WPF 漂亮长方体、正文体简单实现方法 Path实现长方体 正方体方案 WPF快速实现长方体、正方体的方法源代码

这段XAML代码在WPF中实现了一个类似长方体视觉效果的图形 声明式绘制&#xff1a;通过Path、PathGeometry和PathFigure等元素组合&#xff0c;能够以声明方式精确描述长方体每个面的位置和形状&#xff0c;无需编写复杂的绘图逻辑&#xff0c;清晰直观。 层次结构与ZIndex控制…

EyouCMSv1.5.1漏洞复现

赞赞网络科技 EyouCMS&#xff08;易优CMS&#xff09;是中国赞赞网络科技公司的一套基于ThinkPHP的开源内容管理系统&#xff08;CMS&#xff09;。 Eyoucms v1.5.1 及以前版本存在任意用户后台登陆与文件包含漏洞&#xff0c;该漏洞使攻击者可以通过调用api&#xff0c;在前台…

MAC运行Windows专用软件 CrossOver v23.7.1中文版 macOS

CrossOver v23.7.1中文版是一款系统兼容软件&#xff0c;让您可以在 Mac 和 Linux 系统上运行 Windows 应用&#xff0c;不必购买 Windows 授权&#xff0c;不必重启系统&#xff0c;不必使用虚拟机。通过 CrossOver&#xff0c; 您可以从 dock 直接启动 Windows 应用&#xff…

D1671 75Ω视频放大驱动芯片 ,2.8~5.5V 应用于手持设备中 内 置 SAG端 子 6dB放 大 器 电 路

D1671 是 一 块 带 4 级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在 3V 或 5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV 影 象 输 出 功 能 的 产 品 上 面 &#xff0c; 比 如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD &#xff1b;此 …

D9741 PWM控制器电路,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装

D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。 主要特点&#xff1a;● 高精度基准电路 ● 定时闩锁、短路保护电路 ● 低电压输入时误操作保护电路 ● 输出基准电…