嵌入式学习路线

嵌入式系统是一种将软件和硬件紧密结合的技术,首先我们要认识到,无论我们是专注于软件开发还是硬件开发,最终的目标都是为了更好的工作和职业发展。

根据企业的规模和需求,大公司更倾向于将职责分得更细,例如软件分为:驱动、应用和系统,有的还会有中间件;而小公司则希望你能够掌握更全面的技能,即一个人能够胜任多个职位的工作。

曾经有人对稚晖君所具有的技能做了总结,他的技能包括:

电子基础、电子元器件选型、电路原理图设计、高速电路 PCB 设计、电子元器件焊接技术、电路板调试、启动程序 UBOOT 裁剪移植、Linux 内核裁剪移植、文件系统、底层驱动程序(C语言、ARM 架构汇编、Linux 内核架构)、上层应用程序(C++、Qt、JAVA、Python等,深度学习,机器学习,OpenCV,神经网络,自然语言处理)、高等数学、线性代数、概率论、离散数学。

嵌入式的技能等级分为初级、中级和高级;但从工作内容上可以先分为两个方向:软件和硬件。在本文中,我们将探讨嵌入式软件工程师的学习路径,包括技能等级的划分和各方向的学习重点,以及如何根据个人的兴趣和职业规划来选择合适的学习路径。


嵌入式软件方向

在嵌入式软件工作的分类方法是多元和多样的。在这里,我们将简要介绍几种主要的分类方式:

1、根据代码面向的对象,嵌入式软件工作可以大致分为三大类:

  • 底层驱动开发:专注于硬件接口和设备驱动的编程,确保硬件组件的正确和高效运行。
  • 应用开发:涉及创建用户界面和应用程序,通常需要具备良好的用户体验设计和软件工程技能。
  • 系统开发:包括操作系统的定制和优化,以及系统服务和功能的开发。

2、从硬件使用的操作系统角度来分析,我们可以将其分为一下几类:

  • 裸机 :直接在没有操作系统的硬件上进行编程,通常用于资源有限和对实时性要求高的系统。

  • RTOS(实时操作系统):例如FreeRTOS、RT-Thread、uCOS-III 等,这些系统提供了实时功能和简单的调度机制,常用于单片机开发。

  • Linux系统 :包括自定义裁剪的 Linux、Ubuntu、Raspberry Pi OS、Arch Linux ARM 等,这些系统通常运行在单板计算机(SBC:Single-Board Computer)上,提供了丰富的功能和强大的社区支持。

  • 嵌入式相关的工作岗位描述,例如:

  • 单片机工程师

  • 嵌入式 Linux 软件工程师

  • Linux 驱动开发工程师

  • BSP 驱动开发工程师

  • 嵌入式 QT 开发工程师

  • 物联网开发工程师

通过了解嵌入式软件工作的这些分类,你可以更清晰地理解每个岗位的具体职责和要求。

接下来,我们就进入正题,说一下嵌入式工程师需要具备的开发技能,以及学习梯度。

1. 打好语言基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ღ᭄陽先生꧔ꦿ᭄

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值