本科通信工程(如凌阳)嵌入式软件开发需要哪些知识?

通信工程和嵌入式系统有点区别。嵌入式系统专注于计算机。

通信工程通信工程是一个比较宽泛的专业。主要学习:电路、信号与分析、电子技术、通信系统原理、数字通信系统、通信网络基础、电信网、程控交换技术、无线通信技术、数字微波通信等。毕业后可以从事通信领域的研究、设计、制造和运营工作。他们大多在国民经济各部门和国防工业中从事通信技术和设备的先进工程技术的开发和应用。掌握的知识和能力:-1。掌握光波、无线、多媒体等通信技术。-2.分析、设计和调试国际通信系统和通信网络。2.嵌入式我也是计算机专业的,对这个比较了解。下面是同济大学软件学院院长说的,详细介绍嵌入式,可以让你男朋友看到,嵌入式是目前最热门最有前景的it应用领域之一。尤其是随着消费电器的智能化,嵌入式更为重要。如手机、pda、电子词典、可视电话、VCD/dvD/MP3播放器、数码相机(dc)、数码摄像机(DV)、u盘、机顶盒、高清电视(hdtv)、游戏机、智能玩具、开关、路由器、数控设备或仪器、汽车电子、家电控制系统、医疗保健。嵌入式系统是软件和硬件的结合,从事嵌入式开发的有两种人。一类是硬件专业的,比如电子工程,通信工程。他们主要从事硬件设计,有时还要开发一些与硬件关系最密切的底层软件。另一类是软件和计算机专业的人,主要从事嵌入式操作系统和应用软件的开发。如果我们这些软件学习者很好的掌握了硬件原理和接口,也可以写bsp和硬件驱动。好处:(1)目前这方面的人国内外都比较稀缺。一方面,非专业的it人员很难切入这个领域,因为这个领域的进入门槛很高,不仅要了解底层的软件(如操作系统级、驱动程序级软件),还要对软件的专业水平有更高的要求(嵌入式系统在软件设计上要求更高的时空效率),还要了解硬件的工作原理。另一方面,由于这一领域相对较新,目前发展太快,许多软硬件技术(如arm处理器、嵌入式操作系统、mpeg技术、无线通信协议等。)已经很久没有出现了,掌握这些新技术的人当然很难找。嵌入式人才稀缺,价值自然高。他们越有经验,他们的价格就越高。其实嵌入式人才是稀缺的,根本原因可能是大部分人都是无条件接触,这就需要相应的嵌入式开发板和软件,以及有经验的人来指导开发过程。(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常较低(但收入不低)。对于搞企业应用软件的it企业来说,这个用户的系统做好了,又要搞下一个用户的,每个用户的需求和完成时间都要根据客户的要求来改变,往往是疲惫和重复的。相比之下,从事嵌入式系统的公司有自己的产品计划,按照自己的节奏行事。开发出来的产品一般都是通用的,不会被不同的客户修改。一个产品型号开发出来后,往往会有很长一段空闲时间(或者只是对软件做一些小修),有时间充电休息。另外大家从事嵌入式软件的工作范围比较窄,涉及的专业技术范围就是那些(arm,rtos,mpeg,802.11等。).时间久了,这些东西就会越来越有经验,就会去卖旧书。几个说明就够那些新手琢磨半年了。如果你是搞应用软件的,也许下一个客户会换一个完全不同的软件开发平台,那就苦了。(3)如果有一天你想创业,想做自己的产品,那么嵌入是个不错的主意,不像应用软件那么容易被盗版。土木工程学院一家叫启星的公司开发了一款叫“E计划”的掌上电脑(南校区门口有广告)。施工技术人员可以用这款pda现场进行土建预算估算等土建计算,据说卖得很好。我认识的一个大学老师,他为餐厅开发了一款pda(wince平台,可以无线上网)。据他介绍,卖得不错,餐厅可以让顾客点pda点菜,比较时尚。记得00级2+2班的一群学生在学习windows编程课程时,用vc++设计了一个功能强大的菜单系统作为课程项目。当时我真的很想建议他们把这个软件做成pda,估计会有一些销量(上海火车站南广场的麦当劳用了一个很漂亮的pda给用户点餐,就像一个像样的)。这些pda的硬件设计通常由其他公司定制(这被称为“oem”),并且它们都是常见的硬件。我们只是设计软件,成为自己的产品。缺点:(1)入门起点高,使用的技术往往比较难。如果软硬件基础不好,尤其是操作系统级软件基础不深,可能不适合此行。(2)该领域的企业数量远远少于企业计算企业。特别是嵌入式小企业多(小企业要自己做产品),知名大公司少(嵌入式大公司主要有intel、摩托罗拉、ti、飞利浦、三星、索尼、futjtum、贝尔-阿尔卡特、意法半导体、中晶、研华、华为、中兴、SVA等制造企业)。这些企业习惯性的思维方式是找电子、通信等硬专业的人。因为我们学院以前的毕业生主要是企业计算,所以我们学院和这些企业的接触相对较少。我院正在积极努力,目前已经和其中心分部建立了联系,争取我院学生将来在这些企业实习或就业。(3)少数公司往往要求硕士以上学历的人从事嵌入式技术,主要是基于嵌入式技术的难度。但是大部分公司没有这个要求,只要有经验就行。如果我们学院的学生学习嵌入式系统,显然应该侧重于嵌入式软件,尤其是嵌入式操作系统,这应该是我们的强项。对于从事嵌入式软件的人来说,最重要的技术显然是(其实很多公司的招聘广告上都是这么写的):(1)掌握主流嵌入式微处理器的结构和原理(2)掌握一个嵌入式操作系统(3)熟悉嵌入式软件的开发流程,做过至少一个嵌入式软件项目。我院在嵌入式软件方面最重要的课程有:(1)嵌入式微处理器结构与应用:这是一门嵌入式硬件的基础课程,我院用这门课程代替了传统的“微机原理与接口”课程(目前国内高校的少数it专业都在做,因为讲x86微机原理与接口很难找到实际用途,只是为了教学)。我们说过,嵌入式软件是硬件和软件的结合,从事嵌入式软件的人要对arm处理器的工作原理和接口技术有充分的了解,包括arm的汇编指令系统。如果不了解处理器的原理,怎么控制硬件工作,怎么写出最节省内存高速运行的代码(嵌入式软件设计特别注重时空效率),怎么写驱动程序(驱动程序都是和硬件打交道的)?许多公司在招聘嵌入式软件人员时,要求熟悉arm处理器。以后如果同学来公司开发嵌入式软件,公司会给你一份设备的硬件说明书(xxx说明书)。你必须能理解最基本的指令(像x86汇编),否则怎么设计软件。有些同学认为嵌入式处理器课程很枯燥,这主要是因为硬件课程比较抽象。我们的嵌入式实验室在5438年6月+10月建好之后,你做一些实验就会觉得摸得着。有些同学对arm汇编不感兴趣,认为C语言做嵌入式开发就够了。其实不应该只是把汇编语言当成编程语言,学习汇编主要是为了掌握处理器的工作原理。一个不熟悉汇编语言的人如何在这个处理器上写出最好的C语言代码?在嵌入式开发的一些关键部分,有时候需要写一个程序集,比如bootloader(可能还有bsp)。尤其是在要求高速的场合(比如dsp处理器的高速图像采集和图像解压缩),目前主要靠sinks写程序(我看到很多公司都是这么做的)。在嵌入式公司工作,看描述原理的手册,可能很多都是用汇编描述的(我也遇到过)。这是因为很多硬件设计师只会写或者喜欢用汇编来描述。这个时候你一定要懂汇编程序,否则软硬件人员可能无法沟通。很多嵌入式岗位在招聘时都要求熟悉组装。【温馨提示】目前常见的嵌入式处理器有arm、powerpc、mips、摩托罗拉68k、coldfire等。,但是arm占据绝对主流(据说差不多100%的手机都是arm处理器)。Arm是一家只卖知识产权的公司。目前,许多大公司已经获得了购买arm cpu核心的许可,包括intel、三星、amstel、摩托罗拉、philip等。都是在arm cpu核的基础上做了一些外围扩展形成自己的处理器(比如三星s3c2410,摩托罗拉i.mxl9328等。)都采用arm 9内核,指令级别相同。许多中小型公司购买了这些处理器,并设计了各种开发板。比如国内很多著名的嵌入式公司,比如华恒,都是生产基于三星s3c2410的开发板,供终端用户使用,或者用于教学实验。在arm的食物链中,arm公司是大鱼,intel、三星等公司是小鱼,华恒等是虾米,终端用户(以为我们要采购嵌入式开发板)喂虾。早期英特尔生产低端arm(强arm,相当于arm 7),现在主要生产高端arm(即intel xscale处理器,相当于arm 10,主要用于高端pda。比如惠普和戴尔生产的pda采用intel xscale,价格昂贵)。目前应用最广泛的处理器是arm 7和arm 9。Arm 7更便宜,可以运行uclinux(不支持高级内存管理功能的嵌入式linux系统)、vxworks、uc/os ii等实时操作系统。但由于处理器没有内存管理单元mmu(没有内存分页和地址映射机制,所以不能使用虚拟内存),无法运行windows ce,一般linux中的一些内存管理功能在arm 7上也无法使用。Arm 9是一款具有mmu功能的高端处理器,可以运行wince或者通用linux的大部分功能。以上是我的一点点理解,可能有错误。我院在建的嵌入式实验室(10年6月底交付)包括30套arm 7系统(拟采用三星s3c44b0x开发板,主要用于嵌入式处理器结构和嵌入式linux课程实验)和10套arm 9系统(拟采用三星s3c2410x开发板,主要用于windows ce课程建设),每套实验板都配有一个高速模拟器,非常昂贵(比戴尔pc还贵(2)除了wince,大部分嵌入式操作系统的实时性都很强,所以也可以称为实时操作系统。从事嵌入式系统的人,至少要掌握一个嵌入式操作系统(当然掌握两个更好),这是所有嵌入式技术中最关键的。目前最重要的rtos主要包括:第一种,传统经典的rtos:最重要的是vxworks操作系统及其tornado开发平台。由于vxworks出现的时间稍早,实时性强(据说可以在1ms内响应外部事件请求),内核可以极小(据说可以小到8k),可靠性高,所以在北美,vxworks占据了嵌入式系统的一半以上。尤其是在通信设备等实时性要求高的系统中,几乎非vxworks莫属。vxworks的很多概念和技术和linux类似,主要是C语言开发。Vxworks被贝尔-阿尔卡特、朗讯、华为等通信公司在开发产品时广泛使用。但是因为价格高,vxworks在一些小公司或者产品上用不了。目前很多公司都在转嵌入式linux(听说华为目前也在这么做)。但无论如何,vxworks在很长一段时间内都不会动摇。和vxworks类似的还有psos、qnx、nucleus等rtos。第二类,嵌入式linux操作系统:linux除了作为服务器操作系统,最成功的未来是在嵌入式领域的应用。当然原因是免费,开源,支持很多软件,吸引很多用户,所以嵌入式产品成本会低。Linux本身不是为嵌入式系统设计的操作系统,也不是微内核,实时性不强。目前在嵌入式领域应用的linux系统主要有两类:一类是专门为嵌入式系统设计的cut linux系统,最常用的是uclinux(无mmu功能),目前在应用中占很大份额,可以在arm7上运行;另一种是运行在arm 9上,一般在上面移植linux 2.4.18内核。