您的位置:首页 > 其它

对新手学习嵌入式软件开发的基本建议

2012-07-26 07:58 302 查看
嵌入式软件开发学习的过程,需要面对很多的专业性知识,让很多新手望而怯步!其实,这是没有必要的,你只要了解了嵌入式系统的整体构架和知识组成部分,重点突破才是取胜之道。

让我们来看下嵌入式系统的构成:

嵌入式系统的构成:硬件+软件;现代嵌入式软件构成很多系统已经由单片机过渡到了智能系统,因此软件内容非常广泛:

软件 = bootloader + kernel + root + application + advanced-application

其中,bootloader和kernel与系统硬件结合紧密,涉及到部分跨专业的问题。但是从root开始,我们基本可以认为是与硬件无关的知识体系。

从现在市场上流行的高级应用开发工程师需要的技能上看,你会发现一个很奇怪的现象,他们几乎不懂系统,直接使用厂家提供的API进行开发即可o_0!!,同样也过得非常HAPPY啊!难道这就是嵌入式软件开发???其实并不是这样的,这种开发严格上来说是advanced-application,前面所有的东西已经被别人做完了而已。作为一个真正的嵌入式软件开发人员必须了解整个嵌入式的构架和原理,这样的人才才可以经得住行业的风云变幻啊!所谓的高级开发人员如果只懂得advanced-application,一旦失去前面所有(包括:bootloader + kernel + root + application)的支撑,其实他什么也不是!可以明白的说,他是嵌入式软件开发的一个“不完整版”。

 所以,个人认为(仅代表个人观点),嵌入式软件开发人员应该是掌握整个软件构架的人才,了解bootloader、了解kernel、定制root、精通程序设计提供各种高级开发的支撑,并能使用所以资源完成高级应用的一个全方位人才。但是对于一个对操作系统、组成原理等不太精通的人来说,研究bootloader和kernel简直是一种自虐行为。那么个人浅见:你如果是一个初学者,并且不具备硬件和操作系统相关知识的功底,你完全可以从root开始!它是完全迎合软件开发专业学生最佳的起跑线,是快速而系统地研究嵌入式系统的好办法!等你一旦完成了root以后所有知识的学习和运用,只要你感兴趣,你随时可以对bootloader、kernel和硬件进行一番从容的研究和探讨。毕竟硬件部分是电子和通信方面的专利,我个人同时认为,你把bootloader和kernel弄明白,你就已经是嵌入式的高级人才了!

另外,必须说明一下:嵌入式从root开始学习(甚至从bootloader、kernel开始)最好的系统是linux,好好学习他吧,他会让你真正的明白什么是嵌入式系统的,同时也会让你成为一个合格的嵌入式人才!

搞掂Linux你终于可以喘口气了,可以涉猎一些其他方面的内容和系统,如wince、uCOS等等,最后可以搞下只关注高端应用的系统,Android和IPhone!到此为止,你终于在软件方面圆满了,可上至高端开发,可下至内核修改,全才啦!恭喜你!

坚持是胜利的保证,恒心是成功的基石,努力吧,追梦人!本文出自 “驿落黄昏” 博客,请务必保留此出处http://yiluohuanghun.blog.51cto.com/3407300/942761
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: