liao6 发表于 2025-9-17 14:09

【每周分享】嵌入式软件工程师如何突破瓶颈?

本帖最后由 liao6 于 2025-9-19 08:27 编辑


@21小跑堂、#申请原创

      嵌入式行业工作5年之后,如果做的是单片机软件开发,大大小小的项目都有做过,M0、M3、M4的内核国内和国外的单片机都开发过,这个时候就会感觉单片机开发没什么难度,基本都是复制粘贴,软硬件联调,这个时候就会进入技术瓶颈期。以下以产品研发的路线分析个人技术成长过程,通过产品研发上升阶梯梳理技术栈。初期阶段首先,入行时一般会以学校学的51单片机作为切入点,会一些简单的寄存器操作,能够驱动外设,像UART、IIC、TIM、EXTI、ADC等等,这个阶段是从学校到公司做项目实现理论到实践的过度,应该以简单的传感器数据采集类项目作为突破点,先调用一些简单的外设,处理一些简单的逻辑。发展阶段开发的产品从一些简单的数据采集类,变成多数据采集,通信,控制逻辑的产品,单片机也51转到STM32,通过STM32开发一些裸机类的产品,这时候的项目难度增加,需要数据处理、通信协议解析及控制逻辑。提升阶段开始从裸机开发转向RTOS系统开发,需要熟悉常用的实时操作系统:UCOS、Freertos、RTT等,把功能类、数据类按照不同的模块,划分成不同的任务,这个阶段软件设计考虑模块化、分层设计,设计的软件符合低耦合高内聚。技术瓶颈突破这个阶段需要一个大平台,做的产品要有架构设计,在一个稳定的架构下多人协作设计不同的模块和软件层次,如果能参与这样的项目,对于软件编程思想会有一个提升,更多的会运用面向对象的思想去设计,剥离硬件平台的依赖,能够以更低的时间成本切换到不同的硬件平台。架构师这是软件设计类的最终归宿,这种一般适用于同产品形态,并且有一定复杂度的项目。

穷得掉渣大侠 发表于 2025-9-19 08:34

确实,从裸机到RTOS的转变是一个质的飞跃

cmyldd 发表于 2025-9-19 08:22

如果你觉得单片机开发没什么难度,说明你的应用背景有限,经验不多!

liao6 发表于 2025-9-19 08:25

cmyldd 发表于 2025-9-19 08:22
如果你觉得单片机开发没什么难度,说明你的应用背景有限,经验不多!

噢?那么阁下展开讲讲您的经验。

ColeYao 发表于 2025-9-19 10:03

1) 从C到C++;
2) 从裸机到RTOS;
3) 从能用到好用高性能(使用滤波算法PID算法等优化控制)

大大财迷 发表于 2025-9-19 12:55

这个行业越干,你会越发现自己越菜。光代码质量优化就***没有尽头,更何况硬件方面的问题处理能力全靠经验!前几年,你会认为HAL库导进来,自己做做业务程序,就完事了。解决问题的能力并没有得到提升

dffzh 发表于 2025-9-19 13:13

活到老学到老,开始接触嵌入式AI了。

qinlu123 发表于 2025-9-19 14:21

我从来不用操作系统照样能做任务解耦,有些人用了操作系统代码照样是一坨

qinlu123 发表于 2025-9-19 14:24

有了面向对象的编程理念才算是入门嵌入式,好多人写代码就和初中写作文一样,想一句写一句最后任务之前互相掐架

liao6 发表于 2025-9-19 15:04

qinlu123 发表于 2025-9-19 14:24
有了面向对象的编程理念才算是入门嵌入式,好多人写代码就和初中写作文一样,想一句写一句最后任务之前互相 ...

是的,模块化编程才是思维真正的入门。

liao6 发表于 2025-9-19 15:06

dffzh 发表于 2025-9-19 13:13
活到老学到老,开始接触嵌入式AI了。

阔以噢,这个以后会越来越普及,现在一般都是调用学习好的模型。

liao6 发表于 2025-9-19 15:07

大大财迷 发表于 2025-9-19 12:55
这个行业越干,你会越发现自己越菜。光代码质量优化就***没有尽头,更何况硬件方面的问题处理能力全靠经验 ...

产品都是妥协的艺术,没有完美的代码。

liao6 发表于 2025-9-19 15:07

ColeYao 发表于 2025-9-19 10:03
1) 从C到C++;
2) 从裸机到RTOS;
3) 从能用到好用高性能(使用滤波算法PID算法等优化控制) ...

一路进阶,学无止境啊。

liao6 发表于 2025-9-19 15:09

穷得掉渣大侠 发表于 2025-9-19 08:34
确实,从裸机到RTOS的转变是一个质的飞跃

其实,都是基本的应用,对RTOS内核的理解透彻了,能写一个小型的OS才是牛人。

liao6 发表于 2025-9-19 15:10

qinlu123 发表于 2025-9-19 14:24
有了面向对象的编程理念才算是入门嵌入式,好多人写代码就和初中写作文一样,想一句写一句最后任务之前互相 ...

见的多了,发现写代码写的狗屎一样的还不少,遇到这种只能重构。
页: [1]
查看完整版本: 【每周分享】嵌入式软件工程师如何突破瓶颈?