嵌入式

阅读 / 问答 / 标签

嵌入式软件开发的作品目录

第1章嵌入式系统概述  1.1嵌入式系统的定义  1.2嵌入式系统的分类  1.3嵌入式系统的特点  1.4嵌入式系统的组成  1.5嵌入式系统的应用领域  1.6嵌入式系统的发展  1.6.1嵌入式系统的发展史  1.6.2嵌入式应用软件面临的挑战  1.7本章小结  习题  第2章嵌入式硬件系统基础  2.1嵌入式处理器的基本特征  2.2嵌入式处理器的分类  2.2.1嵌入式微处理器  2.2.2嵌入式微控制器  2.2.3嵌入式DSP处理器  2.2.4嵌入式片上系统  2.3典型嵌入式处理器  2.3.18051系列单片机  2.3.268K/ColdFire系列  2.3.3PowerPC系列  2.3.4ARM系列  2.3.5X86系列  2.3.6MIPS  2.4嵌入式处理器的选择  2.5嵌入式处理器的发展趋势  2.6本章小结  习题  第3章嵌入式操作系统  3.1嵌入式操作系统的发展  3.1.1嵌入式操作系统的历史  3.1.2嵌入式操作系统的发展趋势  3.2嵌入式操作系统的分类  3.3嵌入式实时系统  3.3.1嵌入式实时系统介绍  3.3.2实时系统的分类  3.4嵌入式实时操作系统  3.4.1VxWorks  3.4.2pSOS  3.4.3QNX  3.4.4DeltaOS  3.5嵌入式软实时操作系统  3.5.1嵌入式Linux  3.5.2WindowsCE  3.5.3PalmOS  3.6嵌入式操作系统的选择  3.7本章小结  习题  第4章基于Linux的嵌入式软件开发  4.1嵌入式Linux概述  4.2Linux基础  4.2.1VMware虚拟机中的Linux安装  4.2.2进入与退出Linux系统  4.2.3Linux常用命令  4.3嵌入式LinuxC语言开发工具  4.3.1C语言与嵌入式系统设计  4.3.2嵌入式LinuxC语言编程环境  4.3.3vi编辑器  4.3.4GCC编译器  4.3.5GNUmake  4.3.6GDB调试器  4.4μCLinux操作系统  4.4.1μCLinux简介  4.4.2μCLinux的基本架构  4.4.3μCLinux的相关知识  4.5建立μCLinux开发环境  4.5.1交叉编译环境  4.5.2基于Linux的宿主机建立交叉编译环境  4.5.3基于Cygwin建立交叉编译环境  4.5.4μCLinux内核编译  4.5.5内核的加载运行  4.6基于μCLinux的应用程序开发  4.6.1基本开发步骤  4.6.2应用程序开发实例  4.6.3添加用户应用程序到μCLinux  4.7本章小结  习题  第5章基于VxWorks的嵌入式软件开发  5.1Tornado简介  5.1.1Tornado的特点  5.1.2TornadoIDE  5.1.3VxWorks目标机环境  5.1.4宿主机与目标机的接口  5.2Tornado的安装和启动  5.2.1Tornado的安装  5.2.2Tornado的目录结构  5.2.3Tornado主窗口界面介绍  5.2.4入门实例--HelloWorld  5.2.5使用调试和分析工具  5.3Tornado环境下的工程开发  5.3.1创建可下载的应用  5.3.2创建用户定制的VxWorks映像  5.3.3创建可引导的应用  5.3.4宿主机与目标机的通信  5.3.5配置、构造引导程序及引导盘的制作  5.3.6主机Tornado调试环境配置  5.3.7多任务调试方法  5.4VxWorks操作系统  5.4.1VxWorks简介  5.4.2Vxworks操作系统的基本结构  5.4.3VxWorks任务  5.4.4共享代码和重入  5.4.5任务间通信  5.4.6中断服务程序  5.4.7时钟管理  5.5实例分析  5.5.1VxWorks任务间通信  5.5.2理发师问题  5.5.3哲学家进餐问题  5.6本章小结  习题  第6章嵌入式软件设计的几个问题  6.1实时多任务软件设计  6.1.1实时多任务软件的设计步骤  6.1.2任务划分  6.1.3实时多任务设计实例  6.2板级支持包BSP  6.2.1BSP简述  6.2.2BSP的职责  6.2.3BSP的组成  6.2.4VxWorks映像类型及其启动顺序  6.2.5BSP的开发  6.3外部设备的驱动  6.3.1外部设备  6.3.2外部设备的分类  6.3.3I/O设备的数据传送方式  6.3.4硬件驱动程序  6.3.5硬件驱动程序的主要功能  6.3.6硬件驱动程序的组成部分  6.4本章小结  习题  第7章嵌入式系统设计开发  7.1嵌入式系统设计开发概述  7.1.1嵌入式系统开发的特点  7.1.2嵌入式系统设计的目标  7.1.3嵌入式系统的设计开发方法  7.2嵌入式硬件系统选型及设计  7.2.1处理器的选择  7.2.2嵌入式系统硬件电路设计  7.2.3印刷电路板设计  7.3嵌入式软件系统选择  7.3.1软件平台的选择  7.3.2编程语言的选择  7.3.3集成开发环境的选择  7.4软、硬件协同开发  7.5嵌入式系统的调试  7.6嵌入式系统测试  7.7系统集成  7.8本章小结  习题  第8章实训  实训1Linux安装  实训2Linux常用命令  实训3嵌入式Linux下开发工具使用  实训4μCLinux交叉开发环境  实训5添加μCLinux应用程序  实训6Tornado集成开发环境  实训7使用Tornado中的调试和分析工具  实训8基于VMware建立VxWorks交叉开发环境  实训9VxWorks组件的裁减和配置  实训10信号量  实训11消息队列  实训12Wind内核功能  实训13多任务程序调试方法  实训14理发师问题  参考文献

Linux,vxworks,wince嵌入式有什么区别和联系?

vxwork为实时操作系统,一般用在工业军事领域Linux为开源的非实时操作系统(经改良后也能用于实时系统)。免费又好用,用得很广。稳定性很强常用于服务器等对稳定性有较高要求的场所。wince微软的东西,稳定性不如Linux,但图形界面很炫所以常用于智能手机等消费电子领域。

大家嵌入式中常用什么接口呢?UART、SPI、IIC还是USB、CAN?

USB用在电脑上

嵌入式系统的概念

一、嵌入式系统的概念着重理解“嵌入”的概念主要从三个方面上来理解。1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科二、嵌入式系统的分层与专业的分类。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。三、目标与定位。先有目标,再去定位。学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。四、开发系统选择。很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。五、如何看待培训。首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255 CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。六、成为高级嵌入式系统硬件工程师要具备的技能。首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通,或去网站看看。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,dsp类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。dsp硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。 一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如ProtelORCADPowperPCBMaplux2ISE、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。

如何选择嵌入式微处理器

针对你需要的功能,引脚数目,价格,技术支持等等选择合适的芯片

如何自学嵌入式

买相关书籍边看边摸索实践或者直接去个软件公司,搞好人际关系,找个师傅教教,这个比较直接

嵌入式Linux系统的root密码忘了kos怎么才能找回来?

我也有这问题,不知道怎么弄,你要是有办法了,说一声啊。

什么是单片机原理与嵌入式系统

单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。51系列单片机是国内目前应用最广泛的8位单片机之一,经过二十多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51单片机的发展又进入了一个新的阶段。许多专用功能芯片的内核集成了51单片机,如AD公司的带80C51核的数据采集系统芯片ADμC812、TI公司的基于8051核的高性能系统级芯片MCS121X、Cypress公司的兼容8051的智能USB控制芯片EZUSB等,与51系列单片机兼容的微控制器以IP核的方式不断地出现在FPGA的片上系统中。因此,目前国内众多高校仍以51单片机作为单片机课程或微机原理课程的基本机型。可谓是“众人拾柴火焰高”,特别是近年来,基于51单片机的嵌入式实时操作系统的出现与推广,表明了51系列单片机在今后的许多年中依然会活跃如故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。本书以51系列单片机为背景,介绍嵌入式系统应用软硬件设计的基本技术。其主要特点有:(1) 系统性强。本书分为预备篇、基础篇、接口篇和应用篇四大部分。基础篇重点介绍了51单片机的基本知识;接口篇较全面地介绍了单片机的外围接口硬件设计,这种设计具有普遍的意义;应用篇则突出了以C51为主的嵌入式单片机系统的开发设计。本书还在预备篇中补充介绍了计算机的基础知识,这样本书既可以作为单片机与嵌入式系统或类似课程的教材,也可以直接作为学习微机原理课程的教材。(2) 可读性强。在内容的编排上注意由浅入深,方便自学,按“必需”、“够用”、“适用”、“会用”逐步深入,通过典型例题,使学生重点掌握基本原理、基本分析方法和软硬件设计方法。全书将表格、示意图与文字描述相结合,使基本理论的表述一目了然,便于记忆。(3) 操作性强。为便于教学,我们将教学大纲中要求的基本内容尽量集中且靠前,其中标有“*”的内容为任选或作为毕业设计、竞赛、应用设计时的参考资料。同时本书还配有教学课件,为任课教师在授课时提供一个操作性强的组织形式。(4) 实践性强。本书大部分例题或习题,只需最基本的元器件(要求有一台计算机),即可在实验室或家中完成验证型和设计型实验。同时,为更好地方便读者在学习的过程中能将书本知识与工程实践相结合,我们还自行开发了一套在系统可编程(ISP)实验板作为一个实践平台供读者配套使用。书中编有实验指导一章,具有一般的51系列单片机实验指导作用,亦可以与ISP实验板相结合作为独立的实验教程使用。在编写选材的过程中,还兼顾到全国大学生电子设计竞赛,有许多例子和器件都常能在该竞赛中见到,同时还附有历届全国大学生电子设计竞赛的试题,因此本教材也适合作为该竞赛的培训使用。(5) 力图反映新技术的发展。当前非并行总线结构的单片机及其应用方式日趋增多,本书顺应这一发展趋势,将串行接口扩展集中到一章讲解。C51的普遍采用,使得51单片机的软件开发效率大幅度提高,本书在应用篇中以较大的篇幅介绍了C51的使用。实时操作系统的采用,使得单片机的发展提高到嵌入式系统的高度,本书介绍了一款小巧的、专为51系列单片机定制的操作系统RTOS——RTX51的Tiny版本,作为一个入门级的学习,希望能起到抛砖引玉的作用。

急急急!!!计算机专业嵌入式方面的考试题

ABDDCABCABDBCDABCDACBDCABCACBDACBCAAACBDDCAB

光通信系统、嵌入式通信系统

光纤通信 光纤通信技术(optical fiber communications)从光通信中脱颖而出,已成为现代通信的主要支柱之一,在现代电信网中起着举足轻重的作用。光纤通信作为一门新兴技术,其近年来发展速度之快、应用面之广是通信史上罕见的,也是世界新技术革命的重要标志和未来信息社会中各种信息的主要传送工具。光纤即为光导纤维的简称。光纤通信是以光波作为信息载体,以光纤作为传输媒介的一种通信方式。从原理上看,构成光纤通信的基本物质要素是光纤、光源和光检测器。光纤除了按制造工艺、材料组成以及光学特性进行分类外,在应用中,光纤常按用途进行分类,可分为通信用光纤和传感用光纤。传输介质光纤又分为通用与专用两种,而功能器件光纤则指用于完成光波的放大、整形、分频、倍频、调制以及光振荡等功能的光纤,并常以某种功能器件的形式出现。光纤通信之所以发展迅猛,主要缘于它具有以下特点:(1)通信容量大、传输距离远;一根光纤的潜在带宽可达20THz。采用这样的带宽,只需一秒钟左右,即可将人类古今中外全部文字资料传送完毕。目前400Gbit/s系统已经投入商业使用。光纤的损耗极低,在光波长为1.55μm附近,石英光纤损耗可低于0.2dB/km,这比目前任何传输媒质的损耗都低。因此,无中继传输距离可达几十、甚至上百公里。(2)信号串扰小、保密性能好;(3)抗电磁干扰、传输质量佳,电通信不能解决各种电磁干扰问题,唯有光纤通信不受各种电磁干扰。(4)光纤尺寸小、重量轻,便于敷设和运输;(5)材料来源丰富,环境保护好,有利于节约有色金属铜。(6)无辐射,难于窃听,因为光纤传输的光波不能跑出光纤以外。(7)光缆适应性强,寿命长。(8)质地脆,机械强度差。(9)光纤的切断和接续需要一定的工具、设备和技术。(10)分路、耦合不灵活。(11)光纤光缆的弯曲半径不能过小(>20cm)(12)有供电困难问题。利用光波在光导纤维中传输信息的通信方式.由于激光具有高方向性、高相干性、高单色性等显著优点,光纤通信中的光波主要是激光,所以又叫做激光-光纤通信. 光纤通信的原理是:在发送端首先要把传送的信息(如话音)变成电信号,然后调制到激光器发出的激光束上,使光的强度随电信号的幅度(频率)变化而变化,并通过光纤发送出去;在接收端,检测器收到光信号后把它变换成电信号,经解调后恢复原信息. 光纤通信是现代通信网的主要传输手段,它的发展历史只有一二十年,已经历三代:短波长多模光纤、长波长多模光纤和长波长单模光纤.采用光纤通信是通信史上的重大变革,美、日、英、法等20多个国家已宣布不再建设电缆通信线路,而致力于发展光纤通信.中国光纤通信已进入实用阶段.---------------------------------光纤是一种将讯息从一端传送到另一端的媒介.是一条玻璃或塑胶纤维,作为让讯息通过的传输媒介。通常「光纤」与「光缆」两个名词会被混淆.多数光纤在使用前必须由几层保护结构包覆,包覆后的缆线即被称为「光缆」.光纤外层的保护结构可防止周遭环境对光纤的伤害,如水,火,电击等.光缆分为:光纤,缓冲层及披覆.光纤和同轴电缆相似,只是没有网状屏蔽层。中心是光传播的玻璃芯。在多模光纤中,芯的直径是15μm~50μm, 大致与人的头发的粗细相当。而单模光纤芯的直径为8μm~10μm。芯外面包围着一层折射率比芯低的玻璃封套, 以使光纤保持在芯内。再外面的是一层薄的塑料外套,用来保护封套。光纤通常被扎成束,外面有外壳保护。 纤芯通常是由石英玻璃制成的横截面积很小的双层同心圆柱体,它质地脆,易断裂,因此需要外加一保护层。光纤的特性 由於光纤是一种传输媒介,它可以像一般铜缆线,传送电话通话或电脑数据等资料,所不同的是,光纤传送的是光讯号而非电讯号.因此,光纤具有很多独特的优点. 如:宽频宽.低损耗.屏蔽电磁辐射.重量轻.安全性.隐秘性. 光纤系统的运作 你可能知道任何通讯传输的过程包括:编码→传输→解码,当然,光纤系统的传输过程也大致相同.电子讯号输入后,透过传输器将讯号数位编码,成为光讯号,光线透过光纤为媒介,传送到另一端的接受器,接受器再将讯号解码,还原成原先的电子讯号输出. 光纤光缆的运用 光缆的应用区分,可分为3种:专业用途,一般屋外,一般屋内.在专业用途上包括海底光缆,高压电塔上之空架光缆,核能电厂之抗辐射光缆,化工业之抗腐蚀光缆等.而一般屋内及一般屋外的分类差异,依各型光缆依制造设计时之特质,其所适用之范围各有不同. 光缆从屋外至屋内的过程中可分为空架,地下道,直接埋设,管道间铺设,室内用。光纤的历史 1880-AlexandraGrahamBell发明光束通话传输 1960-电射及光纤之发明 1977-首次实际安装电话光纤网路 1978-FORT在法国首次安装其生产之光纤电 1990-区域网路及其他短距离传输应用之光纤 2000-到屋边光纤=>到桌边光纤光纤的分类光纤主要分以下两大类: 1)传输点模数类 传输点模数类分单模光纤(Single Mode Fiber)和多模光纤(Multi Mode Fiber)。单模光纤的纤芯直径很小, 在给定的工作波长上只能以单一模式传输,传输频带宽,传输容量大。多模光纤是在给定的工作波长上,能以多个模式同时传输的光纤。 与单模光纤相比,多模光纤的传输性能较差。 2)折射率分布类 折射率分布类光纤可分为跳变式光纤和渐变式光纤。跳变式光纤纤芯的折射率和保护层的折射率都是一个常数。 在纤芯和保护层的交界面,折射率呈阶梯型变化。渐变式光纤纤芯的折射率随着半径的增加按一定规律减小, 在纤芯与保护层交界处减小为保护层的折射率。纤芯的折射率的变化近似于抛物线。

嵌入式系统、软件开发环境、嵌入式处理器

你先了解一下什么是嵌入式,然后再提问这些问题,Linux是一个操作系统,处理器有很多种,一两句话说不清楚,你还是从网上查查吧。希望没有误导你。

嵌入式微处理器的举例

(Digital Signal Processor)嵌入式DSP处理器(Digital Signal Processor)是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在20世纪70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。1982年世界上诞生了首枚DSP芯片。在语音合成和编码解码器中得到了广泛应用。DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。最为广泛应用的嵌入式DSP处理器是TI的TMS320C2000/ C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。MPU嵌入式微处理器是由通用计算机中的CPU演变而来的。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/StrongARM系列等 SoC 就是System on Chip ,SoC嵌入式系统微处理器就是一种电路系统。它结合了许多功能区块,将功能做在一个芯片上,像是ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。

微控制器(MCU)和微处理器(MPU)有何不同? 为什么说微控制器是典型的嵌入式系统?

处理器通常指微处理器、微控制器和数字信号处理器这三种类型的芯片。微处理器(MPU)通常代表一个功能强大的CPU,但不是为任何已有的特定计算目 的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。最常见的微处理器是Motorola的68K系列和Intel的X86系列。 早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机(single chip microcomputer)。随后,为了更好地满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元。目前,单片机已广泛称作微控制 器(MCU)。 也有由微处理器发展的微控制器。比如,Intel的386EX就是很成功的80386微处理器的微控制器版本。它与嵌入式应用的微处理器一样,也称为嵌入 式微处理器。嵌入式处理器的高端产品有:Advanced RISC Machines公司的ARM、Silicon Graphics公司的MIPS、IBM和Motorola的Power PC 、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SH RISC芯片。 数字信号处理器(DSPs)里的CPU是专门设计用来极快地进行离散时间信号处理计算的,比如那些需要进行音频和视频通信的场合。DSPs内含乘加器,能 比其它处理器更快地进行这类运算。最常见的是TI的TMS320CXX系列和Motorola的5600X系列。 嵌入式系统(embedded system)是计算机硬件和软件的集合体。它包括一个处理器,涉及对硬件的直接控制,是为了嵌入到对象体系中完成某种特定的功能而设计的,是嵌入式计算 机系统的简称。如微波炉是很好的嵌入式系统的应用实例:用处理器和软件帮助人们做饭。嵌入式系统和家里的微机(个人计算机)形成了鲜明的对比。同样是计算 机硬件和软件,个人计算机却不是用来完成某个特定功能的, 相反,它可以做各种不同的事情。因此,很多人用计算机的通用性来区分通用计算机(通用微机)和嵌入式系统这种专用计算机系统。嵌入式系统可以是微控制器 (单片机)或是以微处理器为主构成的计算机系统,也包括数字信号处理器(DSPs)构成的系统和片上系统SoC(System on Chip)。 单片机是专门用作嵌入式应用而设计的单芯片型计算机。为了不断扩展的嵌入式应用要求,不断在片内扩展满足控制需要的各种单元电路,而形成目前广泛使用的微 控制器。因此,单片机(微控制器)是一个典型的普及型的嵌入式系统,因为它们除了嵌入式应用之外没有其他用途。

帮忙介绍嵌入式操作系统与微控制器的书

看书有点难,不如看视频

MCS-51单片机原理及嵌入式系统应用 答案

推荐你看哈尔滨工业大学张毅刚主编的51最新版本的那书说的很明白

学习嵌入式开发应该具备哪些知识呢?谢谢

LS的,会了你那些还用在这问这种问题吗?具备C语言基础就可以去学了。

嵌入式方向要学习什么课程?

最重要的是要学好c语言,精通最好。这是首要的要求!其次要学的课程有:操作系统原理硬件原理硬件及接口技术外围设备设备驱动汇编语言接口技术如果你想从事嵌入式linux 那么还要学习如下课程linux操作系统原理linux内核编程linux设备驱动程序linux网络编程AT&T汇编程序设计剩下的这些也是必须看的,嵌入式系统开发过程嵌入式系统开发实例嵌入式项目开发流程其他的还需要 学一些嵌入式系统开发平台相关的东西例如 了解arm7 arm9平台等等也有几个方向 如基于linux的 win ce的 等等最后一条建议:学好 单片机 单片机是嵌入式系统最重要的基础

嵌入式方向要学习什么课程?

最重要的是要学好c语言,精通最好。这是首要的要求!其次要学的课程有:操作系统原理硬件原理硬件及接口技术外围设备设备驱动汇编语言接口技术如果你想从事嵌入式linux 那么还要学习如下课程linux操作系统原理linux内核编程linux设备驱动程序linux网络编程AT&T汇编程序设计剩下的这些也是必须看的,嵌入式系统开发过程嵌入式系统开发实例嵌入式项目开发流程其他的还需要 学一些嵌入式系统开发平台相关的东西例如 了解arm7 arm9平台等等也有几个方向 如基于linux的 win ce的 等等最后一条建议:学好 单片机 单片机是嵌入式系统最重要的基础

通常用的linux系统和嵌入式的linux是一样的吗?

核心相同,知识在软件应用和开发上有去区别

嵌入式目前主要面向的几个操作系统是

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。你可以尝试以下路线:(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可以到一些嵌入式培训机构的网站上看一下他们的课程设置,就会在脑子里有个清晰的思路,比如华清远见的官方网站,上面的嵌入式内容很丰富,嵌入式方面的信息更新也很迅速,没事可以去转转。

想入门嵌入式,请问嵌入式要学什么

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。[1] 从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果这类人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以软件研发人员完全不用担心在嵌入式市场上的无用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是趋势。嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。 做软件实际上有高下之分,开发语言从机器语言、汇编到C、C++,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?还是门槛,比如月薪15k的Linux嵌入式开发职位,门槛就有 Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品,而Java的开发者却仅仅是会使用名叫Java的语言工具,始终高高飘在众多层次之上,开发项目非常快,甚至可以不知道OSI模型,很可能自始至终都是软件蓝领。[5]嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识。为进入外企或者出国做准备。  未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。

嵌入式软件方向发展阶段

如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式LinuxARM方向,关于这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。所以自学的话你可以尝试以下路线:(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:谭浩强的很不错,《TheCProgrammingLanguage》这本经典的教材是老外写的,也有中译版本。(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。推荐书籍:《UNIX环境高级编程》(第2版)(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。(6)驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

怎么学习嵌入式系统开发_如何学好嵌入式系统

如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关于这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。所以你可以尝试以下路线:(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:谭浩强的很不错,《TheCProgrammingLanguage》这本经典的教材是老外写的,也有中译版本。(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。推荐书籍:《UNIX环境高级编程》(第2版)(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。(6)驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!你可以到华清远见网站上了解更多嵌入式的相关资料。各大书店及图书馆也有华清远见出版的畅销嵌入式专业图书,了解一下相信对你有帮助!

嵌入式开发学习步骤

自己买个板子,光碟里就有教程

php or 嵌入式

PHP和嵌入式都是最近比较热门的技术,技术本身并没有好坏优劣之分,究竟选择哪个还是要根据你自身的基础和情况来定。建议你个个击破,分别去详细地了解一下PHP和嵌入式(可以从技术难度、就业地域、就业难度和就业薪水等方面),然后再综合决定。如果你想了解关于嵌入式的更多东西,可以直接向凌阳教育咨询,凌阳教育的咨询师不仅懂技术,而且还有耐心,相信你会从我们这里获得很好的帮助。

请问嵌入式软件工程师具体要学习什么内容

绝大部分都是围绕着linux。比如内核裁剪,在Linux系统中开发应用软件等。还有一部分是了解硬件知识——这个跟开发的产品有很大的关系。不同的产品使用不同的硬件,也就对应着不同的驱动。比如flash读写、寄存器读写等等。国内的嵌入式软件工程师就是负责调用硬件的SDK完成业务功能的开发;台湾的嵌入式软件工程师负责硬件SDK的开发;美国的嵌入式软件工程师负责芯片的驱动接口开发,为台湾厂商提供硬件的使用DEMO。所以大陆的嵌入式开发就是码农的工作,奴隶层的工作,没啥。

嵌入式开发和底层开发有什么区别两者的概念是什么

楼上的说不错~路过 又增长见识了~

搞嵌入式开发是什么人

嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、BoardSupportPackage(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果这类人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以软件研发人员完全不用担心在嵌入式市场上的无用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是趋势。嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。做软件实际上有高下之分,开发语言从机器语言、汇编到C、C,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?还是门槛,比如月薪15k的Linux嵌入式开发职位,门槛就有Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品,而Java的开发者却仅仅是会使用名叫Java的语言工具,始终高高飘在众多层次之上,开发项目非常快,甚至可以不知道OSI模型,很可能自始至终都是软件蓝领。嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识。为进入外企或者出国做准备。未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑)工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。经济型闪存将会成为嵌入式市场的一个方向。

我的目标是学习嵌入式,单片机已经学习半年了, 不知道下一步该怎么办了

记住 学嵌入式 核心是学OS 不然你永远在单片机范畴中 无论你用什么CPU

嵌入式软件方向发展

如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式LinuxARM方向,关于这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。所以自学的话你可以尝试以下路线:(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:谭浩强的很不错,《TheCProgrammingLanguage》这本经典的教材是老外写的,也有中译版本。(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。推荐书籍:《UNIX环境高级编程》(第2版)(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。(6)驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

我是很烂的本科计算机专业大四的学生,想问怎么学习好嵌入式linux?很难学吗?求高人或者去培训班的人回答

自己学习吧,不用培训的。linux我感觉是很有前途的,毕竟windows安全性差得多。好好学,晚上有视频教程的,自己多钻研,自己学应该没问题的

嵌入式开发linux的好还是wince的好?

我并不赞同单独的说谁更好首先要明确你的评定标准如果从赚钱角度来说现在做Linux的人很多,WinCE偏少,收入上做WinCE不会比Linux少的最赚钱的一定是商业利润最大且做的人少的从产品开发角度来说如果是消费类电子,最好用Windowsembedded系统,目前绝大多数手持GPS,PDA都是WinCE系统的,手机方面有多普达、三星的windowsmobile,在业内也是高端手机平台。为什么会选择WinCE而不是Linux?因为应用开发方便,且会windows平台应用开发的人很多,成本很低,并且可以与windows桌面系统同步(Activesync)。所以从这个角度,WinCE产品无疑是他们开发产品的最佳选择。但是对于一些通信,工控等行业,因为WinCE的实时性确实不能达到要求,所以绝大部分人不会采用WinCE的系统.所以WinCE和Linux针对的产品市场其实是有区别的,并不是一个全线战争的局面从做技术的角度来说WinCE确实不适合想深入学习技术的人入门,但是原因绝对不是所谓WinCE太"简单"。WinCE很多是延续了桌面版Windows系统的概念,同时也有很多未开源的代码,所以很多时候会被卡住,而Linux是全公开源码的,只有你有毅力和决心,你可以看完所有的源码WinCE之所以被人称作“简单”,是因为很多都是微软帮你做好了的。这里就有一个问题。其实简单的不是系统本身,而是你的开发过程。现在WinCE6已经开放了很多源码,都是很好的学习范本,从系统构建角度来说,WinCE系统结构不会比Linux要“简单”。所以学嵌入式系统和驱动开发,可以从Linux开始,因为Linux全开源,而且低级的linux版本系统很简单,非常适合学习操作系统原理及驱动开发。WinCE的难点在于你要熟悉微软给你的一些接口,就好比你要写应用程序需要知道不少API一样。世上无易事,只怕不用功世上无难事,只怕有心人

嵌入式高手请进 软件 硬件

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

所谓的linux嵌入式开发是在可视化界面下的,还是在单纯的命令行下的,比如说 linux c编程...?

都可以,看你的习惯了,编程的话大都要交叉编译,在板子上编写编译C程序也可以,就是麻烦点

做linux嵌入式入门需要学什么

需要学习很多课程,自学的话不太容易C语言高级编程Linux操作系统的使用嵌入式LinuxC/C++高级编程技术嵌入式Linux开发环境嵌入式Linux程序设计嵌入式Linux高级应用编程Shell脚本编程ARM体系结构与开发嵌入式Linux内核开发嵌入式Linux驱动开发嵌入式GUI(QT)开发嵌入式Linux系统裁剪与移植项目实训(智能家居、门禁控制系统、多功能手持导航产品(PND)、数码相框)这是北京卓越拓创嵌入式软件培训学校的课程,你可以参考一下。

急求嵌入式linux操作系统的学习入门问题

LINUX——安装 ——命令——管理——安装包——服务器——移植——安全 Linux路还很长 等你拿到RHCE 已经NB了

什么教程适合嵌入式linux入门

关于这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。所以你可以尝试以下路线:(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:《TheCProgrammingLanguage》这本经典的教材是老外写的,也有中译版本。(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。推荐书籍:《UNIX环境高级编程》(第2版)(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。(6)驱动开发linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

嵌入式软件工程师主要做什么工作?回答能具体点吗?谢谢!

随着移动互联网的普及与发展,手机应用不断深入我们生活的方方面面,移动系统和软件应用的开发领域,成为了未来具有潜力的行业之一,合格的软件人才在任何企业都具有不可替代的竞争优势 。选择江西新华电脑学院软件技术工程师专业,你将学习:网络安全基础、Dreamweaver网页设计、Photoshop网页效果图制作、Window Server 2008服务、器操作系统和活动目录、C语言、SQL Server2005数据库、设计和高级查询、HTML5+CSS3、JavaScript、jQuery高级编程、动态网页设计PHP+MYSQL、Linux服务器操作系统、数据结构软件工程、JAVA面向对象程序设计、oracle数据库、J2EE服务器端高级编程、手机APP视觉设计、APP应用程序开发等。

从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类?

BootLoader-》硬件驱动开发-》操作系统层-》用户应用软件;对应的开发语言常用为:汇编-》C、C++-》Java/C++

嵌入式到底是什么东西

书的话我推荐《嵌入式linux应用开发完全手册》,很不错,你有什么问题可以问我,我通信大三目前也在研究嵌入式,步骤大致如下:第一步: 嵌入式开发 pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。第二步: SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用arm芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。Arm9第三步: SOC设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计.能做到这步,已经不属于平凡的技术人员。arm9开发板软件道路:第一步:bootloader的编写,修改, 通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码。第二步:系统移植, 驱动开发, 我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.操作系统是整个计算机科学的核心,熟悉 kernel实属不易,kernel, 驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API.. understanding linux kernel , linux device driver 都是不可多得的好书,值得一看。第三步:应用程序的编写,各种GUI的移植,qt , minigui都被大量采用,两种思想都类似,熟悉一种就可以。软件道路中,驱动系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心。嵌入式开发,软硬结合,因为硬件条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验,也许是解决问题的必由之路

懂“嵌入式”电子信息工程专业的进!

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

常见嵌入式系统有哪些

嵌入式系统(Embedded System),是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。嵌入式系统常被用于高效控制许多常见设备,被嵌入的系统通常是包含数字硬件和机械部件的完整设备,例如汽车的防锁死刹车系统。相反,通用计算机如个人电脑则设计灵活,可以智能处理各式各样的运算情况,以满足广大终端用户不同的需要。现代嵌入式系统通常是基于微控制器(如含集成内存和/或外设接口的中央处理单元)的,但在较复杂的系统中普通微处理器(使用外部存储芯片和外设接口电路)也很常见。通用型处理器、专门进行某类计算的处理器、为手持应用订制设计的处理器等,都可能应用到嵌入式系统。常见的专用处理器有数字信号处理器。由于嵌入式系统专用于特定的任务,设计工程师可以对其进行优化,以减小产品的尺寸和成本,并提高可靠性和性能。一些嵌入式系统是批量生产的,受益于规模经济。嵌入式系统应用于从数字手表和MP3播放器等便携式设备,到交通灯、工厂控制器等大型固定设备,以及混合动力汽车、磁共振成像和航空电子设备等复杂系统。其复杂性范围广泛,从低复杂性的单个微控制器芯片到高复杂性的安装在大型机箱或机箱内的多个单元、外围设备和网络。历

嵌入式操作系统有哪些

嵌入式实时操作系统C/OS-II、嵌入式Linux、Windows Embedded、VxWorks等。嵌入式操作系统是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。嵌入式操作系统特点:1、系统内核小:由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的OSE分布式系统,内核只有5K。2、专用性强:嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。3、系统精简:嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。4、高实时性:高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。5、多任务的操作系统:嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专用库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。6、需要开发工具和环境:嵌入式系统开发需要开发工具和环境。由于其本身不具备自主开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

学习嵌入式开发要学习哪些知识?

第1阶段零基础入门第2阶段Linux系统管理&shell编程第3阶段百万级访问量集群实战第4阶段千万级访问量核心集群实战第5阶段一切核心技术的底层支持:云计算集群第6阶段大数据运维第7阶段Python自动化和指导

计算机科学与技术嵌入式培养是什么意思?

嵌入式开发就是做单片机开发,就是微型芯片毕桥控制技术,应用很广,前途不错的.。主干学科:计算机科学与技术。主要课程:电路原理、模拟电子技术、数字逻培宴辑、数字分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构、操作系统等。主要实践性教学环节:包括电子工艺实习、硬件部件设计及调试、计算机基础训练、课程设计、计算机工程实践、生产实习、毕业设计(论文)。该专业前景非常好,现在这方面的人才短缺。而且做这方面的越有经验越吃香。不过相对来说,嵌入式需要的硬件设施条件比较高,我们很多时候研究手中猛不起,所以显得门槛较高。学嵌入式强调以下几方面的知识,若你觉得没问题,那就行:1.汇编语言2.计算机算法3.Linux平台比较熟悉4.组成原理呀,操作系统方面知识要很熟5.现代嵌入式逐渐向网络方面发展,不妨也多学点网络方面知识希望采纳

嵌入式操作系统Symbian简介

Symbian OS是代表全球智能手机行业标准的操作系统 目前已经被很多世界领先的手机制造商所采用 包括摩托罗拉 诺基亚 三星 西门子 和索尼爱立信等公司   美国在线总经理 副总裁Bill Schwebel说 通过成为Symbian 白金计划的伙伴 我们就可以更加容易 更加高效地向使用Symbian 系统的占世界 %的手机制造商们配置范围更广的媒体和娱乐内容 ……另外 我们也很兴奋得到这个机会 可以通过这一伙伴关系提供更强大的无线即时信使(AIM)和ICQ服务 为我们的用户创造更多的机会使用手机的即时消息服务   Symbian伙伴联盟的副总裁Gilles Allain说 越来越多的手机用户不再仅仅为无线通信目的而使用手机 而且还包括使用其娱乐和搜集信息的功能 美国在线成为Symbian白金计划的伙伴 使我们有权使用基于品牌的和世界领先的两大最活跃的即时消息服务商的内容服务   AIM和ICQ移动软件能够让移动用户访问其手机地址簿中的联系人名单 在任何时候都可以了解到哪位在线 可以和谁聊天 搜索新朋友和老朋友并且收发信息   T 文本输入软件 或者称之为 智能文本输入软件 通过其为用户提供快捷的用手机输入文本和字符的方法 即每个字母只需按键一次 使得用户可以使用无线通信服务 例如SMS(短消息服务) 移动即时消息和电子邮件服务   美国在线也是全球网络内容服务供应商中的领头羊 其服务包括实事新闻 数字城市(当地城市指南) MapQuest(测绘及导航) AOL Moviefone(电影信息及门票)等   Symbian白金伙伴计划的简介   加入Symbian白金伙伴计划的公司所拥有的技术或战略地位 对围绕Symbian 操作系统的移动计算技术的成功至关重要 参与白金伙伴计划的成员也获益良多 从一系列商业服务 包括技术支持 联合营销机会和获得Symbian OS源代码的特权 到一个精诚协作的合作伙伴支持团队 不一而足   Symbian简介 lishixinzhi/Article/program/yd/201401/30241

单片机 嵌入式 C语言, 求 3361AS数码管 的原理图?一定采纳

(转)测试一下就知道了,同测试普通半导体二极管一样。注意!万用表应放在R×10K档,因为R×1K档测不出数码管的正反向电阻值。对于共阴极的数码管,红表笔接数码管的“-”,黑表笔分别接其他各脚。测共阳极的数码管时,黑表笔接数码管的vDD,红表笔接其他各脚。另一种测试法,用两节一号电池串联,对于共阴极的数码管,电池的负极接数码管的“-”,电池的正极分别接其他各脚。对于共阳极的数码管,电池的正极接数码管的VDD,电池的负极分别接其他各脚,看各段是否点亮。对于不明型号不知管脚排列的数码管,用第一种方法找到共用点,用第二种方法测试出各笔段a-g、Dp、H等

单片机 嵌入式 电源原理图,想问一下L1电感为什么要耦合?什么作用??一定采纳

L1L2用来抑制共模干扰。c3,c4是瓷片电容,c1,c2是电解电容。电解电容对于高频滤波没有小瓷片电容效果好。

嵌入式中 #define MMU_Fll_ACCESS (3

aloevera63——> 正解

大学嵌入式专业学习什么

硬件就是单片机那些,开始51,后面可能会带你搞STM32,或者ARM,软件就是C了,好好学,大有可为。尤其在现在这个物联网的大环境下!加油小伙子!

简述嵌入式系统设计中抗电磁干扰技术

目前对于许多流行的手机(尤其是翻盖型手机)而言,手机的彩色LCD、OLED显示屏或相机模块CMOS传感器等部件,都是通过柔性电路或长走线PCB与基带控制器相连的,这些连接线会受到由天线辐射出的寄生GSM/CDMA频率的干扰。同时,由于高分辨率CMOS传感器和TFT模块的引入,数字信号要在更高的频率上工作,这些连接线会像天线一样产生EMI干扰或可能造成ESD危险事件。上述这种EMI及ESD干扰均会破坏视频信号的完整性,甚至损坏基带控制器电路。受紧凑设计趋势的推动,考虑到电路板空间、手机工作频率上的高滤波性能以及保存信号完整性等设计约束,分立滤波器不能为解决方案提供任何空间节省,而且只能提供针对窄带衰减的有限滤波性能,因此目前大多数设计者都使用集成的EMI滤波器。随着手机及相机等便携式设备中LCD显示屏分辨率的提高,视频信号的传输速率也越来越高,传统的滤波器方案已慢慢达到它们的技术极限。在配有高分辨率显示屏及嵌入式相机的手机中,信号是通过特定频率(取决于分辨率)从基带ASIC被传送至 LCD及内嵌的相机上。视频分辨率越高,数据工作的频率亦越高。比如,对于30至60万像素的相机模块来说,时钟频率大约介于6至12MHz之间。因此建议将滤波器(上下)截止频率选择在30至50MHz范围内。随着分辨率的提高到数百万像素,时钟频率已超过60MHz,这要求滤波器的截止频率高达 300MHz。

怎样学好嵌入式?

嵌入式如何入门学习嵌入式,应该从哪里开始学习,今天由创客学院的老师来为大家讲一讲。1)学习 Linux系统安装、 常用命令、应用程序安装。2) 学习 Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX 网络编程》,Rechard Stevens 写的,C 高手大都学习过 《C 和指针》、《C 缺陷与陷阱》、《高质量C/C++编程指南》、《C 专家编程》、《The C programming Language》3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!6)ARM 体系结构,其中有汇编。7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。8)ARM + Linux 应用程序开发。(前提是要有开发板)到此,你勉强算是在 嵌入式Linux 这个行业有了初步入门了吧, 但遗憾的是这还远远不够!这是我现在的水平。告诉你我是学软件专业,已经学习一年 嵌入式Linux 了,我现在找个工作都难,还没找到。以下是我认为成为高手的学习方向。9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。10)Linux 下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。11)TCP/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。12)有了这些东西,拿下 Linux 驱动 已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。到此, 你已经算是 嵌入式Linux 的中级人物了,本科生工资在4000-5500 不等。13)音频、视频的解码译码技术你得学。14)各种 IC ,各种 bootloader 你能够参与其开发设计。15)自行设计开发新产品,新技术。我认为到此你已经是一个世界级的嵌入式Linux 人物了,工资待遇我已经不用说了。这些东西要靠自学入门,说实话不太现实,嵌入式入门比较高,要有心里准备,进培训机构学习是有必要的,除非你有亲戚朋友手把手教你。但不一定就意味着培训了你就真能学好,能找到很好的工作,要因人而异,能入门就算不错了。主要还是靠个人,还有就是自己必须要有一块开发板,你必须投入很多钱,因为还有很多的书籍你也得买。还有一点,自己必须得喜欢专研。要不你不可能学好!嵌入式学习要一步一步走,才能走的扎实,十年磨一剑,百年磨一针。希望以上内容能对喜爱嵌入式的朋友们有所帮助。

DSP嵌入式无线通信系统开发实例精讲的目录

第一篇 DSP基础知识第1章 DSP基本结构与指令系统 21.1 DSP处理器的特点与分类 21.2 DSP应用领域及选型 41.2.1 DSP应用领域 41.2.2 DSP芯片选型 41.3 DSP的硬件结构 61.4 DSP指令 211.5 本章小结 30第2章 CCS集成开发工具 312.1 CCS的特点及其安装 312.1.1 CCS功能简介 312.1.2 CCS的组成单元 322.1.3 为CCS安装设备驱动程序 332.2 CSS基本功能及其使用方法 372.2.1 查看与修改存储器/变量 372.2.2 使用断点工具 422.2.3 使用探针点工具 442.2.4 使用图形工具 462.3 本章小结 52第3章 线性汇编与代码优化 533.1 线性汇编 533.1.1 线性汇编语句的基本结构 533.1.2 线性汇编中的伪指令 543.1.3 汇编优化器选项 563.2 代码优化 563.2.1 程序剖析工具 573.3 通过线性汇编优化汇编代码 633.3.1 编写并行代码 633.3.2 数据打包处理技术 673.3.3 软件流水 703.3.4 多周期循环的模编排 783.3.5 循环传递路径 883.3.6 循环中的If-Then-Else语句 933.3.7 循环展开 973.3.8 生命太长问题 1013.3.9 消除冗余取 1053.3.10 避免存储器访问冲突 1103.3.11 软件流水外环 1183.3.12 与内环一起有条件地3.3.12 执行外环 1203.4 本章小结 127第4章 DSP/BIOS系统与外设接口第4章 设计 1284.1 DSP/BIOS实时操作系统 1284.1.1 DSP/BIOS概述 1284.1.2 DSP/BIOS GUI配置 1294.2.3 DSP/BIOS编程实例 1314.2 DSP集成外设概述 1334.3 DSP的HPI接口设计 1354.3.1 HPI硬件介绍 1364.3.2 HPI接口及其应用 1374.3.3 BIOS中HPI设置实例 1434.4 DSP的McBSP接口设计 1444.4.1 McBSP硬件介绍 1444.4.2 McBSP接口及应用 1454.4.3 BIOS中McBSP设置实例 1514.5 DSP的DMA控制器设计 1544.5.1 DMA硬件介绍 1554.5.2 DMA控制器设计及应用 1564.5.3 BIOS中DMA设置实例 1634.6 本章小结 168第二篇 DSP无线通信开发技术与实例第5章 无线通信系统设计专业知识 1705.1 无线通信系统简介 1705.1.1 无线电频谱资源管理 1705.1.2 无线通信系统组成 1725.1.3 无线通信系统分类 1735.1.4 无线通信系统应用领域 1735.2 无线通信系统的硬件实现5.2 技术 1745.2.1 传输距离设计 1745.2.2 输入端口设计分析 1755.2.3 硬件设计的注意事项 1765.3 无线通信系统的软件设计5.3 技术 1775.3.1 无线通信流程设计 1775.3.2 系统的低功耗时序设计 1785.3.3 微控制器的抗干扰编程 1805.4 无线通信系统软硬件协同5.4 设计 182第6章 DSP红外成像系统设计第6章 实例 1856.1 系统说明 1856.2 硬件电路设计 1866.2.1 硬件总体结构 1866.2.2 电源模块 1876.2.3 复位电路 1886.2.4 时钟电路 1896.2.5 DSP及其外围电路 1906.2.6 FPGA及其外围电路 1906.2.7 通用串行接口电路 1916.2.8 视频编码器电路 1916.2.9 A/D模块 1926.3 系统软件设计 1926.3.1 软件总体结构 1926.3.2 软件工作流程 1926.3.3 图像处理算法 1946.4 程序代码与分析 1986.4.1 EDMA配置代码 1986.4.2 Emif口配置代码 2006.4.3 主程序与注释 2016.4.4 主要红外图像处理算法函数6.4.4 代码 2046.5 系统调试 211第7章 RS码的DSP设计实现 2127.1 RS码概述 2127.2 RS码算法原理及DSP实现 2137.2.1 RS码的编码算法 2137.2.2 RS码的译码算法 2217.3 RS码程序代码与注释 2277.3.1 RS码编码 2277.3.2 RS码译码 2297.4 代码说明及优化 2367.5 实例总结 238第8章 无线宽带通信接收机设计第8章 实例 2398.1 宽带通信技术概述 2398.1.1 宽带通信的定义 2398.1.2 宽带通信的特点 2408.1.3 宽带通信的关键技术 2408.2 常见的无线宽带系统 2408.2.1 基于IEEE 802.11协议的8.2.1 宽带通信系统(WiFi) 2408.2.2 基于IEEE 802.16协议的8.2.2 宽带通信系统(WiMax) 2418.2.3 其他宽带通信系统 2428.3 宽带系统组成及DSP实现 2428.3.1 Ti公司TMS320C6416DSP8.3.1 性能分析 2428.3.2 信号到达检测 2438.3.3 频偏估计 2458.3.4 信号同步 2468.3.5 信道估计模块 2488.4 无线宽带通信系统硬件平台 2498.4.1 硬件总体结构 2498.4.2 电源模块 2508.4.3 DSP内核电路 2508.4.4 DSP EMIFA口及SDRAM8.4.4 电路 2508.4.5 DSP EMIFB口及Flash8.4.5 电路 2548.4.6 DSP MCBSP串行口 2558.5 程序代码 2568.5.1 信号到达检测模块 2568.5.2 频偏估计模块 2578.5.3 信号同步模块 2598.5.4 信道估计模块 2618.6 实例总结 263第9章 OFDM通信系统设计实例 2649.1 OFDM技术概述 2649.1.1 OFDM系统的发展现状 2649.1.2 OFDM系统的优缺点 2659.1.3 OFDM系统的关键技术 2659.2 OFDM系统组成 2669.2.1 Turbo码模块 2679.2.2 QPSK数字调制 2699.2.3 频偏估计 2709.2.4 多载波调制 2719.2.5 降峰均比 2729.3 OFDM系统硬件平台 2739.3.1 硬件总体结构 2739.3.2 电源模块 2749.3.3 DSP内核电路 2749.3.4 DSP EMIFA口及SDRAM电路 2749.3.5 DSP EMIFB口及Flash电路 2749.3.6 DSP MCBSP电路 2789.4 OFDM系统的软件设计 2809.4.1 软件总体框架设计 2809.4.2 数据IO模块设计 2809.4.3 BIOS设计 2819.4.4 算法模块设计 2819.5 程序代码与分析 2829.5.1 EDMA配置代码 2829.5.2 EMIF口配置代码 2839.5.3 主流程代码 2849.5.4 主要算法函数代码 2889.6 实例总结 296第10章 LDPC码的DSP设计第10章 实现 29710.1 信道编码与LDPC码 29710.1.1 信道编码理论 29710.1.2 LDPC码的提出与发展 29910.2 LDPC码的基础原理 29910.2.1 LDPC码定义及其描述 29910.2.2 Tanner图表示及非正则10.2.2 LDPC码 30010.2.3 LDPC码的译码 30110.2.4 AWGN信道下的译码算法10.2.2 描述 30410.3 LDPC码的DSP快速实现10.3 算法 30410.3.1 LDPC码的快速译码算法 30410.3.2 LDPC码的快速编码算法 30610.3.3 DSP实现时考虑的问题 30710.4 LDPC码的DSP程序代码10.3 设计 30810.4.1 LDPC码编码程序代码 30810.4.2 LDPC码译码程序代码 31110.5 实例总结 317

嵌入式系统及应用和dsp原理应用哪个简单一点?

嵌入式容易些,一般讲cpu的共性部分dsp芯片是嵌入式系统的选择之一,有比较明显的特色,属于在嵌入式中比较专用的部分dsp芯片应用的主要特点是数据处理和算法,这些是dsp常用的指示,而嵌入式对这些要求不是那么多和那么高。可以考虑学习嵌入式系统,然后在用到的情况下去学习dsp的异同

哪些嵌入式操作系统符合POSIX标准?

ucosII,vxworks有提供符合posix标准的版本

c语言 嵌入式 施密特触发器是什么?什么原理功能呢?单片机IO引脚的施密特触发功能怎么理解?一定采纳

施密特触发器的接收端电平只有达到某个阈值时,才会在输出端将对应的电平输出。例如:阈值是4.5伏,当接收端是0.5伏时,输出0,当触发器的接收端是4.0伏时,输出端还是0,只有当接收端大于等于4.5伏时,输出端才会变成1。而普通的触发器,可能在输入端为2.5伏时,输出已经变成了1。由此你可以看出,施密特触发器能大量的减少干扰造成的误动作。

嵌入式方向考研还是就业好?

这两年,智能穿戴设备、智能家居、无人机、VR/AR、智能机器人等新兴智能硬件产品引爆眼球,这也使得它们所运用的嵌入式技术,迎来了前所未有的发展“钱”景和机遇。随着互联网向物联网时代的转变,嵌入式技术在通信、网络、工控、医疗、电子等领域也将发挥越来越重要的作用。建议做嵌入式linux。工作这种情况要慢慢熬,就目前来看,最近嵌入式linux比较火,对于你有C基础的来说,学习这些至少有底子,出来月入十几K没撒大问题,学习嵌入式或者Android底层你可以先去看看星创客,觉得合适你就去学一下比较好

arm嵌入式系统linux

你要问什么啊?

「干货」嵌入式Linux系统移植的四大步骤(上)

在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命令就可以完成非常复杂的功能,可是我们有没有想过,为什么会有这样的效果? 如果没有去追问,只是机械地完成,并且看到实验效果,这样做其实并没有真正的掌握系统移植的本质。 在做每一个步骤的时候, 首先问问自己,为什么要这样做,然后再问问自己正在做什么? 搞明白这几个问题,我觉得就差不多了,以后不管更换什么平台,什么芯片,什么开发环境,你都不会迷糊,很快就会上手。对于嵌入式的学习方法,我个人方法就是:从宏观上把握(解决为什么的问题),微观上研究(解决正在做什么的问题),下面以自己学习的arm-cortex_a8开发板为目标,介绍下自己的学习方法和经验。 嵌入式Linux系统移植主要由四大部分组成: 一、搭建交叉开发环境 二、bootloader的选择和移植 三、kernel的配置、编译、和移植 四、根文件系统的制作 第一部分:搭建交叉开发环境 先介绍第一分部的内容:搭建交叉开发环境,首先必须得思考两个问题,什么是交叉环境? 为什么需要搭建交叉环境? 先回答第一个问题,在嵌入式开发中,交叉开发是很重要的一个概念,开发的第一个环节就是搭建环境,第一步不能完成,后面的步骤从无谈起,这里所说的交叉开发环境主要指的是:在开发主机上(通常是我的pc机)开发出能够在目标机(通常是我们的开发板)上运行的程序。嵌入式比较特殊的是不能在目标机上开发程序(狭义上来说),因为对于一个原始的开发板,在没有任何程序的情况下它根本都跑不起来,为了让它能够跑起来,我们还必须要借助pc机进行烧录程序等相关工作,开发板才能跑起来,这里的pc机就是我们说的开发主机,想想如果没有开发主机,我们的目标机基本上就是无法开发,这也就是电子行业的一句名言:搞电子,说白了,就是玩电脑! 然后回答第二个问题,为什么需要交叉开发环境?主要原因有以下几点: 原因 1: 嵌入式系统的硬件资源有很多限制,比如cpu主频相对较低,内存容量较小等,想想让几百MHZ主频的MCU去编译一个Linux kernel会让我们等的不耐烦,相对来说,pc机的速度更快,硬件资源更加丰富,因此利用pc机进行开发会提高开发效率。 原因2: 嵌入式系统MCU体系结构和指令集不同,因此需要安装交叉编译工具进行编译,这样编译的目标程序才能够在相应的平台上比如:ARM、MIPS、 POWEPC上正常运行。 交叉开发环境的硬件组成主要由以下几大部分 : 1.开发主机 2.目标机(开发板) 3.二者的链接介质,常用的主要有3种方式:(1)串口线 (2)USB线 (3)网线 对应的硬件介质,还必须要有相应的软件“介质”支持: 1.对于串口,通常用的有串口调试助手,putty工具等,工具很多,功能都差不多,会用一两款就可以; 2.对于USB线,当然必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成; 3.对于网线,则必须要有网络协议支持才可以, 常用的服务主要两个 第一:tftp服务: 主要用于实现文件的下载,比如开发调试的过程中,主要用tftp把要测试的bootloader、kernel和文件系统直接下载到内存中运行,而不需要预先烧录到Flash芯片中,一方面,在测试的过程中,往往需要频繁的下载,如果每次把这些要测试的文件都烧录到Flash中然后再运行也可以,但是缺点是:过程比较麻烦,而且Flash的擦写次数是有限的;另外一方面:测试的目的就是把这些目标文件加载到内存中直接运行就可以了,而tftp就刚好能够实现这样的功能,因此,更没有必要把这些文件都烧录到Flash中去。 第二: nfs服务: 主要用于实现网络文件的挂载,实际上是实现网络文件的共享,在开发的过程中,通常在系统移植的最后一步会制作文件系统,那么这是可以把制作好的文件系统放置在我们开发主机PC的相应位置,开发板通过nfs服务进行挂载,从而测试我们制作的文件系统是否正确,在整个过程中并不需要把文件系统烧录到Flash中去,而且挂载是自动进行挂载的,bootload启动后,kernel运行起来后会根据我们设置的启动参数进行自动挂载,因此,对于开发测试来讲,这种方式非常的方便,能够提高开发效率。 另外,还有一个名字叫 samba 的服务也比较重要,主要用于文件的共享,这里说的共享和nfs的文件共享不是同一个概念,nfs的共享是实现网络文件的共享,而samba实现的是开发主机上 Windows主机和Linux虚拟机之间的文件共享,是一种跨平台的文件共享 ,方便的实现文件的传输。 以上这几种开发的工具在嵌入式开发中是必备的工具,对于嵌入式开发的效率提高做出了伟大的贡献,因此,要对这几个工具熟练使用,这样你的开发效率会提高很多。等测试完成以后,就会把相应的目标文件烧录到Flash中去,也就是等发布产品的时候才做的事情,因此对于开发人员来说,所有的工作永远是测试。 通过前面的工作,我们已经准备好了交叉开发环境的硬件部分和一部分软件,最后还缺少交叉编译器,读者可能会有疑问,为什么要用交叉编译器?前面已经讲过,交叉开发环境必然会用到交叉编译工具,通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,开发主机PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。相对于交叉编译,平常做的编译叫本地编译,也就是在当前平台编译,编译得到的程序也是在本地执行。用来编译这种跨平台程序的编译器就叫交叉编译器,相对来说,用来做本地编译的工具就叫本地编译器。所以要生成在目标机上运行的程序,必须要用交叉编译工具链来完成。 这里又有一个问题,不就是一个交叉编译工具吗?为什么又叫交叉工具链呢?原因很简单,程序不能光编译一下就可以运行,还得进行汇编和链接等过程,同时还需要进行调试,对于一个很大工程,还需要进行工程管理等等,所以,这里 说的交叉编译工具是一个由 编译器、连接器和解释器 组成的综合开发环境,交叉编译工具链主要由binutils(主要包括汇编程序as和链接程序ld)、gcc(为GNU系统提供C编译器)和glibc(一些基本的C函数和其他函数的定义) 3个部分组成。有时为了减小libc库的大小,也可以用别的 c 库来代替 glibc,例如 uClibc、dietlibc 和 newlib。 那么,如何得到一个交叉工具链呢?是从网上下载一个“程序”然后安装就可以使用了吗?回答这个问题之前先思考这样一个问题,我们的交叉工具链顾名思义就是在PC机上编译出能够在我们目标开发平台比如ARM上运行的程序,这里就又有一个问题了,我们的ARM处理器型号非常多,难道有专门针对我们某一款的交叉工具链吗?若果有的话,可以想一想,这么多处理器平台,每个平台专门定制一个交叉工具链放在网络上,然后供大家去下载,想想可能需要找很久才能找到适合你的编译器,显然这种做法不太合理,且浪费资源!因此,要得到一个交叉工具链,就像我们移植一个Linux内核一样,我们只关心我们需要的东西,编译我们需要的东西在我们的平台上运行,不需要的东西我们不选择不编译,所以,交叉工具链的制作方法和系统移植有着很多相似的地方,也就是说,交叉开发工具是一个支持很多平台的工具集的集合(类似于Linux源码),然后我们只需从这些工具集中找出跟我们平台相关的工具就行了,那么如何才能找到跟我们的平台相关的工具,这就是涉及到一个如何制作交叉工具链的问题了。 通常构建交叉工具链有如下三种方法: 方法一 : 分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用下列的方法二构建交叉工具链。 方法二: 通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。 方法三 : 直接通过网上下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的,没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名其妙的错误,建议读者慎用此方法。 crosstool-ng是一个脚本工具,可以制作出适合不同平台的交叉编译工具链,在进行制作之前要安装一下软件: $ sudo apt-get install g++ libncurses5-dev bison flex texinfo automake libtool patch gcj cvs cvsd gawk crosstool脚本工具可以在http://ymorin.is-a-geek.org/projects/crosstool下载到本地,然后解压,接下来就是进行安装配置了,这个配置优点类似内核的配置。主要的过程有以下几点: 1. 设定源码包路径和交叉编译器的安装路径 2. 修改交叉编译器针对的构架 3. 增加编译时的并行进程数,以增加运行效率,加快编译,因为这个编译会比较慢。 4. 关闭JAVA编译器 ,减少编译时间 5. 编译 6. 添加环境变量 7. 刷新环境变量。 8. 测试交叉工具链 到此,嵌入式Linux系统移植四大部分的第一部分工作全部完成,接下来可以进行后续的开发了。 第二部分:bootloader的选择和移植 01 Boot Loader 概念 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。 02 为什么系统移植之前要先移植BootLoader? BootLoader的任务是引导操作系统,所谓引导操作系统,就是启动内核,让内核运行就是把内核加载到内存RAM中去运行,那先问两个问题:第一个问题,是谁把内核搬到内存中去运行?第二个问题:我们说的内存是SDRAM,大家都知道,这种内存和SRAM不同,最大的不同就是SRAM只要系统上电就可以运行,而SDRAM需要软件进行初始化才能运行,那么在把内核搬运到内存运行之前必须要先初始化内存吧,那么内存是由谁来初始化的呢?其实这两件事情都是由bootloader来干的,目的是为内核的运行准备好软硬件环境,没有bootloadr我们的系统当然不能跑起来。 03 bootloader的分类 首先更正一个错误的说法,很多人说bootloader就是U-boot,这种说法是错误的,确切来说是u-boot是bootloader的一种。也就是说bootloader具有很多种类, 由上图可以看出,不同的bootloader具有不同的使用范围,其中最令人瞩目的就是有一个叫U-Boot的bootloader,是一个通用的引导程序,而且同时支持X86、ARM和PowerPC等多种处理器架构。U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目,是由德国DENX小组开发的用于多种嵌入式CPU的bootloader程序,对于Linux的开发,德国的u-boot做出了巨大的贡献,而且是开源的。 u-boot具有以下特点: ① 开放源码; ② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④ 较高的可靠性和稳定性; ⑤ 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦ 较为丰富的开发调试文档与强大的网络技术支持; 其实,把u-boot可以理解为是一个小型的操作系统。 04 u-boot的目录结构 * board 目标板相关文件,主要包含SDRAM、FLASH驱动; * common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测; * cpu 与处理器相关的文件。如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件; * driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好) * doc U-Boot的说明文档; * examples可在U-Boot下运行的示例程序;如hello_world.c,timer.c; * include U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件; * lib_xxx 处理器体系相关的文件,如lib_ppc, lib_arm目录分别包含与PowerPC、ARM体系结构相关的文件; * net 与网络功能相关的文件目录,如bootp,nfs,tftp; * post 上电自检文件目录。尚有待于进一步完善; * rtc RTC驱动程序; * tools 用于创建U-Boot S-RECORD和BIN镜像文件的工具; 05 u-boot的工作模式 U-Boot的工作模式有 启动加载模式和下载模式 。启动加载模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须工作在这种模式下,Bootloader将嵌入式操作系统从FLASH中加载到SDRAM中运行,整个过程是自动的。 下载模式 就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机中下载到目标板的SDRAM中运行,用户可以利用Bootloader提供的一些令接口来完成自己想要的操作,这种模式主要用于测试和开发。 06 u-boot的启动过程 大多数BootLoader都分为stage1和stage2两大部分,U-boot也不例外。依赖于cpu体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、 stage1(start.s代码结构) U-boot的stage1代码通常放在start.s文件中,它用汇编语言写成,其主要代码部分如下: (1) 定义入口。由于一个可执行的image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在rom(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成。 (2)设置异常向量(exception vector)。 (3)设置CPU的速度、时钟频率及中断控制寄存器。 (4)初始化内存控制器 。 (5)将rom中的程序复制到ram中。 (6)初始化堆栈 。 (7)转到ram中执行,该工作可使用指令ldrpc来完成。 2、 stage2(C语言代码部分) lib_arm/board.c中的start armboot是C语言开始的函数,也是整个启动代码中C语言的主函数,同时还是整个u-boot(armboot)的主函数,该函数主要完成如下操作: (1)调用一系列的初始化函数。 (2)初始化flash设备。 (3)初始化系统内存分配函数。 (4)如果目标系统拥有nand设备,则初始化nand设备。 (5)如果目标系统有显示设备,则初始化该类设备。 (6)初始化相关网络设备,填写ip,c地址等。 (7)进入命令循环(即整个boot的工作循环),接受用户从串口输入的命令,然后进行相应的工作。 07 基于cortex-a8的s5pc100bootloader启动过程分析 s5pc100支持两种启动方式,分别为USB启动方式和NandFlash启动方式: 1. S5PC100 USB启动过程 [1] A8 reset, 执行iROM中的程序 [2] iROM中的程序根据S5PC100的配置管脚(SW1开关4,拨到4对面),判断从哪里启动(USB) [3] iROM中的程序会初始化USB,然后等待PC机下载程序 [4] 利用DNW程序,从PC机下载SDRAM的初始化程序到iRAM中运行,初始化SDRAM [5] SDRAM初始化完毕,iROM中的程序继续接管A8, 然后等待PC下载程序(BootLoader) [6] PC利用DNW下载BootLoader到SDRAM [7] 在SDRAM中运行BootLoader 2. S5PC100 Nandflash启动过程 [1] A8 reset, 执行IROM中的程序 [2] iROM中的程序根据S5PC100的配置管脚(SW1开关4,拨到靠4那边),判断从哪里启动(Nandflash) [3] iROM中的程序驱动Nandflash [4] iROM中的程序会拷贝Nandflash前16k到iRAM [5] 前16k的程序(BootLoader前半部分)初始化SDRAM,然后拷贝完整的BootLoader到SDRAM并运行 [6] BootLoader拷贝内核到SDRAM,并运行它 [7] 内核运行起来后,挂载rootfs,并且运行系统初始化脚本 08 u-boot移植(基于cortex_a8的s5pc100为例) 1.建立自己的平台 (1).下载源码包2010.03版本,比较稳定 (2).解压后添加我们自己的平台信息,以smdkc100为参考版,移植自己s5pc100的开发板 (3).修改相应目录的文件名,和相应目录的Makefile,指定交叉工具链。 (4).编译 (5).针对我们的平台进行相应的移植,主要包括修改SDRAM的运行地址,从0x20000000 (6).“开关”相应的宏定义 (7).添加Nand和网卡的驱动代码 (8).优化go命令 (9).重新编译 make distclean(彻底删除中间文件和配置文件) make s5pc100_config(配置我们的开发板) make(编译出我们的u-boot.bin镜像文件) (10).设置环境变量,即启动参数,把编译好的u-boot下载到内存中运行,过程如下: 1. 配置开发板网络 ip地址配置: $setenv ipaddr 192.168.0.6 配置ip地址到内存的环境变量 $saveenv 保存环境变量的值到nandflash的参数区 网络测试: 在开发开发板上ping虚拟机: $ ping 192.168.0.157(虚拟机的ip地址) 如果网络测试失败,从下面几个方面检查网络: 1. 网线连接好 2. 开发板和虚拟机的ip地址是否配置在同一个网段 3. 虚拟机网络一定要采用桥接(VM--Setting-->option) 4. 连接开发板时,虚拟机需要设置成 静态ip地址 2. 在开发板上,配置tftp服务器(虚拟机)的ip地址 $setenv serverip 192.168.0.157(虚拟机的ip地址) $saveenv 3. 拷贝u-boot.bin到/tftpboot(虚拟机上的目录) 4. 通过tftp下载u-boot.bin到开发板内存 $ tftp 20008000(内存地址即可) u-boot.bin(要下载的文件名) 如果上面的命令无法正常下载: 1. serverip配置是否正确 2. tftp服务启动失败,重启tftp服务 #sudo service tftpd-hpa restart 5. 烧写u-boot.bin到nandflash的0地址 $nand erase 0(起始地址) 40000(大小) 擦出nandflash 0 - 256k的区域 $nand write 20008000((缓存u-boot.bin的内存地址) 0(nandflash上u-boot的位置) 40000(烧写大小) 6. 切换开发板的启动方式到nandflash 1. 关闭开发板 2. 把SW1的开关4拨到4的那边 3. 启动开发板,它就从nandflash启动

嵌入式行业人才需求

从事嵌入式工作有两大优势: 一是工作强度相对较低。开发企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都不同,开发人员往往疲于奔命,重复劳动; 二是搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事,所开发的产品通常是通用的,不会因客户的不同而修改,一个产品型号开发完了,往往还有较长一段空闲时间进行充电和休整。二是职业发展相对顺利。从事企业应用软件的人,工作范围广,项目变化大,日常的积累很难产生质变,容易遭遇职业瓶颈;而从事嵌入式软件的人,所涉及的专业技术范围就是那些,时间长了会越来越有经验。 从事嵌入式软件开发的好处是:1 目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。 ARM开发论坛 另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。 (3) 哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。木学院有一个叫启明星的公司开发出一个好象叫“工程e”的掌上PDA(南校区门口有广告),施工技术人员用该PDA可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师,他开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。我记得00级2+2班当年有一组同学在学Windows程序设计课程时用VC++设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个软件做成PDA,估计会有些销路(上海火车站南广场的Macdonald便使用很漂亮的PDA给用户点食品,像摸像样的)。这些PDA的硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

自动化学嵌入式单片机需要熟练运用运动控制、自控、电机吗?

你问的是哪个学校的啊?给你篇文章吧!反正不知道你问的啥啊!申明:以下并非本人心得,看了下觉得很好,拿来和大家分享,也不知道以前有没有人来发表过。 (一) 大家在准备考研时,想没想过:自己对什么感兴趣?自己以后想干什么?毕业后如何打算?如果你认真考虑了这几个问题,相信你的未来研究生生活会是充实的。但大家在本科时也确实很忙,加上了解的也不多,所以对考研的想法就是考上就好。我当时也这么想,我当时对控制的这4个二级学科也不太了解,就报了控制理论与控制工程,想着考上就行。当时真的不了解读自动化研究生具体做什么,心想就是做实验做项目吧。我顺利通过了初试,面试也可以,但选导师是由不得自己的,我联系导师晚了,所以就跟了个搞计算机集成制造(CIMS)的导师,那是我也不知道CIMS具体搞什么。总之,当时的感觉就是:总算考上了,一切OK! 但是我现在极郁闷。一是这个方向(CIMS,有的学校叫生产过程建模)跟你本科学的自动化知识没任何关系;二是这个方向表面上是搞应用,其实是纯理论,很枯燥;三是这个方向实际中很不实用,导师也没什么具体项目,所以不容易找工作。我自己感兴趣的方向其实是计算机控制与应用,但录取时有的事情是由不得自己的。请各位学弟学妹们注意了,复试中最好别选这个方向(计算机集成制造,复杂系统建模或生产过程建模),否则你会郁闷3年的。当然,如果感兴趣,也就无所谓了。 我推荐的专业是模式识别与智能系统。这个方向实用,也很热,也容易产生兴趣,就业当然OK了。大家抽时间可以想一下自己以后想从事什么样的工作,对什么感兴趣,自己的优势是什么。这样就可以做到在复试中选择导师和方向目标明确,不盲目。选择一个适合自己的研究方向是成功的关键。祝各位学弟学妹考研成功!大家如有什么问题,可给我发E-mail: yuananr@yahoo.com.cn(二)首先,电力电子与电力传动研究的是:变流技术(整流,逆变),变频器,电源技术(UPS,开关电源),谐波抑制与无功功率补偿,先进控制技术在电力电子设备中的应用。该专业所需要的基础是:电路,模电与数电,电机学,电力电子技术,计算机控制技术,信号与系统。你也许没学过其中一些课程,但读硕时可以弥补。还有,该专业动手较多。这个专业是热门专业之一,很有前途,就业时可去西门子,GE,山特等顶尖企业,该专业毕业生很受欢迎。检测技术与自动化的研究内容是:计算机硬件应用,传感器应用,嵌入式等。总之是天天和电路板打交道。该专业容易激发兴趣,当然动手能力要求很高。就业也很容易,很有钱途的。需要的基础是:模电与数电,单片机原理,数字信号处理,计算机控制技术等。就业方向是中兴,华为等IT行业,一般是硬件工程师。我的YAHOO邮箱出了问题。如有问题,发信到:yzh520@sogou.com现场总线技术(FCS)属于计算机控制的范畴,通俗的说:就是用网络把各具有智能化功能(通信,计算功能)的仪表连接起来共同执行一个功能,并且便于集中管理。这是个很不错的方向。不过你以后的方向随导师而定,现在不好说。新型电力电子系统与装置方向大概是:现在电力电子器件发展很快,例如用新的元件组成的多电平逆变电路。系统工程专业是以运筹学为基础的,与计算机硬件的应用没有关系,也很少用到控制理论。控制科学的4个二级学科中只有检测技术与自动化是完全偏硬件的。模式识别也会用到硬件,如DSP,但不是太多。双控专业是基本不用硬件的,具体随导师而定。系统工程完全与硬件没关系。(三)读研选择学校时还是要把学校的名气放第一位,但是这个学校的该专业也不要太差,起码要有博士点。例如,北大的自动化就不要报,实在太差了。机器人方面,哈工大和沈阳自动化研究所应该是最强的。控制理论和控制工程,模式识别都有机器人的方向。如果想进行机器人控制理论的研究,就报双控;如果想从事目标识别和人工智能方向,就报模式识别。(四)兴趣并不是自然产生,也是需要自己去发现和培养。侧重应用的就是模式识别和智能系统,检测技术和自动化,电力电子与电力传动。具体这些专业研究什么,我前面已经说过。还有,总是要有适量的理论研究,否则搞的应用的技术含量就不高。你可以先对这些专业具体了解一下,然后找些书看看,慢慢地就会产生兴趣了。在产生兴趣的过程中,当然还要有毅力,要坚持。最重要的途径是你现在把专业课学好,在专业课的学习过程中会发现兴趣的,那样目标就明确了,能有的放矢。专业课:电路 信号与系统 电机与拖动基础 模拟电子电路 数字逻辑电路 微机原理 自动控制原理 数字信号处理 现代控制理论 计算机网络与通信概论 这些课是自动化专业的基础,一定要努力学好。如果学扎实了,以后会比较轻松的。当然,其他的专业课:单片机 MATLAB 电力电子技术 电力拖动自动控制系统 计算机控制 电气控制与PLC 智能控制等也要尽力学好。所以,你现在只管学好这些课程就行了。只要认真学,你肯定可以发现你的兴趣。电力电子和双控区别大了。电力电子研究的是功率开关变换技术,先进控制技术在电力电子电路中的应用,谐波抑制技术。而控制理论和控制工程主要研究的是控制理论,如非线性控制、神经网络等。具体研究方向要随导师而定,并非严格按专业来界定。就业时主要取决于“你会什么,擅长什么”,例如擅长软件,而与做的论文关系不是很大。只要是电类的专业,就业都是不错的。四个专业中,从就业和实用角度说,检测技术和模式识别是最好的。我对这两个学校不了解,但知道华南理工的自控远强于华东理工,并且分数线也不算高,04年的时候还要调剂生。上海的高校对自动化专业的来说,也就是交大,其他的都不好。我觉得选择学校以以下几个原则来衡量比较好:(1)是工科较强的211重点大学 (2)所处地理位置还不错,不要太偏(3)专业的实力不是太重要,只要有博士点,具备一定的规模即可。浙大的电气工程远比上海交大强,尤其是电力电子和电力系统自动化.只要是检测专业,能跟老板做几个项目,找工作当然容易了。关键还在于老板是否有项目做。即使再好的学校和专业,跟老板没事做,找工作还是不好找。检测这个专业必须得有实际项目做的,不然真学不到真东西。模式识别主要研究方向是图像和视频处理,是理论与软件密切结合的专业.虽然理论性较强,但是与双控不同.现在的控制理论与控制工程的情况是:很多导师研究的控制理论都太超前了,给人的感觉是太空洞.因为这些控制理论在实际中根本用不上,即使用上,控制效果可能还不如PID控制.国内自动化界的最高学术期刊<自动化学报>简直跟数学学报差不多了,上面全是复杂的数学推导.因此,学生一般对双控很难产生兴趣,并且该专业就业不如其他专业.但是,具体研究方向是随导师而定,双控专业的学生也可能搞其他专业方向的研究.因此,选好导师是第一重要的!模式识别的优势是:该专业的理论研究成果比较容易实现,并且还能用于实际中,不会给人虚无飘渺的感觉,况且对软件要求较高,软件上的优势是就业时的资本.至于就业,请放心,这个专业是很不错的.在IBM和微软亚洲研究院有好多就是学模式识别的,并且现在还是从事该方向的研究.(五)最近有不少大三的朋友给我发邮件问一些事情.不少问题都是共性的,我在此说一下我的看法.(1)首先,不要太看重自动化学科的排名.我认为选择学校时,要把地理因素和学校的名气放在第一位,因为这两个个因素对就业有很关键的作用.重点学科对我们学生来说基本用处不大,用人单位也很少看这个问题,用人单位只关心人怎么样.学校的名气也是很重要的,否则很容易被用人单位第一关就淘汰掉.但是报考院校的自动化实力也不能太差,例如,北大和南大的名气虽高,但是自动化太差了,最好不要报考.一般工科较强的211重点大学的自动化都是不错的,在其中根据自己情况选择即可.(2)在网上搜索考研信息时,应以导师信息为主.跟上一个适合自己的导师才是最关键的.现在有好多导师没项目做,或者研究方向很枯燥,所以他们的学生也很郁闷.(3)大三的同学目前还是学好专业课程,打好专业基础,这是很重要的.只有通过学习专业课才会扩大对自动化学科的认识,才能不盲目.(4)信心是很重要的.想考研的同学一定要有信心,不要顾前怕后,信心是成功的关键.我认为考研复习的首要原则是:自信!遇到困难,千万不要退缩,越是艰难越要前进。数学一的复习内容较多,难度较大,因此复习时要一个个的知识点逐个突破,自己要亲自动手做题训练,善于总结。(六)航天系统很多研究所和企业都在偏远地区或者城市郊区的,这是由航天保密性决定的,不可能在城区。譬如北京的一院在东高地,二院在永定路(这还算近的),三院在云冈。(97年我去玩的时候,过了晚九点漆黑一片,什么娱乐都没有),你愿意闷在这种鬼地方做研究?这还是北京的单位,山沟里面的基地更多了。。。。即便你愿意,考虑考虑你以后结婚吧,那个姑娘愿意跟你去这种地方?你儿子呢,让他在山区接受教育?!再者,航天系统是我国目前为数不多的改革进程比较慢的系统,很多单位都是子女顶班,复杂的人际关系,七姑八大姨的,进去有你受的,将来同样晋升比别人慢,因为你没人脉关系。这也是历史问题,航天单位因为偏远,谁都不愿意去,另一方面也为了安慰老一代科技工作者,所以只好让他们子女顶班。(七)推荐自动化及其相关专业同学报考以下学校与专业模式识别与智能系统: 上海交大 中科院自动化所 清华大学 西安交大检测技术与自动化装置: 浙大 天津大学 清华大学电力电子与电力传动: 浙大 西安交大 南京航空航天大学电力系统自动化:浙大 清华 西安交大 天津大学电机与电器: 华中科技大学 浙大 清华控制理论与控制工程:清华 浙大 东北大学 上海交大 东南大学自动化虽然就业上略逊于电子和通信,但还是不错的。我个人认为我们自动化人应该在熟练硬件和软件的基础上,强调“控制”的特点,也就是把先进控制理论转化为实际应用,而不要一味地只做理论研究。不管你对编程是否感兴趣,这是必须要掌握的。你既然喜欢实用性的东西,编程是不可避免的。考研复习固然重要,但是专业课也不能放弃。专业课你不一定全都要学好,可以重点地来学。例如,微机原理、单片机、现代控制理论、计算机控制技术、电力电子技术这些课程一定要学好,其他的课程过关即可,根据自己的兴趣来选择重点。你给我发邮件:yuananr@yahoo.com.cn,还有其他事情,我就是东南的(八)我首先声明:我给出的意见只是我的看法,不代表是完全正确的,但我认为我的看法至少还不会误导人。我只是学生,不可能对自动化专业全面了解,只能根据同专业同学中的大多数人的意见和往年本校该专业的就业形势来给出自己的看法。意见就是要批判性地吸取的,我的看法并没有要求论坛里的朋友一定要照搬着执行,只是个参考。大家认为对的可以吸取,错的可以提出来。我发这个帖子的目的只有一个:尽量让后来人少走弯路!我似乎对系统工程这个专业批判得很厉害,但这也只是我的看法,对这个方向感兴趣的同学当然可以报考。但是自动化专业的人都不得不承认:系统工程这个专业就是和自动化没有关系,应该放到管理学院才对。还有,我换导师了,现在是电力电子与电力传动专业,对这个专业感兴趣的同学可以和我讨论。(九)中国目前的研究生教育还不规范,大家想学什么不要看官方的介绍.如果你想当然的认为我到了自控这个方向,以后就会从事这方面的工作,就错了.研究生其实是跟着导师跑,导师叫你干什么,你就干什么.我的经验是看导师,你想学软件就去找干软件的导师,学硬件就去找干硬件的导师,而不是看专业介绍.你报的是检测想学硬件,但你导师的项目都是软件,你一点办法没有.到你报考的院系去打听一下导师的情况,找个研究方向是你感兴趣的导师跟.跟那个导师相当重要,同一个学校,同一个专业,跟好导师和差导师可以说是天壤之别.跟个在院系处于强势地位的导师,项目多,早进实验室,以后好找工作.跟个在院系处于弱势地位的导师,没项目,进不了实验室,整天无所事事,学不到东西.在学校差别不是太大的情况下,大家要把导师放第一位.比如你到南航去跟个好导师,远比到东南去跟个差导师要划算.总之,1研究生要以导师为中心,专业之间的差别没那么大. 2研究生干过什么项目最重要,学校之间的差别没那么大.(十)我现在虽然是电力电子方向,但大多是在搞DSP应用,只涉及一些电力电子知识。至于就业,我还不清楚,不过我身边一个同学去了艾默生,还不错的。现在很多老师不愿从事电力电子这个方向,主要原因是成本太高,容易烧坏器件(我已经烧过一个模块了),绝不是书上那么简单。但是,我觉得学习这个方向确实能学到一些真东西,既做硬件又做软件,最重要的是切实地理论联系实际。不像双控某些方向,纯粹是理论脱离实际,学着也没兴趣。(十一)其实读研最关键的还是跟什么样的导师。研究生教学和本科教学是根本不同的,它本身带有不公平性。如果你跟了一个项目多的导师,那么你就会学到很多东西;如果不是,那么就会比较困难。此外,导师的研究方向和项目绝不是仅限于他所属的专业,是多方面的,例如,双控的导师也可能做模式识别的方向,也可能做电力系统或化工系统的项目。所以,不要以为上了双控就一定是搞控制理论。因此,我建议大家最好还是能明确想学什么,想干什么,这样根据自己的爱好去查询导师的信息,也就是先查一些与自己想学的方向的导师的信息,然后根据导师来选择专业。对于大三和大二的同学来说,还是要多学专业课,这样才能增加对专业的了解和兴趣。还有,我认为大家不要随意跨专业考研,本科的专业才真正决定一个人的学习专业,读研并不一定能让你很好地融入一个新的专业,当然我说的是跨的比较远的专业,相近专业是没关系的。和自动化相近的专业是:机械,计算机,电子,通信,电气工程,热能工程,仪器科学。例如,数学专业的同学跨到自动化后,其实还是搞控制理论,这和数学一样,其他的应用方向上不了手,当然也可以做软件,但这倒不如报考计算机专业了。(十二)自动化学的是很杂很乱,所以把我们大部分一些人都迷惑住了,不知道该学什么,不知道自己以后想干什么!这直接导致了自己在学习的时候东学一点,西学一点,没有重点,没有方向!以我之见,在本科或研究生阶段,应该:第一:熟练掌握一门编程语言,搞硬件的话,C,汇编第二:会用protel设计一块自己满意的电路板第三:掌握一种电子设计技术,如DSP嵌入式设计 PLD/FPGA可编程逻辑第四:熟悉一种通讯协议以上四点学好了,就可以对一个成品的各个环节有个清晰的框架,然后把自己的控制理论融入当中,那时候会体会到什么叫神奇了!一家之谈,跟学控制学而迷茫的人交流!上学的时候老师说自动化口径宽有电的地方就能用到但是出来后确实感觉到弱电的有电子、通信强电的有电力系统自动化我们其实就是在夹缝中生存的(十三)所有清华拟录取考生均必须进行复试。(1)复试分数线:总分为374,政治、外语单科成绩不低于55,数学、电路不低于85。(2)严格实行差额复试。复试人数为招生规模的150%(3)复试主要考核考生的综合分析能力、解决实际问题能力和创新意识。(4)复试由以下三部分组成:① 笔试专业 考试科目控制理论与控制工程 控制理论(经典控制及现代控制)检测技术与自动化装置 电子技术(模电,数电)系统工程 运筹学或控制理论模式识别与自动化装置 信号与系统导航、制导与控制 控制理论(经典控制及现代控制)企业信息化系统与工程 控制理论(经典控制及现代控制)生物信息学 信号与系统考试时间为120分钟,满分为100分。按招生专业目录公布的考试范围命题,由学校统一组织考试。② 外语听力和口语测试听力测试成绩满分为30分,口语测试成绩满分为20分。由学校统一组织英语听力和口语测试。③ 面试按专业组成面试小组进行面试。考生应携带准考证和身份证件以备核查。面试主要采取口试(面试专家组认为必要时可以加试笔试)方式,面试小组成员分别按满分100分当场给出评分,平均分即为考生的面试成绩。三、录取总成绩中初试成绩占50%,复试笔试成绩占20%,复试面试成绩占25%,复试外语听力和口语成绩占5%。总成绩=初试总分+复试笔试成绩×2+面试成绩×2.5+外语听力成绩+外语口语成绩总成绩满分为1000分(十四)其实任何理工类学科都可以从理论探索和工程实践两个角度来切入,从而在不同层面上分别研究。所谓控制和模式识别的外在差异也只是一个侧重点不同而已。自动控制是古老的学科,可以说蒸汽机时代就有人研究,目前国外的实际应用水平已经很高,所以你很难在西方高校学科设置中找到专门的自动化系。他们现在感兴趣的是控制理论,系统工程等纯粹的理论研究,散布在与数学相关的系科里。国内工业自动化水平很低,有许多传统产业还没有信息化。一方面传统技术改造的代价太高,另一方面还会增加社会就业压力,政府也不敢迈开步子。所以真正学控制的在国内应该面向应用实际培养自己的动手能力,注重提高工程实践和硬件方面的水平。高深的数学只在你立志读博士,进高校研究所才需要,如泛函分析,最优化,运筹学,随机过程等等可能要非常熟悉。模式识别前面我说了不少,相对控制而言更偏重研究性,本科学的自动化方面的专业课基本都用不上了,你应该多看看计算机和电子方面的基础课尤其是信号处理,数学方面起码要熟悉线性代数,概率统计,随机过程,有时间看些最优化,泛函,小波,矩阵分析。当然,数学工具一般可以随学随用,重要的是结合自己的具体专业方向,多读文献,积蓄灵感。这个方向的演示成果看起来总是那么激动人心,不可思议,可真正实现起来需要克服巨大的困难,付出超乎想象的努力。清华的复试不过分,虽然不一定准确反映人的真实水平,但却比较公平的。即使被清华刷了也不会去恨它,让人心服口服。一定要注意面试,回答问题要谨慎,万一抽到难的面试题目,不会干脆就说不会,千万别不懂装懂,天一脚地一脚的胡说八道,更不要和老师争论,切记这些就可以了(十五)清华大学电路的一些资料情况!!!)参考书:《电路原理》江辑光主编,清华出版社出版一定要把书后的题做一遍,考试时有时候有原题2),最好能够借上清华出版的《电路典型题解》向国菊主编,这里的题太多,不要全做,但典型的题要练一练,一定要算出结果,不要知道思路了,不动笔,这样会眼高手低。3),加强计算能力培养,这点非常重要!!!!! 4),复习重点:叠加定理,戴维南定理,,动态电路分析的黑盒子问题, 二阶电路分析,三相电路,二瓦表测功率法等,拉氏变换5),非重点:非线性电路,付氏变换,电路矩阵,二端口,回转器等<P>推荐教材:清华大学 江辑光《电路原理》》向国菊《典型电路题解》传输线不考,磁路不考,非线性不考 一定要注意第二本书中的考题,清华的出题范围,题目与之类似,难度相当,不过题目数量比较多,计算量比较大,这样的话,如果作不完,一定要把公式写上去,争取少扣些分。2001年考了12道大题,大部分每道大题有2个小题。状态变量方程一定会考,所以要注意,同时对于三相电路要有足够的重视,也会考,计算量比较大(十六)自动化的专业与研究方向介绍注:本文部分内容取自Internet我们通常所说的自动化主要包括控制科学与工程以及仪器科学与技术两个一级学科,以下分别简单进行介绍:控制科学与工程下设“控制理论与控制工程(081101)”、“检测技术与自动化装置(081102)”、“系统工程(081103)”、“模式识别与智能系统(081104)”、“导航、制导与控制(081105)”五个二级学科.控制科学与工程是研究控制的理论、方法、技术及其工程应用的学科。控制科学以控制论、系统论、信息论为基础,研究各应用领域内的共性问题,即为了实现控制目标,应如何建立系统的模型,分析其内部与环境信息,采取何种控制与决策行为;而与各应用领域的密切结合,又形成了控制工程丰富多样的内容。主要研究方向有:1.控制理论与控制工程:复杂系统的建模、控制、优化、决策与仿真;鲁棒控制与非线性控制;工程系统的综合控制与优化;运动控制系统设计与分析;先进控制理论与方法。2.模式识别与智能系统:智能控制与智能系统;专家系统与智能决策;模式识别理论与应用;智能信息处理与计算机视觉;生物信息学。3.导航、制导与控制:惯性定位导航技术;组合导航及智能导航技术;飞行器制导、控制与仿真技术;惯性器件及系统测试技术;火力控制技术。 4.检测技术与自动化装置:先进传感与检测技术;新型执行机构与自动化装置;智能仪表及控制器;测控系统集成与网络化;测控系统的故障诊断与容错技术。5.系统工程:系统工程理论及应用;系统分析、设计与集成;系统预测、决策、仿真与性能评估;网络信息技术;复杂系统信息处理、控制与应用技术。仪器科学与技术一级学科下设测试计量技术及仪器和信息传感技术及仪器(精密仪器及机械)两个二级学科,学科基础研究与应用基础研究并重,已发展成为一门涉及测试计量技术及仪器、信息传感技术及仪器、精密仪器及机械、光学工程、机械电子工程、检测技术及自动化装置、计算机应用等多学科交叉的新型综合学科。1.测试计量技术及仪器:本学科是精密机械、电子技术、光学、自动控制、信息处理技术和计算机技术等学科相互交叉的综合学科。 具体研究方向包括精密光电计量测试技术、先进传感技术及其应用、微纳计量技术、精密科学仪器技术等2.信息传感技术及仪器(精密仪器及机械):精密仪器及机械学科是集机械、电子、光学及计算机应用于一体,并与信息工程密切相关的一门多学科渗透的学科。它致力于高精度、多功能和智能化的实现。着重精密仪器及机械设计、制造基础,又能掌握检测技术、自动控制技术和特种机器人技术等方面的研究,开发和应用!

嵌入式烤箱的散热原理嵌入式烤箱使用需要注意什么

嵌入式烤箱的功率是比较大的,在使用过程中嵌入式烤箱需要大量散热,那么嵌入式烤箱的散热原理是什么呢?在使用嵌入式烤箱的时候需要注意些什么呢?今日就由小编为你一一解答。一、嵌入式烤箱的散热原理1、嵌入式烤箱最专业的散热技术应该是前端散热。前端的散热孔将烤箱发热元件的热量从烤箱前端迅速排出,不会影响橱柜板材。有的烤箱还会采用三向散热技术,这三个散热孔也都是在烤箱门的上面和两侧,也属于前端散热的。2、专业的嵌入式烤箱应该还会有智能延时散热系统,通俗的说就是,烤箱工作结束之后,散热系统仍然会持续工作,帮助烤箱散热。蒸汽随着温度的降低慢慢凝结在门体或者内腔壁上,成水。通过门体与面板之间的空隙进行散热。一般来说,大部分的烤箱它的热量都是从前部迅速排出,不会影响橱柜面板,但有的侧壁和烤箱背部有散热孔的烤箱,它们的散热就易使橱柜变色。二、嵌入式烤箱使用需要注意什么1、新机器初次使用可以在烤盘里放500ml水,调节到风扇烤,温度调节到150度烤15分钟,预热机器,延长使用寿命。2、每次使用完烤箱后,难免会有一些异味,但是只靠开箱散味并不能有效缓解,所以可在烤箱内放置一些橘子皮,然后加热烘焙3-5分钟即可(切勿烤焦),这样可以很有效的去除异味。3、易燃、易爆,不耐高温的物品。塑料餐具、普通玻璃杯等不耐温的的材料。4、使用嵌入式烤箱烘焙食物时,烤箱较容易发生过焦的情况,此时可以在食物上盖一层铝箔纸,或稍打开烤箱门散热一下即可;中型烤箱因空间足够且能控温,除非炉温过高、离上火太近或烤得太久,比较少会有烤焦的情况。嵌入式烤箱大多数是前端散热,不会影响橱柜的板材。在首次使用嵌入式烤箱的时候要对烤箱进行空烤,延长烤箱的使用寿命。

嵌入式烤箱的工作原理嵌入式烤箱的适用范围

嵌入式烤箱能够烘焙和烤制出美味的蛋糕、饼干、烤鸭等食物,许多人都不太了解嵌入式烤箱的工作原理,那么嵌入式烤箱的工作原理是什么呢?嵌入式烤箱的适用范围有哪些呢?今日就由小编为你一一解答。一、嵌入式烤箱的工作原理1、嵌入式烤箱原理是利用电热元件发出的辐射热烤制食物。根据烘烤食品的不同需要,电烤箱的温度一般可在50-250℃范围内调节。电烤箱是一种家用电器,主要由箱体、电热元件、调温器、定时器和功率调节开关等构成。2、嵌入式烤箱是用发热管发热使烤箱腔体温度升高,从而达到加热食品为目的,也就是嵌入式烤箱不是用长波、短波、电磁波等等之类的手段加热食品的;只要方法使用正确,烘烤均匀不变焦,嵌入式烤箱烘烤出来的食品是不存在危害的,当然更不会像微波炉那样会有致癌的危险。二、嵌入式烤箱的适用范围1、嵌入式烤箱适用的器皿:烤箱对器皿是没有特殊要求的,只要器皿耐温够高,或者烤箱设置温度低于器皿耐温极限,也是可以的。比如用塑料器皿耐温120℃,那烤箱设置温度在100℃及以下,也是可以用的。陶瓷制品、金属烤盘、高硼硅玻璃、耐高温的玻璃器皿都行(要买质量过关的,有产品标明的),最好不要放搪瓷制品,高温有时能融掉某些制品上面的涂面。最好不要放塑料制品,会融化并且产生有毒气体。2、嵌入式烤箱适用的场景:家庭厨房、烘焙店、饭店等都是可以适用的。嵌入式烤箱适应多种烘焙场景。烤面包、蛋糕,可在烤箱上下层之间选择,烤整鸡、整鸭。同样烘烤,嵌入式烤箱可实现各个加热管不同组合方式,选择不同的烘焙功能来调节上下加热管的温度。小烤箱容量比较小,烤整鸡、整鸭很难做到这些,如果是烤蛋糕,烤盘只能放在最低层,因为蛋糕模是有一定高度,如果烤盘放在中间位置,待蛋糕发起来后会顶到灯管,影响蛋糕的品质及外观。因此,小烤箱一般只能做些小糕点,烤出的东东没有大烤箱的效果佳,小烤箱只能实现简单食物烘烤,待到时间一长,很容易被闲置,嵌入式烤箱功能齐全,使用的频率相对要高,不容易被闲置浪费。嵌入式烤箱主要是利用电热原件发出的辐射热量进行烤制食物,嵌入式烤箱适用多种场景和器皿,是一种非常好用的厨用电器。

嵌入式存储芯片下面的EMMC,TSD,FSD分别是什么意思?代表着什么

不懂

自学嵌入式的流程是什么?

1、基础知识: 目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优 势。 科目:数字电路、计算机组成原理、嵌入式微处理器结构。 汇编语言、C/C++、编译原理、离散数学。 数据结构和算法、操作系统、软件工程、网络、数据库。 方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。thec++programminglanguage(一直没时间读)、数据结构-C2。 2、学习linux: 目的:深入掌握linux系统。 方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深, 那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0. 11版,适合学习。最后深入代码。主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。 3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统. 方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。 (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。 (3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友) 主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 4、深入学习: A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。 B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDM A等。 C、网络与信息安全技术:如加密技术,数字证书CA等。 D、DSP技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算 法。 说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化, 一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是 有必要的。 注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的 程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。 不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱 好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要 做的! 技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不 要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要 相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。 嵌入式书籍推荐 Linux基础 1、《Linux与UnixShell编程指南》 C语言基础 1、《CPrimerPlus,5thEdition》【美】StephenPrata着 2、《TheCProgrammingLanguage,2ndEdition》【美】BrianW.KernighanDav idM.Rithie(K&R)着 3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE) 4、《嵌入式Linux应用程序开发详解》 Linux内核 1、《深入理解Linux内核》(第三版) 2、《Linux内核源代码情景分析》毛德操胡希明著 研发方向 1、《UNIXNetworkProgramming》(UNP) 2、《TCP/IP详解》 3、《Linux内核编程》 4、《Linux设备驱动开发》(LDD) 5、《Linux高级程序设计》杨宗德著 硬件基础 1、《ARM体系结构与编程》杜春雷着 2、S3C2410Datasheet 英语基础 1、《计算机与通信专业英语》 系统教程 1、《嵌入式系统――体系结构、编程与设计》 2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明 著 3、《BuildingEmbeddedLinuxSystems》 4、《嵌入式ARM系统原理与实例开发》杨宗德著 理论基础 1、《算法导论》 2、《数据结构(C语言版)》 3、《计算机组织与体系结构?性能分析》 4、《深入理解计算机系统》【美】RandalE.Bryant DavidO""Hallaron着 5、《操作系统:精髓与设计原理》 6、《编译原理》 7、《数据通信与计算机网络》 8、《数据压缩原理与应用》 C语言书籍推荐 1.TheCprogramminglanguage《C程序设计语言》 2.PointersonC《C和指针》 3.Ctrapsandpitfalls《C陷阱与缺陷》 4.ExpertCLanuage《专家C编程》 5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCProgr ams 《编程精粹--Microsoft编写优质无错C程序秘诀》 6.ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》 7.《C语言嵌入式系统编程**》 8.《高质量C++/C编程指南》林锐 尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。 这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!

如何自学嵌入式?

C语言是嵌入式最重要的基础知识,主要把C语言学好,但是掌握了它并不代表你的基础已经很好了,嵌入式学习相关的入门基础主要是这些:一是程序设计的基础,例如:基本的编程语言基础,至少对数据类型、程序的结构及流程控制等最基本的内容要相当清楚,所以建议恶补一下C语言,推荐谭浩强的C语言程序设计,好好看一下,呵呵!另外有不少同学都问到数据结构的基础,我一直认为数据结构和算法的学习是帮助形成程序设计逻辑思维的很好训练方式,对于程序员的长期专业素养的提高一定有好处,所以建议即使已经在嵌入式行业中工作之后也应该多补充一些相关的知识。许多在学校没有学过数据结构的同学往往认为这部分非常枯燥、难学。而实际上如果你能明白研究计算机存储和数据组织方式的意义,就一定能够充分体会到数据结构的价值和魅力。一旦兴趣有了,一切就会迎刃而解,呵呵!二是操作系统工作原理,这部分往往是非计算机专业的同学在学校时没有接触过的。而由于嵌入式软件设计相关的多任务环境、模块间的同步与通信协同、驱动设计等往往都需要有对操作系统工作机制的了解和掌握作为基础,因此建议没有系统学习过的同学,找一本相关的操作系统工作原理书籍认真看一下(不用特厚、特专业、特内核的,先以普及知识为主,呵呵!)。三是基本的硬件基础,由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续学习过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。要深入学习你可以尝试以下路线:(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脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!至于后面的几个问题,我的回答是ARM,Linux和C语言,推荐你参考华清远见近期推出的2009-2010中国嵌入式开发从业人员调查报告,上面有很详细的解释和说明。华清远见的嵌入式专业教材比较专业,也很出名,高校图书馆以及外面书店都有卖,你可以去网上搜一下,买本看看,华清远见的网站和技术论坛上面也有很多嵌入式学习资料和视频可以下载,而且更新的速度也很快,LZ没事可以去转转,相信对你会有帮助

嵌入式需要学习什么

我有,需要联系

嵌入式洗碗机好用吗?使用时要注意什么?

嵌入式洗碗机很好用,但是洗碗机也是洗碗一样的,我们也要定期清洁,做好卫生处理,定期检修,功能性是否完好

消毒柜原理 嵌入式消毒柜使用方法

嵌入式消毒柜原理: 消毒柜工作是凭借高压无声放电装置制造自氧分子,再通过臭氧分子还原为氧分子的过程中所进行强氧化作用从而达到杀菌目的。消毒柜在工作时内部温度高于125℃,维持该温度达10分钟之久,才可以将餐具上的细菌消灭。因此消毒柜不适合存放塑料器皿,因为塑料在高温下会发生变形情况。 嵌入式消毒柜使用方法: 1.关闭柜门,将插头插入带有可靠接地线的插座,接通电源后,蜂鸣器会发出一声声音,每按一次按键,蜂鸣器均会叫一声。 2.通电、上层键和下层键未启动时,显示屏显示时钟计时;上层键和下层键同时启动时,显示屏先显示下层温度,待下层工作结束后再显示上层工作的倒计时余下时间;上下层单独启动时,上层工作显示倒计时时间,下层工作显示柜内温度; 3.按一次上层键,上层臭氧紫外线工作; 4.按一次下层键,下层高温开始工作,当下层温度达到120-130℃时,并维持25分钟后自动停止工作; 5.工作5秒后,按上层键即可停止上层工作,按下层键即可停止下层工作; 6.时钟采用24小时制,按(时钟)键3秒后,时钟闪烁显示,进入调时过程,此时按(调时)键调节小时位,按(调分)键调节分位。停止调节5秒后,自动退出调节状态。

消毒柜原理 嵌入式消毒柜使用方法

嵌入式消毒柜原理: 消毒柜工作是凭借高压无声放电装置制造自氧分子,再通过臭氧分子还原为氧分子的过程中所进行强氧化作用从而达到杀菌目的。消毒柜在工作时内部温度高于125℃,维持该温度达10分钟之久,才可以将餐具上的细菌消灭。因此消毒柜不适合存放塑料器皿,因为塑料在高温下会发生变形情况。 嵌入式消毒柜使用方法: 1.关闭柜门,将插头插入带有可靠接地线的插座,接通电源后,蜂鸣器会发出一声声音,每按一次按键,蜂鸣器均会叫一声。 2.通电、上层键和下层键未启动时,显示屏显示时钟计时;上层键和下层键同时启动时,显示屏先显示下层温度,待下层工作结束后再显示上层工作的倒计时余下时间;上下层单独启动时,上层工作显示倒计时时间,下层工作显示柜内温度; 3.按一次上层键,上层臭氧紫外线工作; 4.按一次下层键,下层高温开始工作,当下层温度达到120-130℃时,并维持25分钟后自动停止工作; 5.工作5秒后,按上层键即可停止上层工作,按下层键即可停止下层工作; 6.时钟采用24小时制,按(时钟)键3秒后,时钟闪烁显示,进入调时过程,此时按(调时)键调节小时位,按(调分)键调节分位。停止调节5秒后,自动退出调节状态。

Undertow和jetty做嵌入式,哪个更好

使用Jetty的嵌入式API,可以将J2EE容器嵌入你的Application中,更进一步的是,采用Servlet 3.0的标准,你甚至可以省掉web.xml的配置文件,因此Spring提供了类 SpringServletContainerInitializer。但是在实际开发中,发现Jetty的嵌入式API默认情

嵌入式洗碗机散热原理?

嵌入式洗碗机散热原理:一般在洗碗机工作时,都是利用内置的清洗泵对水产生一定的压力,然后加热器对内里的水进行快速地加热,等到水温达到清洗的条件后则会自动输入清洗所需的清洁剂和消毒剂对餐具进行清洗。当清洗完之后,家用洗碗机内喷臂上的喷水孔将水喷出,在收到强烈的反作用力后回转,将洗碗机内的水全部喷射到餐具上,不管这些家用餐具套装在里面是如何放置的,都可以在这一个过程中降低油脂对其表面的附着,并清洗干净,最后利用洗碗机内的加热器对餐具进行烘干,完成整个的清洗工作。功能1、洗涤:全封闭式洗涤,不用抹布,切断细菌传播途径。2、消毒:采用加热及专门的洗涤用品:涤龙浸泡粉、消毒剂、洗洁精,足以杀死大肠杆菌、葡萄球菌、肝炎病毒等病菌病毒。3、烘干:洗刷后直接烘干,避免水渍留下的斑痕,使餐具更光洁。4、贮存容量:设计科学,可容纳几套餐具,具有碗柜功能。5、软化水:去除自来水中的钙、镁离子等主要成分,增加光洁度。6、多层保护:内胆是不锈钢的,外壳采用喷粉、电泳、磷化等工艺,不生锈,不磨损。

嵌入式洗碗机散热原理?

嵌入式洗碗机散热原理:一般在洗碗机工作时,都是利用内置的清洗泵对水产生一定的压力,然后加热器对内里的水进行快速地加热,等到水温达到清洗的条件后则会自动输入清洗所需的清洁剂和消毒剂对餐具进行清洗。当清洗完之后,家用洗碗机内喷臂上的喷水孔将水喷出,在收到强烈的反作用力后回转,将洗碗机内的水全部喷射到餐具上,不管这些家用餐具套装在里面是如何放置的,都可以在这一个过程中降低油脂对其表面的附着,并清洗干净,最后利用洗碗机内的加热器对餐具进行烘干,完成整个的清洗工作。功能1、洗涤:全封闭式洗涤,不用抹布,切断细菌传播途径。2、消毒:采用加热及专门的洗涤用品:涤龙浸泡粉、消毒剂、洗洁精,足以杀死大肠杆菌、葡萄球菌、肝炎病毒等病菌病毒。3、烘干:洗刷后直接烘干,避免水渍留下的斑痕,使餐具更光洁。4、贮存容量:设计科学,可容纳几套餐具,具有碗柜功能。5、软化水:去除自来水中的钙、镁离子等主要成分,增加光洁度。6、多层保护:内胆是不锈钢的,外壳采用喷粉、电泳、磷化等工艺,不生锈,不磨损。

嵌入式洗碗机散热原理?

嵌入式洗碗机散热原理:一般在洗碗机工作时,都是利用内置的清洗泵对水产生一定的压力,然后加热器对内里的水进行快速地加热,等到水温达到清洗的条件后则会自动输入清洗所需的清洁剂和消毒剂对餐具进行清洗。当清洗完之后,家用洗碗机内喷臂上的喷水孔将水喷出,在收到强烈的反作用力后回转,将洗碗机内的水全部喷射到餐具上,不管这些家用餐具套装在里面是如何放置的,都可以在这一个过程中降低油脂对其表面的附着,并清洗干净,最后利用洗碗机内的加热器对餐具进行烘干,完成整个的清洗工作。功能1、洗涤:全封闭式洗涤,不用抹布,切断细菌传播途径。2、消毒:采用加热及专门的洗涤用品:涤龙浸泡粉、消毒剂、洗洁精,足以杀死大肠杆菌、葡萄球菌、肝炎病毒等病菌病毒。3、烘干:洗刷后直接烘干,避免水渍留下的斑痕,使餐具更光洁。4、贮存容量:设计科学,可容纳几套餐具,具有碗柜功能。5、软化水:去除自来水中的钙、镁离子等主要成分,增加光洁度。6、多层保护:内胆是不锈钢的,外壳采用喷粉、电泳、磷化等工艺,不生锈,不磨损。

Javascript在嵌入式的应用场景有哪些?优势在何处

Javascript是最流行的脚本语言之一,也是Web的主要技术之一,这样的优势导致它在嵌入式领域也有一定的作用飞利浦出过一套 Pronto 智能中控设备系列,可以通过编写代码自定义界面和逻辑,控制继电器、串口、红外等设备,适用于家庭和办公室自动化控制。控制设备分为中控主机和控制板(即带彩色触摸屏的遥控器),本身是嵌入式系统,但控制板中存储的自定义逻辑代码就是使用改造过的Javascript脚本规范。为家庭或安装好被控制的设备以后,只需通过必要连线或局域网将中控主机与被控设备连通,再将电脑上编写好的脚本和配置文件通过USB口传到控制板上,就可以使用了。电脑端编辑是半图形化半文本式的界面(类似Visual Studio和 Xcode 的使用),代码编写又不难,因此上手非常容易。编写界面和最终的控制板使用体验都很好。“ProntoScript 是一种基于 JavaScript 的软件工具,它使安装人员能够创建动态的双向用户界面,利用全图形的灵活性对 RS232 或 IP 进行系统控制。该工具集成在 ProntoEdit Professional 软件中。与 Pronto 合作伙伴预建的 ProntoScript 模块可通过网站获得。对于典型安装,您可以选择使用标准安装参考文件,重新分配各个组件即可。更高级的 JavaScript 编程人员能够创建他们自己的 ProntoScript 模块,以便进行全面的系统操作和反馈。”可惜不知为何没有后续研发新产品。

AVR单片机嵌入式系统原理与应用实践的目录

目录第1篇 基础与入门第1章 单片机嵌入式系统概述1.1 嵌入式系统简介1.1.1 嵌入式计算机系统1.1.2 单片机嵌入式系统1.1.3 单片机的发展历史1.1.4 单片机的发展趋势1.2 单片机嵌入式系统的结构与应用领域1.2.1 单片机嵌入式系统的结构1.2.2 单片机嵌入式系统的应用领域1.3 AVR单片机简介1.3.1 ATMEL公司的单片机简介1.3.2 AVR单片机的主要特点1.3.3 AVR单片机系列简介1.3.4 AVR与51单片机思考与练习第2章 AVR单片机的基本结构2.1 单片机的基本组成2.1.1 单片机的基本组成结构2.1.2 单片机的基本单元与作用2.2 ATmegal6单片机的组成2.2.1 AVR单片机的内核结构2.2.2 ATmegal6的特点2.2.3 ATmagel6的外部引脚与封装2.3 ATmegal6单片机的内部结构2.3.1 中央处理器CPU2.3.2 系统时钟部件2.3.3 CPU的工作时序2.3.4 存储器2.3.5 I/O端口2.4 存储器结构和地址空间2.4.1 支持ISP的Flash程序存储器2.4.2 数据存储器SRAM空间2.4.3 内部EEPROM存储器2.5 通用寄存器组与I/O寄存器2.5.1 通用寄存器组2.5.2 I/O寄存器2.5.3 状态寄存器和堆栈指针寄存器2.6 ATmegal6单片机的工作状态2.6.1 AVR单片机最小系统2.6.2 AVR的复位源和复位方式2.6.3 对AVR的编程下载2.6.4 ATmegal6的熔丝位2.6.5 AVR单片机的工作状态2.6.6 支持ISP编程的最小系统设计2.7 AVR单片机内部资源的扩展和剪裁思考与练习第3章 AVR的指令与汇编系统第4章 AVR单片机的系统设计与开发工具第5章 实战练习(一)第二篇 基本功能单元的应用第6章 通用I/O接口的基本结构与输出应用第7章 中断系统与基本应用第8章 定时/计数器的结构与应用第9章 键盘输入接口与状态机设计第10章 模拟比较器和ADC接口第11章 实战练习(二)第3篇 串行接口与通信第12章 串行数据接口概述第13章 异步通信与USART接口基础第14章 USART实用设计基础第15章 串行SPI接口应用第16章 串行TWI(I2C)接口应用第4篇 进入实战第17章 AVR片内资源应用补遗第18章 迎奥运倒计时时钟设计实例附录A ATmegal6熔丝位汇总附录B AVR-51多功能实验开发板电原理图附录C 本书所附光盘内容简介

有人知道 嵌入式车载导航(也就是原装/前装)的海关HS编码吗? 还有便携式导航PND的编码?谢谢!

你可以到这个网站查询,你说的这个导航设备我们公司最近也有出口,我查到的HS编码是:8526911000,http://www.qgtong.com/szcktxlbweb/,增值税退税率都是17%。具体信息见附件图片

嵌入式技术应用学什么?

嵌入式技术与应用主要研究嵌入式技术、嵌入式产品软件开发等方面基本知识和技能,进行嵌入式产品生产、管理、售后维护等。例如:高清电视(HDTV)、路由器、汽车电子等嵌入式技术应用开发,手机设备软件等产品生产与测试等。课程体系:《电工电路分析》、《程序C设计》、《网络基础》、《网络操作系统》、《网页制作》、《嵌入式应用软件开发(J2me)》、《无线应用程序开发(WAP)》、《单片机原理与接口技术》、《ARM系统应用开发技术》、《嵌入式软件测试技术》 部分高校按以下专业方向培养:3G软件开发。

嵌入式bootloader和内核在flash上分布问题

本来就是指定的啊, 你用u-boot的nand write 不是要写地址么?还有内核里有个分区配置文件

嵌入式linux开发

关于嵌入式领域内的相关专业问题,建议LZ到华清远见的网站上了解一下,也可以具体电话咨询一下华清远见的专业老师,另外,各大书店及图书馆也有华清远见出版的畅销嵌入式专业图书,了解一下相信对你有帮助!
 1 2 3  下一页  尾页