大家好,今天小编关注到一个比较有的话题,就是关于学习linux嵌入式心得的问题,于是小编就整理了2个相关介绍学习Linux嵌入式心得的解答,让我们一起看看吧。
学嵌入式开发难不难?生活中能接触到的嵌入式开发都有什么?
回答第一个问题:难易是与个人能力有关的。嵌入式开发有嵌入式硬件开发和嵌入式软件开发,嵌入式软件开发中又包括嵌入式应用开发工程师和嵌入式驱动开发工程师。目前嵌入式开发涉及到的知识有模电,数电,电路分析与设计,C语言,汇编语言,更深一点的有数据结构(主要是链表操作) linux操作系统,linux多进程,多线程,文件操作,linux驱动框架,数据库操作等。目前比较多的嵌入式软件开发主要是做stm32研发。可以从单片机->stm32->linux应用->linux驱动 路线学习,做嵌入式实践性很强,所以最好有开发版配套学习。踏踏实实一步一个脚印学习。回答第二个问题:嵌入式应用很广泛,生活中比如家里的电饭锅,空调,冰箱,智能插座等 区别就是里面是用单片机开发还是stm32开发亦或者是用linux开发。选定一个自己感兴趣的方向,坚持下去 ,定能有所收货。
感谢评论,转发。更多精彩内容可关注本头条号:嵌入式软硬件开发。感谢大家。相互交流,共同进步。
嵌入式 Linux开发主要分为系统boot loader,设备驱动开发和应用开发。
目前互联网盛行,生活中嵌入式开发很多的,如智能电视,机顶盒,智能手机,智能冰箱,机器人,无人机,车载系统等等。
前言
由于从事相关工作,所以针对楼主提出的问题,我想从以下三个方向来进行阐述,希望能解决有类似困惑的小伙伴的问题:
嵌入式开发与生活关联?
在当今这个世界,嵌入式开发与我们的生活息息相关。比如智能手机,谷歌眼镜,苹果手表等随身携带的电子设备都和嵌入式开发有关。那么,嵌入式开发与这些电子设备是如何关联的呢?
下面,我们就以当今最热门的华为的 P30 Pro 智能手机为例来简单阐述上面这个问题。我们知道华为的 P30 Pro 智能手机是由硬件和软件组合而成。硬件就是实实在在看得见摸得着的一些器件,比如电容屏,摄像头等。而软件就是运行在手机内的程序。
但是,软件是如何与硬件进行交互的?比如:如何开启摄像头,如何关闭屏幕等,所有这些操作都和嵌入式开发有关。换言之,嵌入式开发就是通过软件来控制硬件,从而才会产生当今一系列高科技的电子设备,间接也让嵌入式开发与我们当今世界产生了密不可分的联系。
在上面我们知道,嵌入式开发就是通过软件来控制硬件。具体到嵌入式开发的工作细节,也就是嵌入式开发主要是做什么的呢?下面我们详细予以具体说明。
第一步:看电路图
由于我们需要硬件打交道,所以我们日常工作中都会有一块要控制的开发板硬件。每一块开发板硬件在实际开发中,都会对应一份电路图。在电路图中,会告诉我们元器件如何与主芯片进行连接的。这样我们才能知道要控制开发板上的某个元器件,需要对应控制芯片的哪个引脚。
学习嵌入式开发需要具备一定的电子、计算机基础知识,对硬件和软件都需要有一定的了解。相比一般计算机软件开发而言,嵌入式开发需要对硬件的运作机制有更深入的理解,对实时性和低功耗等方面有更高要求。由于应用范围广泛和涉及领域技术比较复杂,因此学习难度相对较大。但是,如果您兴趣盎然并具备一定的自学能力,便能酷爱学习嵌入式开发。
嵌入式开发广泛应用于生活中的各行各业。例如:智能家居(如空调、电视、安防系统等)、嵌入式的工业自动化设备(如数控机床、工业机器人、传感器等)、医疗设备(如手术机器人、医疗监测仪器等)、电子消费品(如智能手机、平衡车、智能手表等)以及飞行器、航天器等。
总之,嵌入式开发是一门非常有前途和实用价值的技术,应用领域广泛,学习和掌握嵌入式开发技术有很大的潜力和发展前景。
看你自己的理解能力和毅力,我一个同事以前做测试的,也就大学玩过8051,[_a***_]基础没有,后来靠自己慢慢也是成长起来,至于生活中能接触到的嘛
小家电:
什么只能电饭锅
破壁机
豆浆机
油烟机
电磁炉
工业领域:
电网智能集抄系统,路灯系统、能耗管理系统
医疗方面:
现在在实习stm32,linux软件工程师和stm32之间怎么抉择?
谢谢邀请,作为一名嵌入式开发工程师,由我来回答这个问题。
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大部分功能都是现成的,原厂提供了bsp在上面改就行了。要增加一些什么功能,有非常多的开源代码直接换个交叉编译工具就可以移植了。linux只有个芯片手册就能把系统搭建起来的恐怕凤毛麟角了。不过linux就业机会确实比单片机多点,我从事单片机开发,这点有体会。另外就是单片机,这是完全可以靠gcc和makefile搞起来的。但一般都用原厂的sdk,没必要自己搞。
说了这么多,想表达的意思是平台不是问题,入门成本不高。当然,硬是要搞得非常彻底,那还是算了吧,估计一般人早晚都会放弃。站在巨人肩膀上做事才会更好。
真正的牛人不是用哪个平台,而是基础知识积累怎样。举个例子,移植驱动写makefile好像***很高吧?但一般人依样画葫芦一样可以搞定。但是,牵涉到基础理论的代码,别说写了,一般人看都看不懂,函数在那里都不知道怎么用。不相信的同学可以随便去看看各种解压缩算法,各种通信协议。另外想表述到是英语跟重要,因为99%的有价值的文档都是英文的。举个例子,各种标准化组织的spec都是英文的,没人给你翻译中文。国内的论坛,大部分情况下问题解决了不会说解决方法,国外的就不一样了,大部分情况下解决了会详细解决方法描述。不相信的同学等你们工作了就会有感触。
因此,读书的时候积累好基础知识,哪个平台是基本技能,花一年左右时间补短就好了。以后的工作中,基础知识扎实的同学肯定能脱颖而出。这也是为什么牛逼企业招985的多一些。哪个平台写代码是大砖小砖的区别,而基础理论知识才是设计图纸。
到此,以上就是小编对于学习linux嵌入式心得的问题就介绍到这了,希望介绍关于学习linux嵌入式心得的2点解答对大家有用。