pkilllo 发表于 2010-7-4 09:10:56

转个帖子: 老生常谈:如何学习嵌入式--------希望能给初学者一点帮助

最近不断有学生问我嵌入式很有意思,但是应该如何入手呢?有些学生虽然在指导下做了一些小东西,但事后却往往不知道学到了些什么!只知道似乎很有意思。那么该如何学习嵌入式呢?学习嵌入式需要哪些知识呢?
   在近年的教学中我发现,兴趣才是最好的老师。在我们学校大一新生刚入学时有个专业方向介绍,在这个介绍中我会给他们看看学长们制作的作品,例如:MP3,智能小车等等。这些作品对于这些新生来说是往往是“致命的”(后来很多学生告诉我走上嵌入式这条路完全是因为入学时专业介绍)通过这次作品展示,很多人的兴趣完全被调动起来了,同时也为他们与大三大四学长们建立了一个交流的平台,很多新生都为自己找到了一个“师傅”;而对于大三大四的学长们来说他们也不得不继续学习,不然对于自己的徒弟可真没面子,一举两得,呵呵!
   一年级的学习基本上都是大同小异的,无非是学习一下C和数据结构等等基本课程。在一年级的时候我一般不给学生布置任务, 但时不时会邀请他们去实验室观摩高年级的学生开发,让他们大致了解嵌入式开发过程中所用到的各种工具和开发过程。在一年级结束时,布置一些单片机的小项目让学生实践一下,例如:流水灯,蜂鸣器,按键等等。这些小项目的硬件使用的是我们学校自己配置的51单片机散件,使用万用板焊接,要求把所有IO端口均引出,因为以后这块开发板将伴随他们做各种接口实验。在憋了一年以后,学生们的热情非常高涨,往往夜里11,12点还不愿意回去!通过这次的小的练习应该能学会以下东西:
1。了解整个嵌入式系统的开发流程
2。熟悉基本硬件、软件开发工具的使用,如电烙铁,万用表,烧写器,烧写工具等等。
3。了解一些基本的元器件,如电阻、电容、IC、晶振等等。
4。能够看懂一些简单的电路图
5。了解文档在开发过程中的重要性
6。思考嵌入式编程的基本方法
   其中最重要的就是5,6两点了,让学生自己去体会项目开始时项目计划文档的重要性,为以后的软件工程课程教学打下基础;在每个项目结束后,还要求学生写下心得,总结整个项目过程中的得失,这点也是非常重要的。
   在二年级开始后就可以让学生利用自己做的单片机开发板学习单片机上的各种资源了,大二阶段其实也是处于基础的学习,因为在二年级一般都会开设汇编语言、组成原理、模拟电路、数字电路等等课程,而这些课程对于嵌入式开发来说都是重中之重。利用开发板,引导学生去思考和体会这些课程中所讲授的知识,加深印象。如果有学生对硬件PCB感兴趣的话,还可以鼓励他们学习学习PROTEL,当然只能限于一些频率不高的板子,如要要深入的话还有很多知识要学。由于我们学院还是偏软的,所以对于硬件就不过多讲述了。
   三、四年级一般就是参加比赛,通过比赛学生们可以学到很多东西,同时也为他们的就业增加砝码。对于这些高年级的学生,还有一个重要任务:辅导低年级的学生学习。




   上面就是我班上嵌入式学习的整个过程,从历届看来效果还是不错的。下面来谈谈学校开设的课程与嵌入式开发之间的关系。时常我们可以听到一些学生说大学课程没有用、过时了等等,很多人放着基础课程不管,而去学习一些非常时髦的技术,如:3G,无线,J2ME,android开发等等。其实这些时髦的名词背后,还是一些基础知识。我们以EEWORLD 送出的LM3S8962开发板为例,来看看要进行开发会涉及到哪些基础课程。



1、 UART实验,SPI实验等一些总线实验。涉及: 接口_技术(计算机组成)
2、 ADC实验,涉及:模拟电路、数字电路
3、 网络实验,涉及:计算机网络
4、 RTOS实验,涉及:操作系统原理
5、 中断实验,涉及:接口_技术(计算机组成)
6、 LED,按键实验,涉及:接口_技术,数字电路
      而对于C语言、数据结构,汇编语言等课程却是各个实验都会涉及的。当然,上面的分类也不是完全准确。其实嵌入式系统的开发就是各种知识的总结,只有把这些基础知识都弄清楚了,开发起来才会得心应手。
   
      关于嵌入式学习到底要不要从单片机开始,这当然也没有一个绝对的标准。以前我校的课程是直接从32位系统开始的,32位系统的DS往往比较复杂,入门也相对繁琐,很多同学学着学着就放弃了。所以,我个人认为还是需要从8位单片机开始的,8位单片机最简单、资料最丰富的还是51系列。学51有个非常好的工具叫Proteus,可以在没有开发板的情况下练习51的编程。当然,最好还是利用一些套件(如我前面提到的)做一些实际的东西。把51玩熟悉了以后应该就可以上32位系统了,比如2410,2440等等。
   最后,英语还是很重要的,你可以不过4级,但DS绝对要能够看懂,不然开发将会步履维艰。

longquan 发表于 2010-7-4 11:06:14

然后呢

tigerchen 发表于 2010-7-4 19:10:01

好啊

chinalove 发表于 2010-7-5 07:31:01

顶楼主!

这是从论坛转的链接:

嵌入式入门篇:

什么是嵌入式系统                         http://www.helloarm.com/Embedded-Learn/58.htm

嵌入式资深工程师白话说“嵌入式”         http://www.helloarm.com/Embedded-Learn/52.htm

嵌入式系统的学习途径与基本方法(硬件)   http://www.helloarm.com/Embedded-Learn/50.htm

如何学习嵌入式(软件)                   http://www.helloarm.com/Embedded-Learn/51.htm            

ARM入门学习方法                        http://www.helloarm.com/Embedded-Learn/46.htm

嵌入式linux学习步骤                      http://www.helloarm.com/Embedded-Learn/48.htm

嵌入式学习方法 关于ARM+linux            http://www.helloarm.com/Embedded-Learn/47.htm

我的嵌入式之路(必看必看!)             http://www.helloarm.com/Embedded-Learn/45.htm

原帖:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3979142&bbs_id=1032

poet_lee 发表于 2010-7-5 11:54:57

mark~好贴

tonghua209 发表于 2010-7-5 12:24:59

mark好帖,顶楼主!

goooogleman 发表于 2010-7-5 17:03:19

回复【3楼】chinalove
顶楼主!
这是从论坛转的链接:
嵌入式入门篇:
什么是嵌入式系统                         http://www.helloarm.com/embedded-learn/58.htm
嵌入式资深工程师白话说“嵌入式”         http://www.helloarm.com/embedded-learn/52.htm
嵌入式系统的学习途径与基本方法(硬件)   http://www.helloarm.com/embedded-learn/50.htm
如何学习嵌入式(软件)                   http://www.helloarm.com/embedded-learn/51.htm            
arm入门学习方法                        http://www.helloarm.com/......
-----------------------------------------------------------------------

不错。嘿嘿。

goooogleman 发表于 2010-7-5 17:03:36

楼主继续写啊。旁听。

pkilllo 发表于 2010-7-5 19:10:57

回复【7楼】goooogleman 谷歌男
楼主继续写啊。旁听。
-----------------------------------------------------------------------


不是我写的,原帖地址

http://bbs.eeworld.com.cn/thread-109360-1-1.html

xxdwww 发表于 2010-7-12 01:37:24

谢楼主。

chewlife 发表于 2011-9-8 22:02:27

非常好的建议,谢谢。
页: [1]
查看完整版本: 转个帖子: 老生常谈:如何学习嵌入式--------希望能给初学者一点帮助