关于嵌入式的问题

[复制链接]
查看11 | 回复0 | 2013-2-6 12:45:55 | 显示全部楼层 |阅读模式
||
知道
关于嵌入式的问题 2013-01-31 21:24 提问者:本人以前学自动化,学过单片机,模电数电,但现在升本之后忘了很多,现在想学嵌入式,想问下嵌入式有哪几个方向?像我这种情况适合学哪个方向的?该怎么学习?我想从零基础开始好好学习,望各位悉心指点,回答的好的,我肯定会加分,越详细越好,懂得进,复制的就别来了。 我来帮他解答 满意回答 2013-01-31 22:42首先,你要明确两个概念,嵌入式系统,嵌入式操作系统,很多人会把这两个概念搞混淆. 其次,你要明白两个概念,技术,行业.技术,是只你将来用到什么技术,比如模电技术,数电技术,单片机技术, 行业,是指你将来你工作在大行业,比如,同样是模电,可以用在工业控制行业,可以用在电源 行业等等,这两个概念不可混淆. 再次, 我再给你大概的介绍一下嵌入式的目前的几个技术发展方向,注意,不是行业发展方向: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的人,是比较痛苦的, 其实,最难得的是你的坚持.以上,是我给你的建议,因为我也是学电子信息的,现在从事的工业控制工作,跟自动化沾边,这也是我的历程,的确不容易.追问 忘了说了,我以前大专学的是电子类的,现在升本软件工程了,下学期准备修数据结构,和操作系统,那么按照这样的学法,我是否可以走第三条路,还是要走第三条路就必学的把第一条第二条走好了才行呢? 还有走第三条路是不是也是同第二条路一样的学习方法?求解。 回答 哦,这个样子,那你可以走第三条路子,因为我说的第三条,嵌入式操作系统,有两种,第一种,是做应用程序,就像我们电脑上的开发是一样的,只不过是交叉编译,你可以理解为纯粹的电脑程序开发.第二种,是底层驱动程序开发,你可以理解为电脑程序的驱动开发,比如开发个显卡程序等等.如果你走前面的,应用程序,你可以不需要太熟悉你以前的电子专业的知识,甚至可以完全不知道.如果你走底层驱动开发,你就要把以前的知识也做到精通.但是不管哪种,都要求你有良好的计算机基础,尤其是操作系统理论,一定要非常的精通,所以,你既然学的是计算机,你可以走第三条路子. 追问 那走底层驱动开发我还要用到stm32么?还是只是单纯的在电脑上不断的编程和学习下以前电子类的专业知识就可以了?不知道该怎么下手,感觉入门有点困惑。谢谢! 回答 是这样的,如果你要跑高级一点的嵌入式操作系统,比如Linux,WinCE,安卓等,而且是底层驱动开发,你不需要太多的电子知识,因为这些系统基本上用的是集成的电路,比如集成的DDR内存等等,你把数电学好了就行.如果你要跑uCOS-II,需要的电子知识会比上述的要多一些.STM32虽然是款功能比较强大的单片机,但是他的资源还是不足,跑裸机可以,简单如uCOS的也可以,跑不了真正的Linux,Wince等.我个人建议你,现在不要想的太多,你感觉无从下手,一是你的目标还不够明确,二是你有太多的担心,记住了,没有任何一个人是绝对全能的,我个人建议你,先把你现在的知识学好了,以前的电子专业的知识,你先放一放,不要想那么多,能做到提起来,大概知道怎么回事就可以了.因为你要成为高深的嵌入式系统工程师,重要的还是要学好计算机方面的知识才行. 追问 恩,好,谢谢! |评论| 当前分类: 排名:2332 擅长: 排名:2296 |来自团队提问者对回答的评价:谢谢! 推荐答案2013-01-31 21:44你既然学过单片机 那我建议你从ARM的cortex-M3内核开始学起吧比如stm32芯片 买个开发板 弄几本书几个月估计就学会了然后巩固下你的硬件知识 比如pcb设计等 等你有基础了再去学更高级的ARM芯片关于方向:现在物联网很火所以你将来可以往这方面发展 但是不要被表象迷惑 物联网的基础是硬件+传感器所以你现在可以这样第一步:买个stm32开发板 学习如何用好这个芯片第二部:学习pcb设计 做几个实例第三步:学好tcpip 将你的传感器设备接入换联网 并应用起来 yeelink就是个物联网平台 你可以去看看别人做出来的产品要学就抓紧开始啊 现在很多人都已经起步开始做实际应用了 加油|评论| 当前分类: 排名:44 擅长: 排名:1374 |来自团队按默认排序| 其他回答 共2条 2013-01-31 22:22|当前分类:从大方向上分,嵌入式分为硬件和软件两方面。嵌入式硬件有几个大方向:处理器和数字电路、弱信号和模拟电路、大功率电路、高频电路。做嵌入式硬件必然要精通处理器和数字电路了,但其他几个方向都了解一些,并至少精通其中的一两项。现在嵌入式的应用非常广泛,但几乎都是交叉学科,单纯的嵌入式不多,比如通讯视频等类型的应用,肯定需要高频的电路;而仪表检测设备上用嵌入式,一定会配合模拟电路使用;而变频调速并网发电等的应用,必然与大功率电路配合,也少不了模拟电路。嵌入式软件有几个大方向:底层软件、系统层软件、应用层软件,底层软件有底层驱动、高实时性软件、裸奔的嵌入式软件等,主要是与操作系统关系较小,与硬件关系密切的软件,做这种软件需要较好的硬件基础;系统层软件主要是系统的裁剪移植,常用的系统有linux、安卓、ucos-ii、vxworks等等很多,这也是培训机构最常做的培训,做这部分软件要有好的系统架构思想,较深入的操作系统理论;应用层软件是在嵌入式操作系统之上的软件,比如网络协议,用户界面等等,以软件为主,很少涉及硬件,做这种软件要熟悉软件工程、数据结构等。在大多数培训机构谈嵌入式就搞linux、搞安卓、搞网络,都往软件上靠,连电脑问题的嵌入式分类都分到软件开发了,但实际嵌入式并不局限与这些,在很多需要高实时性高可靠性的系统中,嵌入式应用更广泛。至于个人想学嵌入式,最好还是选中硬件还是软件这个大方向,最好再找准小方向,做到在自己的小方向上学得深入,大方向上懂的得多,基础雄厚、专业精尖才是人才。|评论 2013-02-01 05:33|当前分类:排名:53学ARM,再学一个实时操作系统,面向控制的较有意思,面向应用的人太多了。|评论 相关内容 2011-04-0252 2011-05-0718 2011-03-2811 2011-04-046 2011-04-265
2012-10-263 2012-07-313 2011-11-152 2011-08-311 2011-07-2212010-07-1166 2010-04-0223 2010-03-0219 2009-12-2614 2012-04-0672010-06-2229 2007-04-2977 2009-07-1814 2011-06-228 2007-10-27292011-02-0533 2008-07-0451 2010-05-169 2010-09-206 2010-06-076等待您来回答 2回答2回答 200回答 302回答0回答 50回答 52回答3回答 5 分享到:
普通登录 手机登录
帐号 密码 验证码 看不清? 记住我的登录状态
还没有百度账号? 123
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行