加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

从STM32到Linux,你需要掌握到什么程度?

19小时前
373
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

前言这可以说是一个经典问题了,经常有同学私信我,stm32学多少程度才能学linux?今天就我自己的学习经验给大家一个参考

对于单片机和linux的学习,一定要明确学习目的是什么!!!

其实这个问题很多同学都问过我,但是我的建议一直都是看自己的目的,还有自己所处的时间段是什么!

我自己是从大二就开始学习单片机,从stc51,PIC16,msp430,瑞萨,飞思卡尔K60,stm8,stm32都学习过,也做过项目,直到大四毕业我还在继续研究,粗略的算学习时间也有两年多,要是把我学习的程度算上,那可能相当于业余学习5年甚至更多时间才行,而且不管是哪种技术原则上都可以一直学习,是的,一直学习。

比较通用的学习进阶路线是51>32>arm

第一阶段-51:

这里的51就是51单片机,因为51单片机外围电路比较简单,芯片的功能也相对简单,可以比较好入门硬件和汇编编程,还有基础的C语言编程,如果这个阶段学的比较好,对于之后的学习好处颇多,我自己就是大一下的时候因为参加实验室的选拔比赛,了解并深入学习了51单片机,这段经历帮助我进入了实验室,而后的一年我又用51做了些作品得了几个奖,也是我嵌入式之路的启蒙。(如果你时间紧迫,也可以调过这步)

第二阶段-32:

再然后就是32,这里的32常规可以理解为stm32,但是其他比如(PIC16,msp43,瑞萨,飞思卡尔K60)也都是可以的,虽然不都是32位处理器(pic和msp30是16位),但是这一阶段最重要的技能就是C语言库函数编程和操作系统使用,stm32说实话是做的最好的一类,现在HAL库使用也很方便,但是这其实也是弊端,如果目标是Linux,那就别太痴迷于库函数编程了,多体会精神即可,一换芯片代码都得重构。。。我第一次参加电赛的时候指定用瑞萨单片机就是折在这了,第二次比赛选的控制组stm32就拿了国一(主要还是高估了自己的学习能力,三天想把代码移植到瑞萨单片机真的难度颇大)

在32这一阶段其实很多同学就止步不前了,这里边也包括我(我的第一份工作是无人机飞控开发,主控就是stm32,这也得益于我参加电赛的经验,当时的项目就是无人机)

第三阶段-arm:

这里说的arm不是指stm32,我们实验室当时主要是指arm9,虽然现在已经很落后了,现在arm11,甚至arm-a才是主流,但是有一点是一直没变的,就是linux开发,arm9是可以运行Linux的,当时实验室是有两块开发板的,当时我只是大致的了解了下,没有深入学习!

可能会比较奇怪,我为什么不学arm,进而学习linux,原因主要是两个,一个就是我的32学的太好了,我可以用32轻松的做项目,参加比赛,得奖,当时的我没什么意识为什么一定要学Linux。还一个原因是当时实验室用linux主要项目的都是研究生,做的基本也都是图像识别,信号处理这种纯软件的项目,当时的我没太大兴趣。虽然也挺可惜的,但是我也不后悔,试想就算我学了linux,毕业的时候大概率还是会找单片机开发,linux技术还是会被放下,过一阵就忘了。

这里如果你还在读研,希望更加进阶一步,欢迎参加我的一对一指导,可以帮你绕过很多坑,节约大量的时间,对于这些时间来说,小小的支出真的不算什么,明白的同学自然懂。

契机:

我开始学习linux是我毕业半年之际,算上大四实习,我已经做了一年无人机开发,虽然已经很顺利了,但是说句实话收入还远没到达我的期望,工作环境也着实有点恶劣,各种原因推动下,我开始学习linux,我学习的方法不是直接看书,我一贯的习惯是直接上手,然后我就买了块英飞凌核心板,自己画了块底板,移植了uboot,烧录了ubuntu系统,开始从裸机,linux系统编程,多线程编程,网络编程等这个路子把linux趟了个水,半年后我跳槽到了目前的单位(知名的通信外企)。环境是非常的好,也很人性化,收入比之前也多了好几倍,这也算是实现了当时的希望,期间也在不断的升职加薪,转眼已经快7年了,我基本实现了自己的梦想,也算对自己努力的奖励。

下边是我当时为了自学画的linux底板(左下角还集成了stm32f4可以协同做外部控制),当然了,这是我毕业一年的水平,现在硬件基本上是荒废了,哈哈。

说回问题本身,从我自己的经验想给各位同学一个参考,并不是单片机学到什么程度就能学linux,而是你为什么要学linux? 还一个你有什么基础可以支撑你学习linux,这些点上文我都提到过,如果时间比较充裕,完全也是可以参考的,当然更多的细节每个人可能不同,也是需要定制的部分,这部分欢迎参加我的付费咨询.

未完待续,持续更新!以防后边找不到可以点赞收藏下!

相关推荐

电子产业图谱