北邮在线服务外包基地怎么样?最近想去培训嵌入式软件外包开发。

欢迎进入北邮在线Android开发基地--中国大学生就业名企一站式服务提供者
嵌入式学习指南
发布时间: 10:08:30 阅读:583次
  近些年来,嵌入式系统的发展在国内可谓如火如荼,很多公司都急需嵌入式系统方面的开发人员。然而,在高校中,嵌入式系统的教学却较为滞后,很多高年级的本科生和刚入学的研究生都苦于不知从何学起。在本文中简要介绍嵌入式系统的学习方法,力求能帮助初学者找到一条入门之路。
  什么是嵌入式系统?
  学习嵌入式系统,首先应该明确什么是嵌入式系统,否则费力去学,却不知所学为何物,岂不惘然?嵌入式系统的定义很多,这也是困扰嵌入式系统学习的一个因素。笔者根据自己开发和教学过程中的理解,以及对各种嵌入式系统的应用进行总结,提出了嵌入式系统的简单定义:嵌入式系统是嵌入式计算机系统的简称,这个定义突出嵌入式计算机系统和普通计算机系统的共性。下表列出了嵌入式系统的一些典型的应用:
  智能机器人(SDR4,火星登陆车)
  娱乐和消费电子(GameboyAdvance,SonyPSP)
  网络通信产品(Smartphone)
  军用设备(军用PDA)
  汽车(车载导航,自动驾驶,娱乐系统)
  智能仪器(虚拟仪器)
  安全防护(防火,防盗)
  环境保护(探空气球)
  银行和商业消费(ATM)
  以火星登陆车为例来分析一下嵌入式系统的定义。火星登陆车虽然听起来感觉在技术上有些高不可测,但是本质就是嵌入式计算机系统的应用,其核心就是一个计算机系统,而这个计算机系统的组成同传统的计算机系统在本质上没有什么差别。两者的显著不同之处就在于,用于火星登陆车的计算机系统被安装到了火星登陆车上。当然,一个计算机系统能够被安装在火星登陆车上,是需要进行很多特殊设计的。但是从本质上讲,嵌入式系统的核心概念还在计算机系统。嵌入式系统学习的重点也在计算机系统上。一方面,学习者需要牢固掌握计算机系统本身的概念,更重要的是学习嵌入系统的开发过程同传统计算机系统开发过程的差别。这里需要指出的是,很多学习者本来就没有从事过完整计算机系统的开发,高校的教学是以程序设计为中心的,计算机系统的构成,操作系统的原理,编程语言等课程都是为了能够让学生更好的使用计算机系统进行程序设计,在现有的计算平台上来设计实现各种应用,学生一般没有机会学习一个完整的计算机系统是如何构建,并亲身参与到构建的每一个过程。而对于嵌入式系统而言,从事平台开发的人就是要亲自去开发出一个完整的计算机系统,这个过程包括
  1.需求分析
  2硬件设计
  3驱动程序
  4Bootloader&BSP(板级支持包)
  5操作系统的移植
  6应用程序的开发
  7性能检查
  嵌入式系统教学的目的就是教会学生如何根据需求去建立满足某种特殊行业需求的嵌入式计算机系统。让学生学会如何构件硬件平台,进行硬件设计,选择能够满足应用要求的最佳的嵌入式操作系统,并完成Bootloader,BSP和驱动程序的编写,移植,调试等过程。为了满足行业需求,最终要在所建立的系统上编写调试相应的应用程序,并进行性能的测试和检查。
  你是谁,你需要学习哪些东西?
  如果你的工作只是需要在PC机上编写一个图片浏览程序,那么你就没有必要去了解当系统收到一个ARP请求包后应该如何回应。同样的道理,嵌入式系统的学习也是有很多方面的。就嵌入式系统的设计和实现而言,基本上需要四种不同的工作:系统设计工作,硬件设计工作,驱动程序和操作系统移植工作和应用程序设计开发工作。
  1.系统设计工作
  在系统的设计阶段,系统分析师将根据需求确定系统的硬件的基本构成,根据系统的需求选择使用那种处理器,使用哪种操作系统,使用那些软件开发工具。系统分析师往往是较为完整的参与过嵌入式系统设计的全过程,对于系统应用的行业较为了解,对于嵌入式系统本身的开发流程十分清楚的人。
  2.硬件设计工作
  系统硬件设计人员需要根据系统分析师的设计结果,进行硬件原理图的设计。通常需要硬件设计人员熟悉嵌入式系统的硬件构成。硬件设计人员需要了解常用的嵌入式系统处理器,存储器(Flash,SDRAM),以太网MAC芯片,音频/视频编解码芯片,电源管理芯片,总线接口电路(USB,PCI),液晶显示模块,可编程逻辑器件(FPGA/CPLD),无线网络通信模块(Bluetooth,WLAN,GPRS)等硬件电路构成元素的基本工作原理,连接使用方法,使用注意事项,基本调试方法等内容。在网络上能找到很多公司的评估板的原理图,对于这些原理图要仔细研究,摸清处理器同存储器,网卡,液晶模块等器件的连接方法和原因。通过对这些电路的研究,能够较快地了解整个嵌入式系统的构成,这些电路同实际产品中的电路虽有一定差别的,特别是对于手持设备,但这些差别不影响初学者学习嵌入式系统的硬件设计基本构成。
  以上这些知识,往往需要较长时间的学习和积累,需要亲自参与实践的机会。对于刚刚接触嵌入式系统硬件开发的学生来讲,一般不可能全部了解这些知识,但也不会是通通一无所知。笔者结合自己开发和教学的经验认为:首先应该选定一款主流且较为简单的嵌入式系统处理器,比如基于ARM7TDMI内核的AT91M4B0等嵌入式系统处理器,学习32位RISC处理器的编程模型,指令集。高校教学中,单片计算机课程一般以8051系列单片为核心讲解,由于现代32位处理器的结构和开发方式同8位单片机有着较大的差别,学习者还是需要花一点力气来研究以下32位处理器的。以ARM处理器为例,学习者就需要理解处理器的多种工作模式,备份寄存器,RISC指令集的特点,MMU和虚拟地址,中断处理过程等内容。在学习指令集的过程中,最好能够每学习几条指令,就使用这几条指令在模拟器上实验以下,观察处理器执行的结果。这个过程一方面是学习者对于指令本身的学习能够取得一个比较好的效果,另外也是对开发工具本身的一种学习。接着,就可以开始学习片上资源的使用和配置方法。这时就需要一个方便使用的开发板,学习者能够通过JTAG仿真器将开发板同调试PC机相连,进行程序的下载,调试。特别是要仔细研究系统的初始化过程和中断处理的过程。在开发过程中如果遇到问题,应自己分析问题产生的原因,通过分析缩小问题可能产生的范围,最终找到问题的所在。最重要的就是要保持一种解决问题的信心,面对困难如何处理,往往能够决定最终系统是否能够调试成功。然后,学习者可以开始仔细学习处理器同存储器的连接,存储空间的配置,各种外扩器件,如网卡,AC97声卡的工作原理和使用方法。嵌入式系统硬件设计中往往需要使用可编程器件,学习者还需要一定的时间来学习使用常用的可编程器件(CPLD/FPGA),常用的有Xilinx和Altera公司的产品。进行系统硬件原理图设计,就需要使用原理图设计的EDA工具,常用的EDA原理图设计工具主要包括Cadence公司的Capture,Protel公司的Protel99SE等。接下来就可以参照评估板的电路图,根据系统的设计要求,开始进行原理图的绘制了。在原理图绘制过程中,一定要搞清评估板电路连接的原因,对于一时没有搞清楚的问题切不可蒙混过关。例如,有些处理器的地址线是以字节位单位的,而另一些处理器的地址线则是以两个字节为单位的,当连接16位的存储器的时候,切不可想当然的把处理器的A0直接连接到存储器的A0上面。另外,学生还应具有一定的PCB板图绘制能力,因为在现阶段,很多公司还不能完全把原理图的设计工作和PCB的绘制工作分开,往往要求硬件设计人员既能进行原理图设计又能进行板图设计。即使是PCB设计和原理图设计分开的公司,也需要原理图设计者能为PCB的设计者对于不同的信号提出布板要求。
  3.驱动程序和操作系统移植工作
  现代嵌入式系统的开发同传统8位单片机系统的开发相比,一个显著的区别就是嵌入式操作系统的广泛使用。在拿到焊接完毕的电路板,并进行基本的测试后,就要进行驱动程序和操作系统的移植工作了。首先要进行的Bootloader的编写和移植工作。Bootloader相当于PC系统的BIOS。对于有些嵌入式操作系统,如uc/OSII没有bootloader同样可以开发调试。但是对于WindowsCE和嵌入式linux系统而言Bootloader就是必须的了。本文以WindowsCE为例,做一个简要的说明。
  WindowsCE系统的移植工作主要就是BSP(板级支持包)的开发过程。BSP将具体的硬件差异同操作系统的核心隔离开来,主要由Bootloaer,OAL(OEMAbstractionLayer)和设备驱动程序三部分组成。WindowsCE系统中Bootloader叫做Eboot。Eboot被写入系统的引导Flash。系统启动时运行Eboot,完成通过网卡将调试PC机中WindowsCE操作系统映像下载到目标系统的SDRAM中并开始执行的功能。对于一个系统移植人员,首先需要阅读文档,了解WindowsCE系统Bootloader和BSP的基本概念和开发过程。(呵,还要做这工作啊,我还没想到(初学^_^))WindowsCE的开发系统PlatformBuilder提供了详细的文档和例程,开发人员需要仔细的阅读文档和例程。搞清楚各个函数之间的调用关系。在开发过程中的一个重要的步骤就是打通串口,使得目标板能够通过PC机串口向调试PC机发送数据。由于ARM系统的仿真器比较昂贵,而且操作系统的调试往往不使用JTAG调试器进行单步调试。所以能从串口观察程序的执行过程和结果对于调试就显得十分重要了。串口打通之后一个比较棘手的问题就是网卡芯片的调试。刚刚接触嵌入式系统开发的人往往没有直接在寄存器级上使用网卡芯片的经验,而网卡芯片的说明一般都较为简短,这就要求开发者学习一些以太网的基础知识,对以太网的MAC层有一个基本的认识。另外,各种网络调试(抓包)工具的使用也能大大降低系统调试的难度。系统的OAL需要根据具体硬件的不同做出相应的修改,这个部分可参照文档进行,在调试过程中根据串口的信息分析出错的地方。要充分发挥跨文件字符串搜索工具的功能,在浩如烟海的源文件中找到出错的位置。当然,随着开发者对系统文件目录结构的熟悉和了解,错误定位的速度会不断加快。WindowsCE的驱动程序相对而言是比较好写的。想系统学习嵌入式的朋友可联系郭老师QQ
  4.应用程序的开发
  嵌入式系统的应用程序开发同在PC机上开发应用程序的区别不是很大。对于WindowsCE系统而言,Microsoft已经提供了较为完善的开发工具。特别是.NETCompactwork的使用,使得基于WindowsCE.NETCompactwork的应用程序有了跨平台性。开发人员可以使用Windows的C#语言直接在PC上进行CE.NET应用程序的开发和模拟调试,也可将目标系统同PC机相连,进行联机调试。现在有很多系统支持J2ME(JAVA的嵌入式系统版本),这使得JAVA在嵌入式系统应用开发中占有较大的优势。另外,作为专业的嵌入式系统软件开发人员,还需要充分了解面向对象技术和设计模式等方面的知识,当然作为初学者可以先不深入研究这方面的内容。内容太多,下次分享常用嵌入式系统处理器和操作系统。希望对初学者有帮助
一键分享到:
暂无项目案例信息!
4G北邮在线服务外包基地
咨询热线:400- 地址:陕西省体育场东门北侧陕西高速大厦8层
陕ICP备号 技术支持:北邮在线服务外包基地
“北邮在线服务外包基地”是由北京邮电大学、工信部与国内运营商、设备制造厂商、移动应用开发商、北京石景山区软件园等众多企业联合建立,致力于移动互联网、嵌入式技术开发的高科技IT企业;公司集软件服务外包、移动互联网应用开发、教育项目运营为主营业务。基地专门设立了服务外包中心,已成为多家百强企业服务外包人才培养输送战略合作伙伴,目前公司业务覆盖全国各个地区。
版权所有 本网所有招聘信息及作品,未经书面授权不得转载推荐这篇日记的豆列
······热门关键词:
热门关键词:
北邮3g人才服务外包
目前开展3g软件开发和培训的机构很多,但真正可以与开发商及运营商实现无缝对接的高素质人才却十分紧缺。为此北京邮电大学、工信部与国内3G运营商、设备制造厂商、3G应用开发商、中日3G...
学校名称:北邮3g人才服务外包基地
联系电话:029-
联系地址:陕西省体育场北邻高速经纬大厦8F
在线联系:
天天招生网会员服务介绍
会员推广服务& 1280元/年
1、频道文字推广
2、频道排行榜固定排名
3、优先推荐
4、图片上传管理
招生直通车服务& 2860元/年
1、频道图片+文字推广
2、频道排行榜固定排名
3、优先推荐
4、图片上传管理
咨询热线:
负责人:张老师 158-
目前开展3g软件开发和培训的机构很多,但真正可以与开发商及运营商实现无缝对接的高素质人才却十分紧缺。为此北京邮电大学、工信部与国内3G运营商、设备制造厂商、3G应用开发商、中日3G研究院、背景石景山区3G创业软件园等11家单位于为了更好2009年联合成立“北邮3G”运营中心,以建立中国3G职业教育标准为使命,为3G职业教育提供各层次3G课程体系、实习(训)项目、就业管道。目前国内已有12家加盟授权机构,40多家合作高校,6家实训中心及运营支持中心;项目总部在东北、西北、华北、华中、华南、西南设立6大支持中心,总部在长沙、重庆、湖北、沈阳、烟台、西安设有运营支持中心
学校名称:
&北邮3g人才服务外包基地
联系电话:
联系地址:
&陕西省体育场北邻高速经纬大厦8F
在线联系:}

我要回帖

更多关于 北邮4g外包是真是假 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信