嵌入式软件开发有哪些方向?学习路线是什么?

原创 无际单片机编程 2021-11-02 13:48

你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程

文 | 无际(微信:603311638)

个人原创 | 第 128 

全文约2285字,阅读大约需要 6分钟

大家好,我是无际。

希望,这篇文章能为迷茫无助的你明确方向。
 
很多人觉得学习嵌入式开发比高考还难,不知道怎么入门?要学哪些东西?
 
嵌入式开发涉及的知识,你确实一辈子都学不完。
 
但是,这不代表你需要花费很长的时间才能学会。
 
我相信大多数人学习的目的,都是先通过学习这个技能找份工作,然后慢慢深入。
 
如果只是要达到找工作这种程度,完全可以在3-4个月时间完成。
 
一上来就像吃透这个,吃透那个的专家思想,绝对还没入门就入土了。
 
在学习之前,最重要的不是找教程,方向和方法比教程更重要。
 
很多人以为嵌入式开发就是搞ARM,搞Linux。
 
实际上,嵌入式开发分很多方向。
 
主流的方向有:
1. 单片机开发
2. Linx驱动/应用开发
3. FPGA,不了解不做讲解
 
这是两个是目前市场需求最大的,单片机开发和Linux驱动开发偏向硬件,Linux应用开发基本是软件。
 
前期一定要先根据个人情况确定好自己要从事的方向,不同的方向学习内容也不一样
 
很多人搞不清方向,以为嵌入式开发又要学单片机,又要学Linux,学了1年门都没入。


 
 
我做了单片机开发10年,对这个行业比较熟悉,这个方向也相对好入门,就拿这个方向做详细讲解,技术不用学多,深耕一个就够了。
 
单片机开发应该是属于最好入门的,Linux驱动/应用开发相对难点,工资Linux也相对高点。
 
不过做得越久,我越发现单片机开发其实并不比Linux开发简单。
 
我反而觉得资源越丰富的,用起来反而更简单。
 
举个例子,很多做家用消费类产品的芯片都是选非常便宜的,内存也非常小,资源非常匮乏。
 
他们写程序都是用汇编,算着汇编指令去写的。
你可以用资源丰富的芯片做,然后用c把代码写的很健壮,但是成本绝对比别人高。
 
哪怕一颗芯片只贵1毛钱,如果一个月出货10万个,你就让企业少挣1万。
 
有些做嵌入式Linux开发的看不起做单片机开发的,觉得很简单,没什么技术难度。
 
等你做过研发负责人,你就明白任何一个产品,即便功能再简单,要做好都是没那么简单的。
 
下面,我来总结下,学习单片机开发正确的学习路径
 


 
整个学习路径我分为7步:
1. C语言基本语法
C语言基本语法学习大概需要1-2周时间,这种教程网上已经泛滥了,大多基于上位机的C语言,跟单片机C语言编程用起来还是有点差异。
 
我们这块也专门录制了一套教程,总结了我们这几年实际开发最常用到的一些语法,可以到B找无际单片机编程直接看,都是开源的,教程相关课件源码也可以找我来拿,微信603311638。


 
2. 基础电路
这一步走弯路的小伙伴最多,再重申一遍,不用死磕模电,甚至都不用刻意去学。
 
学习电路最好的途径就2个,一是开发板,二是项目
 
然后通过项目不断地积累电路,模电负反馈放大电路以后的知识点我在实际工作基本没用到过。
 
而且我们定位单片机软件开发的话,也不需要具备硬件设计能力,只需要看懂电路关键输入输出就行了。
 
简单来说就是单片机通过什么方式控制电路,通过什么接口去采集电路过来的数据就行了。
 
3. 51单片机
我第一次接触到的单片机是STC89C52RC,也就是现在开发板最常用最经典的一款。
 
不管你通过哪一款去入手,51单片机我都建议必须学一下,如果你直接学STM32我也不拦你。
 
学习51单片机的目的是为了让更好容易地去理解单片机的资源到底是怎么用起来的,怎么通过程序去控制电路的。
 
相当于为你后续学习别的单片机铺路。
 
4. 51单片机项目
学完前面3个基础知识以后,到这一步,先把你前面所学的知识变成实实在在的项目,可以是一些小项目,比如说寻迹小车之类的,可以到某宝找一些DIY套件自己写程序。
 
一般他们也有提供源码,只不过很多只是以实现功能为目的,与实际产品的代码有区别。
 
这里本来想给我们项目打个广告,想想还是算了,好不容易积攒点粉,待会跑光了,哈哈,随缘吧。

这一步非常重要,也容易被初学者忽略,这一步的目的是为了学习实现功能的思维,锻炼代码整合能力,这个能力比你会单片机更重要。
 
5. C语言高级用法
C语言基本语法学完了,也通过项目落到实处了,就需要学习一下C语言的高级用法了,比如说指针、结构体。
 
这块也是为下一步学习STM32单片机做铺垫,STM32的库是面向对象的思维,如果不懂结构体和指针基本看不懂。
 
这块我们无际单片机编程也有原创的、系统的开源教程在B站。


 
6.  STM32单片机
很多人学习STM32觉得很难,怎么跟51单片机的开发模式完全不一样,控制一个IO口都这么麻烦。
 
STM32的资源比51单片机多太多了,寄存器自然也多,为了缩短大家开发周期,所以早期ST推出了固件库。
 
直接调库就能很轻松把STM32的外设用起来,而不需要关心底层配置了什么寄存器。
 
STM32学习我认为是会调库把外设用起来就行了,不用研究这么深。
 
除非你以后的产品需要你用寄存器去开发,再针对性去研究。
 
也不用所有外设都学习,可以看我上面那个思维导图,我为大家总结了最常用的外设。
 
7. STM32项目
如果你坚持到这个环节,那恭喜你,你已经成功入门了。
 
接下来的时间,全部放在做项目上面,再去学别的单片机已经没太大意义了,使用起来都是大同小异。
 
你现在缺的是功能实现的思路,以及代码实现的能力
 
除了项目,没有更好的方法,到这一步如果有条件了,一定要舍得花钱投资自己。
 
找一个行业经验丰富的人带你,通过最短的时间去学习别人几年的经验是很划算的。
 
如果条件不允许或者不认可我说的,也可以去找一些开源的项目学习,只是自己摸索比较浪费时间。
 
还有就是到某宝找一些单片机的项目DIY套件,一般他们会有提供源码,可以跟着学习。
 
有2-3个项目经验以后就可以开始找工作了。

最后,祝大家学有所成!
无际单片机编程 单片机编程、全栈孵化。
评论
  • 在快速发展的能源领域,发电厂是发电的支柱,效率和安全性至关重要。在这种背景下,国产数字隔离器已成为现代化和优化发电厂运营的重要组成部分。本文探讨了这些设备在提高性能方面的重要性,同时展示了中国在生产可靠且具有成本效益的数字隔离器方面的进步。什么是数字隔离器?数字隔离器充当屏障,在电气上将系统的不同部分隔离开来,同时允许无缝数据传输。在发电厂中,它们保护敏感的控制电路免受高压尖峰的影响,确保准确的信号处理,并在恶劣条件下保持系统完整性。中国国产数字隔离器经历了重大创新,在许多方面达到甚至超过了全球
    克里雅半导体科技 2025-01-03 16:10 121浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 23浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 39浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 41浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 32浏览
  • 物联网(IoT)的快速发展彻底改变了从智能家居到工业自动化等各个行业。由于物联网系统需要高效、可靠且紧凑的组件来处理众多传感器、执行器和通信设备,国产固态继电器(SSR)已成为满足中国这些需求的关键解决方案。本文探讨了国产SSR如何满足物联网应用的需求,重点介绍了它们的优势、技术能力以及在现实场景中的应用。了解物联网中的固态继电器固态继电器是一种电子开关设备,它使用半导体而不是机械触点来控制负载。与传统的机械继电器不同,固态继电器具有以下优势:快速切换:确保精确快速的响应,这对于实时物联网系统至
    克里雅半导体科技 2025-01-03 16:11 165浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 38浏览
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 162浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 164浏览
  • 车身域是指负责管理和控制汽车车身相关功能的一个功能域,在汽车域控系统中起着至关重要的作用。它涵盖了车门、车窗、车灯、雨刮器等各种与车身相关的功能模块。与汽车电子电气架构升级相一致,车身域发展亦可以划分为三个阶段,功能集成愈加丰富:第一阶段为分布式架构:对应BCM车身控制模块,包含灯光、雨刮、门窗等传统车身控制功能。第二阶段为域集中架构:对应BDC/CEM域控制器,在BCM基础上集成网关、PEPS等。第三阶段为SOA理念下的中央集中架构:VIU/ZCU区域控制器,在BDC/CEM基础上集成VCU、
    北汇信息 2025-01-03 16:01 175浏览
我要评论
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦