首页 > 编程知识 正文

嵌入式自学平台,嵌入式开发入门教程

时间:2023-05-05 14:26:29 阅读:57266 作者:3929

我从2011年开始从事嵌入式软件开发。

很多人觉得学习嵌入式开发比高考更难,不知道怎么入门吗? 你要学什么样的东西?

嵌入式开发涉及的知识,你确实一辈子都学不完。

但是,这并不意味着学习需要很长时间。

我认为很多人学习的目的是先通过学习这个技能找工作,然后再慢慢加深。

如果只是要达到找工作这种程度,亲测只要学习方向正确+够努力,完全可以在3-4个月完成。

上去,就像吃这个一样,吃那个的专家的思想,绝对还没入门就入土了。

学习之前,请访问最重要的不是找教程,方向和方法比教程更重要。

很多人以为嵌入式开发就是搞ARM,搞Linux。

实际上,嵌入式开发分很多方向。

主流方向如下:

1.单片机开发

2.Linx驱动/应用开发

3.FPGA,不了解不做讲解

这两者是目前市场上需求最大的,单片机开发和Linux驱动程序开发偏硬件,Linux APP应用程序开发基本上是软件。

前期一定要先根据个人情况确定好自己要从事的方向,不同的方向学习内容也不一样

很多人搞不清方向,以为嵌入式开发又要学单片机,又要学Linux,学了1年门都没入。

我做了10年的单片机开发,对这个行业很熟悉,我会在这个方向详细说明。技术不用学多,深耕一个就够了。

单片机的开发应该是最入门的,Linux驱动程序/APP应用开发比较有难点,工资也比Linux高。

但是我们发现,越长,单片机的开发其实并不比Linux的开发更容易。

倒不如说资源越丰富,使用起来越简单。

例如,制造家用消费产品的许多芯片非常便宜,内存也非常小,资源非常短缺。

他们写程序都是汇编,计算汇编指令写的。

虽然可以用资源丰富的芯片制作,用C写代码,但是成本绝对很高。

即使一个芯片只贵一美分,一个月出货10万个的话,企业也能少赚1万美元。

一些从事嵌入式Linux开发的人看不起从事单片机开发的人,认为简单,没有技术难度。

等你做过研发负责人,你就明白任何一个产品,即便功能再简单,要做好都是没那么简单的。

那么,总结一下,单片机开发正确的学习路径

整个学习路径我分为7步:

1.C语言基本语法

c语言的基本语法学习大约需要1-2个星期。 这样的教程泛滥在网上。 大多是基于上位机的c语言,与单片机的c语言编程略有不同。

我们也录制了这一套教程,总结了我们这些年实际开发最常用的语法,可以到小破站找无限的单片机编程直接看。

2.基础电路

这一步走弯路的人最多。 我再重复一遍,不需要关灯或学习。

学习电路的最好方法有两种。 一个是开发板,另一个是项目。

并且通过项目不断积累电路,模拟电负反馈放大电路以后的知识点在实际工作中很少用到。

另外,定位单片机软件开发,不需要具备硬件设计能力,只需要了解电路的重要输入输出即可。

简而言之,单片机应该用什么方式控制电路,用什么接口收集来自电路的数据。

3.51单片机

我第一次接触的单片机是STC89C52RC,是目前开发板上最常用的最典型的东西。

无论从哪一个入手,51单片机都建议你必须学习。 如果你直接学习STM32也不会停止。

学习51单片机的目的是更容易地理解单片机资源是如何使用的,如何通过程序控制电路。

相当于为你以后学习另一台单片机铺路。

4.51单片机项目

学习了前面三个基础知识后,走这一步,首先把你前面学到的知识转化为实际项目。 你可以去一个小项目,比如找购物车,去某个宝藏找DIY工具包自己写程序,也可以找无限的单片机编程学习实际的产品开发。

这一步非常重要,初学者也容易忽视。 这一步的目的是学习实现功能的思维,锻炼代码集成能力。这个能力比你会单片机更重要。

5

.C语言高级用法

C语言基本语法学完了,也通过项目落到实处了,就需要学习一下C语言的高级用法了,比如说指针、结构体。

这块也是为下一步学习STM32单片机做铺垫,STM32的库是面向对象的思维,如果不懂结构体和指针基本看不懂。

这块我们无际单片机编程也有原创的、系统的开源教程在小破站。

这套教程是我2019年录这玩的,本来想靠它挣点钱,后来工作一忙没空搞,干脆开源出来。

不要以讲师的标准去要求我,毕竟当初没经验,而且是开源的。

但是课程内容个人认为还是非常有价值了,也是市面上学不到的,看过的评价也比较高。

6.STM32单片机

很多人学习STM32觉得很难,怎么跟51单片机的开发模式完全不一样,控制一个IO口都这么麻烦。

STM32的资源比51单片机多太多了,寄存器自然也多,为了缩短大家开发周期,所以早期ST推出了固件库。

直接调库就能很轻松把STM32的外设用起来,而不需要关心底层配置了什么寄存器。

STM32学习我认为是会调库把外设用起来就行了,不用研究这么深。

除非你以后的产品需要你用寄存器去开发,再针对性去研究。

也不用所有外设都学习,可以看我上面那个思维导图,我为大家总结了最常用的外设。

7.STM32项目

如果你坚持到这个环节,那恭喜你,你已经成功入门了。

接下来的时间,全部放在做项目上面,再去学别的单片机已经没太大意义了,使用起来都是大同小异。

你现在缺的是功能实现的思路,以及代码实现的能力

除了项目,没有更好的方法,到这一步如果有条件了,一定要舍得花钱投资自己。

找一个行业经验丰富的人带你,通过最短的时间去学习别人几年的精华是很划算的。

如果条件不允许或者不认可我说的,也可以去找一些开源的项目学习,只是自己摸索比较浪费时间。

还有就是到某宝找一些单片机的项目DIY套件,一般他们会有提供源码,可以跟着学习。

最后,祝大家学有所成!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。