首先,对于你的提问没有及时给你回复,深感抱歉。作为一个比你早几年进入嵌入式领域开发的人,看到你的提问,也勾起了我的很多回忆。现在想想,对在校学习的你有几点建议吧。
首先,我第一学历是计算机科学与技术,对计算机知识的渴求让我选择了我的专业。正如你所知道的一样,大学程序设计一定是从C语言讲起,穿插其他如①C++,JAVA,PASCAL等程序设计语言,应用的开发环境都是10年前,甚至是20年前的软件。这样的教育和学生的学习与社会的需求是脱节的。学生如果还保留高中时的学习方法,一味的识记,背诵,那可就大错特错了。真正的学习方法就是实践。其实大学的学习就是掌握正确的学习方法。
现在,大学的教学资源也再朝着应用的需求而改变,最直观的感觉就是大学生电子设计类的竞赛多多了。其实这个平台,就给学生是很好的实践的机会,虽然和社会的需求还有很大的距离。
其次,嵌入式开发这个行业有其特殊性,所谓的嵌入式系统就是以应用为目标的专用计算机系统。包含嵌入式的硬件和软件,根据行业不同,嵌入式硬件的开发要求也不相同。体现在自主开发还是外包,搞嵌入式板卡的公司很多,规模也很大,小规模的独立自主开发,大规模的就采用成熟板卡,从可靠性等多方面都有其优势。
嵌入式软件的开发呢也有两个层面,基于操作系统的开发和裸机开发的软件开发方法。8位16位单片机组成的嵌入式系统由于受资源,成本的限制,采用裸机开发的方法,不同厂商不同架构的单片机,开发软件都不相同,如KEIL,TASKING,IAR,PM,SLICONIDE等,但是有一点是相同的,就是基本上全是基于C语言进行开发的,但是这样的C语言是扩展了的C语言。所以,学习的重心就在于基础C语言的学习,包含语法、程序结构,数据结构的学习,以及根据你应用的领域所需要学习的C语言独特的一面,这样的学习,就放在工作上了。因为在学校学习的精力是有限的。
基于操作系统的软件开发,又包含多个方向,基于实时操作系统开发还是非实时操作系统开发,众所周知,视窗下的软件资源是最多的,但是像传统的WinXP,Win7不适合嵌入式系统使用。所以微软也开发了WinCE,WinXPE的针对嵌入式领域应用的操作系统,所以应用的开发环境用视窗下的开发软件就可以,但是不推荐用VC6.0,取而代之的应是Visual Studio,设计语言也不局限于C语言了,同时,开发的方向也不一样了,有面向应用开发的,有的是面向接口,API开发的,不同的方向,需要掌握的知识是截然不同的。
同时,还有主流的诸如Vxworks,类Linux嵌入式操作系统,其开发环境和软件开发思想又和视窗的不一样。这么多种类,这么多方向,不是一个人能搞定的。
所以,我觉得大学学习应该从这几方面入手:
大学的学习,尤其是软件的学习,也就在①所提到的程度就结束了。所以,这些课程是要求很清晰很清晰掌握的。扩展的学习,就看你是否在软件开发方面有所兴趣了,兴趣是最好的导师。因为,软件开发是件枯燥的工作,很常见的自我称谓就是苦逼的代码男,所以,对于女生来说,再其竞争力上,会略输于男性。但不是说女生就不能从事软件开发工作。这要看你所处的单位,和你的职业规划。不同的单位,都会有实习期,在这段期间,你在岗位中充当什么角色,就会很明确了。会要求你学习新的思想,新的手段,你的在大学锻炼出来的学习能力就很重要了。所以大学里将基础课,专业基础课和专业课学好,软考学有余力的时候参加程序员的考试就知道明确的考试及专业要求了,考软件工程师不强求。因为保不准你不从事纯软件的开发,而是嵌入式软件的开发,到时候你考嵌入式系统设计师不更好。
所以,理清了头绪也就不会迷茫了。
晚安!
编程的种类也不少,主要看你想学出来后干嘛。
软件很多 不可能全部学会 找自己感兴趣的去学 然后钻研