很多学习嵌入式设计同学都会发出这样的感慨,“学嵌入式好难啊”!!
这是因为你对学习嵌入式没有掌握一个好的方法,当你掌握了,就会发现其实也很简单,今天我就总结了一些自己的学习方法给新人们参考。其实只要用心,真的很简单!!!
学好嵌入式的前提:
一、保持良好的心态,不能急于求成。学习嵌入式并不是一朝一夕能够完成的,要一步一个脚印的坚持。
二、要有清晰的学习规划,明确学习步骤,做个计划表,明确先学什么,再学什么,比如C语言是学习嵌入式的基础,所以在学习时必须要踏踏实实,把地基给打好。
三、要有良好的学习氛围。嵌入式学习的难度和高度决定了嵌入式的学习要有个良好的学习讨论氛围,不能一味自己闷头学,要多去讨论和探讨,汲取大家的智慧才能更好的提高。当然也可以报一个嵌入式培训班,有专门的老师带你,有很好的同学相互探头,那么效果就事半功倍。
四、学习嵌入式,"要想办法,不要找理由"。
必须掌握的关键点:
1、嵌入式与嵌入式系统分别是什么?
嵌入式用于控制、监视或者辅助操作机器和设备的装置。
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。
2、嵌入式需要哪些知识,学习内容及方法?
1、C开发经验
条件:Linux
方法:随便,主要是掌握ANSI C编程(不包括gtk,qt等图形可视化开发)
2、网络、操作系统、体系结构
条件:Linux,各种书,算法、例程。
方法:通过C编程实现简单的网络等知识的算法和过程。
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍
方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。
4、嵌入式开发实践
条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。可以找高手们要,也可以下载。
方法:这里有两个分支,一个是基于MCU/MDSP的嵌入式系统开发,一个是象Palm OS,WinCE,uC/OS II等RTOS下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦+硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。
5、硬件开发
条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。
方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。
6、硬件工程/软件工程/项目管理
条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大型项目
参与经验方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下一步。你该是管理者了。
7、多泡类似赛微这样坛子,多加一些技术讨论群组,多跟高手过招,往往会收获很多意外的惊喜。
嵌入式领域现状:
一般情况下硬件设备是比较短缺的,所以可以在软件方面和嵌入式系统开发模式上下功夫。提醒大家一点,嵌入式系统开发设计的内容很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是Linux下的C,比如uC/OS II(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。无论对初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件**)绝对是没有止境的。而锻炼编程水平需要的条件只是一台PC而已,条件比较容易具备。有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时补充硬件知识,会很快成为高手的。
回到开头的话,只要用心,一切都不是问题,真的很简单!