当前位置: 代码迷 >> 驱动开发 >> 小菲愿与嵌入式菜鸟朋友共同学习,一起进步O(∩_∩)O
  详细解决方案

小菲愿与嵌入式菜鸟朋友共同学习,一起进步O(∩_∩)O

热度:81   发布时间:2016-04-28 11:19:07.0
小菲愿与嵌入式初学者朋友共同学习,一起进步O(∩_∩)O


下面的文章是从上次发的连接中整理出来的,写的挺好。拿出来和初学者朋友们一起学习,希望大家可以早日学好嵌入式技术。 

嵌入式资深工程师白话说“嵌入式” 

本文转引自 飞凌嵌入式 技术文章专区 www.witech.com.cn 

从事嵌入式开发有些年头,将自己理解的一些嵌入式,把自己的感受写出来,另外谢谢自己的感受,给后来者一点经验了! 
  
  1、什么是嵌入式 
  嵌入式根据字面的意思就会知道个大概,嵌入式就是将一个东西,嵌入到另一个中间,这就会有两层意思, 
  一个是硬件的嵌入式:将一个硬件嵌入到另一个中间,使得原本没有智能的产品变得智能; 
  一个是软件的嵌入式:将一个软件嵌入带另外一个软件里面,一般这个软件是一个应用软件,而对象是操作系统。 
  因此,很多东西都回被称为嵌入式,而不仅仅是ARM等32位平台,还包括DSP,FPGA,51,甚至4位机都是可以的。 

  2、操作系统 
  操作系统有很多,大家天天用的windows,认为很高深的linux,微小的uCos,可裁减的eCos,……世界是多彩的,操作系统也一样。 
  有人就会说了,……好用,……不好,……对……好不好!这个问题对于真正的行家来说,你就像一个孩童问大人电视剧里面的这个人是好人还是坏人。只有合适的没有什么是最好的!曾经看过ubuntu的wiki里面说过一句话:不要因为它和你的习惯不一样就说它不好。 

  3、硬件平台 
  目前世界上的芯片公司有很多,因此硬件平台可以选择的有很多,但是近些年来,国人将嵌入式=ARM,这是狭隘的,不利于学生的发展,应该告诉学生,除了ARM还有很多很多。不然会发现,学生的眼光会被限制。通过对比学习,他们将会有更多的是以一种批判的精神,吸收各家所长! 平台现在来说比较有前途的是作消费电子类的,因为国家强调扩大内需,内需如何扩大,现在大家基本都是衣食无忧了,剩下的那就是娱乐了。 

  4、学习芯片的选择 
  很多人问我,我们现在学习的是ARM11,你们的是多少,我会告诉他我们是ARM9,还有一些ARM7。其实这已经是足够的了,无论我们学习的哪个平台,学习的关键不是学会这个芯片怎么用,而是学习他的精髓:这类芯片的设计构架,开发流程,然后就是查字典一样的学习它数据手册了。无论在哪里,学习不一定要学习最先进的,因为你没有把握住它的发展历史,和内部原理,一个先进的庞杂的系统对于你来说是很难理解的。 
   
  如果想成为一个全面的嵌入式开发人员,我的建议是可以遵循这个步骤: 
  基础:嵌入式C 
  这里的C不是大家学习的那个谭浩强的C,而是嵌入式C,谭的C只是一些肤浅的应用,没有讲到根本,C的根本就是要把握住指针和一些将来编译的过程!作为一个嵌入式比较底层的工程师,需要了解更多的关于你的程序是如何运行的,你的程序是如何加载的,以及各种资源的调度和使用,而这一切很多时候都要拜托你的C完成,因为毕竟汇编的难度还是比较大,而且完成的功能有限。 

  第一步:熟悉硬件 
  首先学习单片机,关键是学习总线结构,扩展的一些问题,还有建立起来一些汇编的知识 
  第二步:熟悉高级芯片架构 
  8086(很古老的芯片)但是很有必要了解,可以说他是一切X86(电脑)和ARM体系的根本,当将这个根本拿捏住了,你就像武侠小说里面讲的,你掌握了一门功夫的总纲,万变不离其宗! 
  第三步: 
  如果时间容许,可以使用(上面是学习)一个16位单片机凌阳的SPCE061A,这是一个很有意思的芯片,他既有一些单片机的东西在里面,还有一些嵌入式32位的东西在里面,真正的使用它不是很难,因为资料还是比较多的,但是从中可以学习到一些基本的嵌入式理念。 

  第四步:嵌入式平台选择 
  开始使用嵌入式平台,目前平台很多,有的还很便宜,作为学生,也许会选择一些价格便宜的,不过建议大家要更注意一个问题:支持的问题。 
目前基本来说平台的已经都是很多了,有些抄来的板子目前也是满天飞,由于没有研发成本和后期支持,造成成本比较低,同样的原因,让我们遇到问题,只能四处的提问,而往往得不到系统的答案。 
所以选择平台很重要,有人说,网上全是资料了,但是说句实话,由于嵌入式是一个结合多学科的庞大系统,因此从网上找到很多资料,你会发现我们找到的是一张张拼图的小块,在拼这个大图的时候,很多人在这个过程中失去了信心,离开了嵌入式开发者的行列,那是很可惜的。最好找一个比较资料全面系统的开发平台。 

  第五步: 
  看完基础,然后实实在在的开发一个或大或小的项目,在这个项目中不仅仅是写出程序,要学会项目的规划,还有程序编写的重构性等软件编写的问题。 

  总之:无论学习什么,都要比较系统的慢慢的做,相信大家坚持了总是会成功的。



------解决方案--------------------
写的很概括……
------解决方案--------------------
嗯,写得还可以,经验之谈
------解决方案--------------------
看来是个从草根干起的老鸟写的。
------解决方案--------------------
写的还不错。
支持一下。
------解决方案--------------------
顶一个。。。
------解决方案--------------------
共同学习了。
  相关解决方案