仪器社区

我是计算机科学与技术(嵌入式)专业的学生,想问这么课程要怎样学习?

都不例外 2013-01-21
我今年大二了,大一没有把ZD放在学习也不怎么了解自己的专业。学过的课程仅仅应付考试的水平,整天混日子的感觉很不好,现在想认真学习,有点不知道如何下手的感觉,看有些认真的同学已经可以做一些项目让我挺羡慕的。我想问下我该为自己的专业ZD学习些什... 我今年大二了,大一没有把ZD放在学习也不怎么了解自己的专业。学过的课程仅仅应付考试的水平,整天混日子的感觉很不好,现在想认真学习,有点不知道如何下手的感觉,看有些认真的同学已经可以做一些项目让我挺羡慕的。我想问下我该为自己的专业ZD学习些什么东西?我需不需要自学语言?同学告我说学学java,可是我看网上说这个专业的好像不需要学这个东西,我现在也不知道应不应该学。总之现在放寒假在家想为自己做点什么可是又不知道怎么下手。希望能有前辈认真看下帮我解答,万分感谢!!!!
评论
全部评论
长脸先生不带V
同学,看了你的问题,让我有种感觉,你还没有自己的职业规划,你现在是嵌入式专业的学生,学习的语言应该是C/C++,而JAVA应该是你专业不学的,但ZG有句古话“360行行行出状元”,不管你学那方面的,只要学到一定深度,都可以很轻松的找到理想的工作。所以说你现在应该做的是选定你的职业方向,而不紧紧是羡慕你的同学做了一些项目。相信你也想像他们一样做一些项目,那就赶快动手吧。
就从你的专业来说吧,嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系Z密切的Z底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),Z初级的硬件驱动程序等。优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。学软件的人对硬件原理和接口通常难以有较好的掌握,Z多也只能写部分BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的Z主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是Z有“花头”可做的),所以搞软件的人完全不用担心自己在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。
所以说你想学好自己的专业,那就从C/C++开始吧,注意多动手,别停留在纸上谈兵就行。你需要学习的东西还很多。
1 0 2013-01-22 0条评论 回复
巨蟹黄庆为
往底层走的话(和内核和硬件打交道),即bootloader,文件系统,内核这三者的移植剪裁,还有各种设备的驱动. 首先你c语言得非常非常扎实,特别是指针,结构体得吃透. 另外各种常用数据结构得了明于心(各种表). 这两者你OK的话,内核源码中的局部代码勉强可以看懂. 其次要熟悉整个内核框架的话还得了解操作系统原理(内核的各种处理机制),当然系统编程,网络编程这些知识也是必要的,特别是多线程多进程的思想和套接字的实现,另外当前Z流行的ARM架构你也得了解(工作模式啊,ARM指令等....),Z后适当的硬件知识也得具备,起码和硬件工程师沟通没多大障碍.

往应用层(只管调用底层的接口,对用户负责即可)走的话无非就是java和c++吧, java语言安卓用的到,安卓里面各种界面就是用java实现的.c++ 对嵌入式而言多应用于QT,很多UI都是QT实现的.
10 0 2013-01-22 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论