关于嵌入式的问题
本人以前学自动化,学过单片机,模电数电,但现在升本之后忘了很多,现在想学嵌入式,想问下嵌入式有哪几个方向?像我这种情况适合学哪个方向的?该怎么学习?我想从零基础开始好好学...
本人以前学自动化,学过单片机,模电数电,但现在升本之后忘了很多,现在想学嵌入式,想问下嵌入式有哪几个方向?像我这种情况适合学哪个方向的?该怎么学习?我想从零基础开始好好学习,望各位悉心指点,回答的好的,我肯定会加分,越详细越好,懂得进,复制的就别来了。
展开
4个回答
展开全部
从大方向上分,嵌入式分为硬件和软件两方面。
嵌入式硬件有几个大方向:处理器和数字电路、弱信号和模拟电路、大功率电路、高频电路。做嵌入式硬件必然要精通处理器和数字电路了,但其他几个方向都了解一些,并至少精通其中的一两项。现在嵌入式的应用非常广泛,但几乎都是交叉学科,单纯的嵌入式不多,比如通讯视频等类型的应用,肯定需要高频的电路;而仪表检测设备上用嵌入式,一定会配合模拟电路使用;而变频调速并网发电等的应用,必然与大功率电路配合,也少不了模拟电路。
嵌入式软件有几个大方向:底层软件、系统层软件、应用层软件,底层软件有底层驱动、高实时性软件、裸奔的嵌入式软件等,主要是与操作系统关系较小,与硬件关系密切的软件,做这种软件需要较好的硬件基础;系统层软件主要是系统的裁剪移植,常用的系统有linux、安卓、ucos-ii、vxworks等等很多,这也是培训机构最常做的培训,做这部分软件要有好的系统架构思想,较深入的操作系统理论;应用层软件是在嵌入式操作系统之上的软件,比如网络协议,用户界面等等,以软件为主,很少涉及硬件,做这种软件要熟悉软件工程、数据结构等。
在大多数培训机构谈嵌入式就搞linux、搞安卓、搞网络,都往软件上靠,连百度知道的嵌入式分类都分到软件开发了,但实际嵌入式并不局限与这些,在很多需要高实时性高可靠性的系统中,嵌入式应用更广泛。
至于个人想学嵌入式,最好还是选中硬件还是软件这个大方向,最好再找准小方向,做到在自己的小方向上学得深入,大方向上懂的得多,基础雄厚、专业精尖才是人才。
嵌入式硬件有几个大方向:处理器和数字电路、弱信号和模拟电路、大功率电路、高频电路。做嵌入式硬件必然要精通处理器和数字电路了,但其他几个方向都了解一些,并至少精通其中的一两项。现在嵌入式的应用非常广泛,但几乎都是交叉学科,单纯的嵌入式不多,比如通讯视频等类型的应用,肯定需要高频的电路;而仪表检测设备上用嵌入式,一定会配合模拟电路使用;而变频调速并网发电等的应用,必然与大功率电路配合,也少不了模拟电路。
嵌入式软件有几个大方向:底层软件、系统层软件、应用层软件,底层软件有底层驱动、高实时性软件、裸奔的嵌入式软件等,主要是与操作系统关系较小,与硬件关系密切的软件,做这种软件需要较好的硬件基础;系统层软件主要是系统的裁剪移植,常用的系统有linux、安卓、ucos-ii、vxworks等等很多,这也是培训机构最常做的培训,做这部分软件要有好的系统架构思想,较深入的操作系统理论;应用层软件是在嵌入式操作系统之上的软件,比如网络协议,用户界面等等,以软件为主,很少涉及硬件,做这种软件要熟悉软件工程、数据结构等。
在大多数培训机构谈嵌入式就搞linux、搞安卓、搞网络,都往软件上靠,连百度知道的嵌入式分类都分到软件开发了,但实际嵌入式并不局限与这些,在很多需要高实时性高可靠性的系统中,嵌入式应用更广泛。
至于个人想学嵌入式,最好还是选中硬件还是软件这个大方向,最好再找准小方向,做到在自己的小方向上学得深入,大方向上懂的得多,基础雄厚、专业精尖才是人才。
长荣科机电
2024-10-27 广告
2024-10-27 广告
嵌入式模组作为深圳市长荣科机电设备有限公司产品线中的重要一环,集成了高性能处理器、定制化接口及优化算法,专为工业自动化、智能安防、医疗设备等领域设计。这些模组以其小巧的体积、高效的运算能力及稳定可靠的性能,为各类智能设备提供强大核心支持,助...
点击进入详情页
本回答由长荣科机电提供
展开全部
首先,你要明确两个概念,嵌入式系统,嵌入式操作系统,很多人会把这两个概念搞混淆.
其次,你要明白两个概念,技术,行业.
技术,是只你将来用到什么技术,比如模电技术,数电技术,单片机技术,
行业,是指你将来你工作在大行业,比如,同样是模电,可以用在工业控制行业,可以用在电源
行业等等,这两个概念不可混淆.
再次, 我再给你大概的介绍一下嵌入式的目前的几个技术发展方向,注意,不是行业发展方向:
1 是用单片机的,注意,这里的单片机是指广义上的单片机,比如合泰,ARM7,STM32,AVR等等,
仅仅局限于51.
这些单片机的编程方式就像你在大学里学的,用main函数 + while(1)死循环的方式,这种叫
前后台的方式,没有任何操作系统,一般比较浅显的行业都用这种方式,原因是比较简单,很多
人都会,公司容易找到人,而且,把前后台写好了, 不比跑某些系统差.缺点是可移植性相对
比较差,开发的难度不大但是周期长.
2 跑一些简单的嵌入式操作系统,比如51系列的可以跑RX51,uCOS-II,而其他稍微好一点的
单片机可以跑 uCOS-II,uCLinux等等,这类操作系统,相对来说,入门简单,比较好学,不需要太
多的计算机知识,而且一旦写好代码,可移植性比较强,跑这些简单的系统可应用的行业,比
第 一条的前后台所涉及到的行业更多一些,因为这些操作系统并不十分复杂,但是,相对来说,
实时性还很好.
3 跑复杂的操作系统,比如说Linux,Window CE,安卓等等.当然,这些系统所用的单片机也就
十分复杂了,至少要是ARM9以上的.所涉及到的行业与前面两条的行业几乎没有太多的交集.
其实你也看出来了,这类的单片机功能比较强大,比较复杂,他们跑的系统,已经可以和
电脑的操作系统一争高下了,所以,此时,他们已经不是纯粹意义上的单片机了,而是一个
真正的微小型计算机了.所以,此时要求你,不只要具有电子专业方面的知识,更多的,要有
计算机专业的知识,比如操作系统,网络编程,TCP/IP等等知识,相对来说,对于电子专业
的人来说,入门难度比前两个要大的很多,
最后,结合你的个人情况,给你一点建议,当然,是我自己的建议,你可能简单参考:
1 你应该发展的目标:
你是学自动化的,自动化与电子信息专业交集比较多,只是最终强电或者是弱电的不
不同,与计算机专业交集不是很多,尤其是操作系统,TCPIP等等知识,不是你们的专业,
所以,我上面列的方向,你不适合走第三条,这不单是从技术方面,也包括行业方面.
你学过单片机,又懂数模电,那么,有基础就好,忘记了不怕,再拾起来就是了,因为,我
建议你,一定要发展到第二条的水平,我上面罗列的第一条,第二条是一个有关系的,
层进关系,会简单的操作系统,可以用的行业很多,而且又比只会前后台要高级.所以,
你的目标是 做会简单的操作系统,并且精通,注意,是精通.
2 你应该做的努力:
你已经会单片机了,那么,建议你,再学一款单片机,就STM32吧,因为51的局限性实在太
大,STM32相对高级的很多.还是从基础的前后台做起,学会如何操作寄存器,如何让STM32
跑起来.
其实,你不要小看前后台,要把前后台写好了,也不容易.
建议你,自己画个开发板,自己购买元件,焊接,这样的一个过程,可以同时锻炼你的硬件功底.
以上的过程,大概至少要半年的时间,多则一年,你感觉STM32玩的很不错了,就要上大菜,
在STM32上跑一下嵌入式操作系统的uCOS,uCOS相对来说,入门比较简单,而且用途非常广泛.
这个时间,建议你买一块好的开发板,然后跑uCOS,由前后台学习uCOS的人,是比较痛苦的,
其实,最难得的是你的坚持.
以上,是我给你的建议,因为我也是学电子信息的,现在从事的工业控制工作,跟自动化沾边,
这也是我的历程,的确不容易.
其次,你要明白两个概念,技术,行业.
技术,是只你将来用到什么技术,比如模电技术,数电技术,单片机技术,
行业,是指你将来你工作在大行业,比如,同样是模电,可以用在工业控制行业,可以用在电源
行业等等,这两个概念不可混淆.
再次, 我再给你大概的介绍一下嵌入式的目前的几个技术发展方向,注意,不是行业发展方向:
1 是用单片机的,注意,这里的单片机是指广义上的单片机,比如合泰,ARM7,STM32,AVR等等,
仅仅局限于51.
这些单片机的编程方式就像你在大学里学的,用main函数 + while(1)死循环的方式,这种叫
前后台的方式,没有任何操作系统,一般比较浅显的行业都用这种方式,原因是比较简单,很多
人都会,公司容易找到人,而且,把前后台写好了, 不比跑某些系统差.缺点是可移植性相对
比较差,开发的难度不大但是周期长.
2 跑一些简单的嵌入式操作系统,比如51系列的可以跑RX51,uCOS-II,而其他稍微好一点的
单片机可以跑 uCOS-II,uCLinux等等,这类操作系统,相对来说,入门简单,比较好学,不需要太
多的计算机知识,而且一旦写好代码,可移植性比较强,跑这些简单的系统可应用的行业,比
第 一条的前后台所涉及到的行业更多一些,因为这些操作系统并不十分复杂,但是,相对来说,
实时性还很好.
3 跑复杂的操作系统,比如说Linux,Window CE,安卓等等.当然,这些系统所用的单片机也就
十分复杂了,至少要是ARM9以上的.所涉及到的行业与前面两条的行业几乎没有太多的交集.
其实你也看出来了,这类的单片机功能比较强大,比较复杂,他们跑的系统,已经可以和
电脑的操作系统一争高下了,所以,此时,他们已经不是纯粹意义上的单片机了,而是一个
真正的微小型计算机了.所以,此时要求你,不只要具有电子专业方面的知识,更多的,要有
计算机专业的知识,比如操作系统,网络编程,TCP/IP等等知识,相对来说,对于电子专业
的人来说,入门难度比前两个要大的很多,
最后,结合你的个人情况,给你一点建议,当然,是我自己的建议,你可能简单参考:
1 你应该发展的目标:
你是学自动化的,自动化与电子信息专业交集比较多,只是最终强电或者是弱电的不
不同,与计算机专业交集不是很多,尤其是操作系统,TCPIP等等知识,不是你们的专业,
所以,我上面列的方向,你不适合走第三条,这不单是从技术方面,也包括行业方面.
你学过单片机,又懂数模电,那么,有基础就好,忘记了不怕,再拾起来就是了,因为,我
建议你,一定要发展到第二条的水平,我上面罗列的第一条,第二条是一个有关系的,
层进关系,会简单的操作系统,可以用的行业很多,而且又比只会前后台要高级.所以,
你的目标是 做会简单的操作系统,并且精通,注意,是精通.
2 你应该做的努力:
你已经会单片机了,那么,建议你,再学一款单片机,就STM32吧,因为51的局限性实在太
大,STM32相对高级的很多.还是从基础的前后台做起,学会如何操作寄存器,如何让STM32
跑起来.
其实,你不要小看前后台,要把前后台写好了,也不容易.
建议你,自己画个开发板,自己购买元件,焊接,这样的一个过程,可以同时锻炼你的硬件功底.
以上的过程,大概至少要半年的时间,多则一年,你感觉STM32玩的很不错了,就要上大菜,
在STM32上跑一下嵌入式操作系统的uCOS,uCOS相对来说,入门比较简单,而且用途非常广泛.
这个时间,建议你买一块好的开发板,然后跑uCOS,由前后台学习uCOS的人,是比较痛苦的,
其实,最难得的是你的坚持.
以上,是我给你的建议,因为我也是学电子信息的,现在从事的工业控制工作,跟自动化沾边,
这也是我的历程,的确不容易.
更多追问追答
追问
忘了说了,我以前大专学的是电子类的,现在升本软件工程了,下学期准备修数据结构,和操作系统,那么按照这样的学法,我是否可以走第三条路,还是要走第三条路就必学的把第一条第二条走好了才行呢? 还有走第三条路是不是也是同第二条路一样的学习方法?求解。
追答
哦,这个样子,那你可以走第三条路子,因为我说的第三条,嵌入式操作系统,有两种,第一种,是做应用程序,就像我们电脑上的开发是一样的,只不过是交叉编译,你可以理解为纯粹的电脑程序开发.
第二种,是底层驱动程序开发,你可以理解为电脑程序的驱动开发,比如开发个显卡程序等等.
如果你走前面的,应用程序,你可以不需要太熟悉你以前的电子专业的知识,甚至可以完全不知道.
如果你走底层驱动开发,你就要把以前的知识也做到精通.
但是不管哪种,都要求你有良好的计算机基础,尤其是操作系统理论,一定要非常的精通,所以,你既然学的是计算机,你可以走第三条路子.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你既然学过单片机
那我建议你从ARM的cortex-M3内核开始学起吧比如stm32芯片 买个开发板 弄几本书几个月估计就学会了
然后巩固下你的硬件知识 比如pcb设计等 等你有基础了再去学更高级的ARM芯片
关于方向:
现在物联网很火所以你将来可以往这方面发展
但是不要被表象迷惑 物联网的基础是硬件+传感器
所以你现在可以这样
第一步:买个stm32开发板 学习如何用好这个芯片
第二部:学习pcb设计 做几个实例
第三步:学好tcpip 将你的传感器设备接入换联网 并应用起来 yeelink就是个物联网平台 你可以去看看别人做出来的产品
要学就抓紧开始啊 现在很多人都已经起步开始做实际应用了 加油
那我建议你从ARM的cortex-M3内核开始学起吧比如stm32芯片 买个开发板 弄几本书几个月估计就学会了
然后巩固下你的硬件知识 比如pcb设计等 等你有基础了再去学更高级的ARM芯片
关于方向:
现在物联网很火所以你将来可以往这方面发展
但是不要被表象迷惑 物联网的基础是硬件+传感器
所以你现在可以这样
第一步:买个stm32开发板 学习如何用好这个芯片
第二部:学习pcb设计 做几个实例
第三步:学好tcpip 将你的传感器设备接入换联网 并应用起来 yeelink就是个物联网平台 你可以去看看别人做出来的产品
要学就抓紧开始啊 现在很多人都已经起步开始做实际应用了 加油
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学ARM,再学一个实时操作系统,面向控制的较有意思,面向应用的人太多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询