嵌入式高手请进 软件 硬件

1、请问在嵌入式系统中,软件、硬件哪个有前途(钱途)?
2、如果我以后想在这个方向(软件/硬件),在大学应学习哪个专业,哪间大学比较好(清华、北大、北航除外)。考研的话有没有大的作用。
3、请介绍我在大学学习嵌入式的步骤(如大一做什么等等)
4、请问在广州和深圳有哪些外企需要嵌入式人才,软件和硬件的待遇各是多少?(0工作经验)

1,、硬件有 前途,但是足有前途的是软硬件兼修的;
2、电子工程、通信工程等偏硬件专业,软件、计算机专业;大学的话,排名前几的都还不错。考研的话也很有帮助,尤其在找工作方面;但是学这个专业的,如果没有点自主学习的精神,再好的大学也是白搭,这也是大学中最需要学习的一样东西。您对这个真的产生兴趣的时候,专业学校学历都不会是障碍,现在外面的许多培训机构都还是不错,只是贵了点。
3、至于学习步骤嘛,大一跟老师学习咯,基础课还是认真学,对后面深入学习很有帮助;然后就是多上论坛 ,去图书馆借些这方面书籍,能懂多少懂多少,对这一行多了解些,不然说得多您不一定能领会;还有时间的话,就去参加比赛,学校一定会组织的,这种机会不要放过,因为跟一群人一起学习,绝对比孤军奋战效果好;学的多啦,您自己就可以为别人回答您现在提这样的问题,毕竟不同的人总有自己接受知识的特点。
4、如果您现在还没有上大学的话,那就不要担心什么企业工作之类的啦,想的太远不是个好习惯;您都还不清楚自己到底喜不喜欢这一行,想那么多干啥;世界上还有很多东西值得您去喜欢,眼界放开点,兴趣最重要。

下面附上一篇,能看懂多少,看你啦:

嵌入式以下几方面:

(1)嵌入式硬件

(2)BSP bootloader

(3)内核 驱动

(4)上层应用

以我在嵌入式系统的从业8年多的情况大体是这样,仅供参考

如果在一个层面上有六年及以上工作经验的话,以六年为准。

(1)嵌入式硬件 ---8000-12000,正常价为10000

(2)BSP bootloader ---10000-20000,正常价为15000

(3)内核驱动 ---10000-15000,正常价为12000

(4)上层应用 ---8000-10000,正常价为8000

别外和行业还有关系,比如,做手机公司还要相对高些。

这些情况一般是在外企公司或国内大公司的情况。小公司很少能开到这个价。

因此说什么公司用什么样的人,是有一定道理的。

还有这四层都是很有前途的,关键要根据自己的特长选择做那一层面,一个学计算机专业的人去搞硬件有点不太好搞,在基础这块就要比电子工程类专业的欠缺。

以上这些仅供参考,但目前国内能真正在嵌入式系统这块做上六年的都很少很少。国内嵌入式系统是从当年的Motorola的68K体系结构的DragonBall开始的,那个时间就是1999年,2000年底-2001年夏才达到了最高时期,以后才是ARM开始接替。

嵌入式软件方面最重要的课程包括:

(1) 嵌入式微处理器结构与应用

这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书(xxx Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。

(2) 嵌入式操作系统类课程

除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time Operating System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。(3) 嵌入式开发的其它相关软件课程

搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:

A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。为此,我院已预订了一位能开设数字图像处理课程的博士。

B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无结通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。

C、网络与信息安全技术:如加密技术,数字证书CA等。我院有这方面的选修课。

D、DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。

(4)嵌入式开发的相关硬件基础

对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C++、数据结构和算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但重点应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。

我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高的场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其FPGA/IP核实现技术,这方面的人目前市场上也很缺

有C语言基础的话,还是很不错的。
你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。

以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

LZ可以到华清远见的网站上了解一下,上面有很多嵌入式相关的详细信息,也可以在线看一下华清远见相关嵌入式技术专题的视频,对这个行业有更多了解,具体知道关键的技术点。同时华清远见从06年开始陆续出版的近40本嵌入式专业图书也一定可以帮助到您,您在各大书店和图书馆应该都可以看到,具体问题还可以拨打免费电话咨询华清远见的专业老师!追问

1、如果我想软硬兼修,应该从哪个方面学起,要多少年才能学完,然后多少年才会成熟?
2、如果我在嵌入式这方面工作10年,工资可以到多少?
3、嵌入式中的驱动是指linux的驱动还是比硬件层稍微高一层的驱动层,有区别吗?

追答

电子工程、通信工程等偏硬件专业,软件、计算机专业。进大学之后自己就知道啦,这是个庞大的系统,有很多入口的。
十年之后的事情谁知道啊,不要想太远。只需要知道一点:真正牛逼的人到最后都不会在乎钱,努力去做就可以啦。当然可以告诉你,有牛逼人物,大四刚出校,月薪上万,这样的人还不少。
第三个问题嘛,不解释。。。。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-24
简单来说,硬件有前途。因为:
1、软件在嵌入式应用中,套路性的东西很多,代码有很多是可以复制粘贴的。所以含金量打了折扣,而硬件则不然。比如说手机,HTC出了那么多款手机,程序其实差距不大,但硬件会有不同的原理,不同的布板。
2、软件看不见摸不着,在中国,这种行业除非是强制(比如财务类软件),否则前途暗淡。
3、不懂硬件只搞软件是无法进行嵌入式开发的。
4、硬件的面广,比如我一个同学做山寨手机硬件开发的,现在在broadcom当技术支持,每天在诺基亚和研发团队合作。所以说,搞硬件不仅可以搞开发,也可以搞技术支持,甚至销售(卖芯片)本回答被网友采纳
第2个回答  2011-03-24
1.精通硬件并且有底层编程经验的人更有钱途(比如驱动编写)
2.硬件的话可以学电子信息类专业,电气类(这个稍微有点歪了,不过大体上学的差不多),当然计算机专业也可以的,大学的话西电,东南,北邮都很牛啊,挑大学的时候建议选择省会城市。考研的话本校考本校有优势的。
3.大一学好基础课就好(拓展下视野,要经常去一些嵌入式BBS)
大二开始会开数电和模电,最好快速自学,进而拿下单片机课程(这个对学嵌入式比较重要)
大三当别人在学单片机时,你可以学高端嵌入式处理器(32位机),S3C2410A,
大四就是做东西了。。。
4.知道的说下
深圳的理邦,华为,中兴,太多了,本科一般5000-5500,研究生最低6000左右吧(前提你有真才实学)外企的话通信类企业较多,比如UT斯达康。。。
第3个回答  2011-03-20
嵌入式微处理器结构与应用

这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书(xxx Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。
相似回答