学习stm32需要学习linux吗,学stm32需要买开发版吗

kodinid 23 0

大家好,今天小编关注到一个意思的话题,就是关于学习stm32需要学习linux吗的问题,于是小编就整理了2个相关介绍学习stm32需要学习Linux吗的解答,让我们一起看看吧。

  1. 单片机学习先软件还是先硬件好?
  2. 现在在实习stm32,linux软件工程师和stm32之间怎么抉择?

单片机学习先软件还是硬件好?

首先你需要一个硬件,另外你需要一个足够小而精的软件来帮助你明白单片机最终还是软件工作决定了大部分输出

硬件:选择一个stm32的开发板就好,记住要带一个屏,内存进行大点,如果预算不够,小点也成。

学习stm32需要学习linux吗,学stm32需要买开发版吗-第1张图片-安济编程网
图片来源网络,侵删)

软件:最好是开源的,建议使用GuiLite:

idea4good/GuiLite

idea4good/GuiLiteSamples

学习stm32需要学习linux吗,学stm32需要买开发版吗-第2张图片-安济编程网
(图片来源网络,侵删)

因为它的实例非常小,都只有100行左右,大部分可以运行在stm32上面,算是不可多得的单片机伴侣软件了。话不多少,看看效果吧(在硬件没有到位之前,也可以先在pc上跑一下,所有的实例都有windows、linux版本):

由于单片机的固有特征:直接操作底层硬件。所以应该首先了解硬件:结构寄存器、I/O口、计数器、定时器、RAM等基本原理指令操作,然后了解汇编,最后可以学C(如:C51等)。因为单片机的编程,离不开底层控制

现在在实习stm32,linux软件工程师和stm32之间怎么抉择?

Stm32要会看电路图,有可能要画板子,要熟悉各种硬件外设和软件库,linux的话注重软件开发,跟Windows开发一个套路,如果想了解硬件,那就stm32,否则就干linux

学习stm32需要学习linux吗,学stm32需要买开发版吗-第3张图片-安济编程网
(图片来源网络,侵删)

谢谢邀请,作为一名嵌入式开发工程师,由我来回答这个问题。

STM32软件工程师和linxu软件工程师,都是使用C语言进行程序开发,但linux可以分为linux驱动开发和linux应用开发。

linux开发比STM32软件开发要复杂,从事linux开发,需要学习linxu gcc和shell指令,makefile编程,系统移植,文件系统,linux驱动,QT等等相关知识,门槛比stm32开发难度高。需要掌握知识点更多更复杂。学习难度非常大。

学习stm32的工程师,等到工作年限,一定会遇到职业瓶颈,这个时候,如果你会linux开发,操作系统,那么职业道路将会走的很宽,二则,工作待遇来讲,普遍linux开发会比STM32开发的***待遇要好一些

如果本身有一定的linux系统基础,那么强烈建议选择linux,因为linux整体工资要比stm32开发要高。学完linux后,如果项目需要stm32单片机,那么再去做STM32,会觉得十分简单

如果没有任何的linux基础,公司没有师傅带着做linux的话,或者公司对linux项目有较高的要求时间限制,那么不建议转linux,先将STM32学好,再过半年一年后,自学合作参加培训linux。不至于打击学习的自信心,二则对于后续找工作也有一定的好处,至少有一项技能能够在毕业后找到工作。

STM32更贴近底层硬件,重点在底层设备和器件;Linux更贴近应用层,重点在驱动和应用

前者开发所需要的知识偏散偏底层,要做好需要沉下心来积累几年才行,要求经验; 后者开发所需的知识面很广,好在与互联网或普通计算机所需的知识高度复合,因此上手快。

在工作的前期,linux开发待遇高,后期STM32所代表高级硬件开发待遇高,且可遇不可求。

以上

天下代码不分家. 如果基于Linux 系统工作环境命令行+M0-M3单片机手册,基于OpenOCD裸机开发M0/3程序,写驱动代码和GCC makefile,写汇编启动代码,[_a***_]编写GCC链接符号表,生成ELF文件刷Flash, 如果能玩任意一款哪怕Openocd不支持的M0/4单片机,基本上Linux和STM之流都可以入门了... 有人说Linux比单片机复杂,宏观看是对的,但是拿到一款openocd不支持的单片机直接愣逼,如果真正掌握linux, 开发单片机完全可以抛弃Windows MDK和IAR开发环境,如果不行,说明Linux学了皮毛

嵌入式软件开发领域,主要分为MCU开发和SOC开发两个大类别。具体的细分情况如下图所示。其中,MCU开发主要涉及到一般的RTOS系统开发,而SOC开发就具体需要Linux操作系统的支持了。

嵌入式软件开发岗位分类

题主上面问题中,STM32属于MCU开发的范畴,而嵌入式Linux 开发是属于SOC开发的范畴。两个领域来说,编程语言都是标准的C语言;MCU与SOC芯片硬件差异有,但是不是影响开发的因素。两者主要的区别在于:Linux操作系统远远复杂于STM32上常见的RTOS操作系统。而且,在Linux 开发领域,还更加细分为应用开发与BSP驱动开发两个子类

所以说,Linux开发的复杂度远远高于STM32上RTOS的软件开发。至于如何选择,需要题主根据自身的技术能力(是否有Linux的开发经验),参考个人的技术发展方向(未来从事MCU还是SOC),具体问题具体分析来决定。

根据答主的嵌入式开发经历,如果题主对Linux操作系统没有开发经历。建议您选择从STM32的RTOS系统开发做起,然后扩展到嵌入式Linux的应用开发,最后在涉足Linux的BSP开发的技术发展道路。这个也是答主,以及很多朋友的常见技术发展道路。

以上仅代表个人建议,仅供题主参考。

到此,以上就是小编对于学习stm32需要学习linux吗的问题就介绍到这了,希望介绍关于学习stm32需要学习linux吗的2点解答对大家有用。

标签: linux 开发 stm32