导航:首页 > 编程系统 > uclinux用的多吗

uclinux用的多吗

发布时间:2023-11-01 22:21:34

『壹』 EPON研发使用的嵌入式操作系统为什么使用linux平台而不使...

EPON研发使用的嵌入式操作系统为什么使用linux平台而不使...
/OS内核是针对实时系统的要求设计实现的,相对简单,可以满足较高的实时性要求。
vlinux其要实现实时性效果则需要使系统在实时内核的控制下运行,RT-Linux就是可以实现这一个功能的一种实时内核。

uC/OS占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简
单。uClinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复
杂。但是,uCLinux具有对多种文件系统的支持能力、内嵌了TCP/IP协议,可
以借鉴Linux丰富的资源,对一些复杂的应用,uClinux具有相当优势。例如CISCO
公司的 2500/3000/4000 路由器就是基于uClinux操作系统开发的。
总之,操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制
系统可充分利用uC/OS小巧且实时性强的优势,如果开发PDA和互联网连接终
端等较为复杂的系统则uClinux是不错的选择。

『贰』 编程领域内为什么要有那么多的语言

应用领域不同,导致需要的是不同的编译效率和代码质量以及执行速度的要求:底层是用户发出操作上层的各个软件发出所有指令的最终汇聚点,都要去控制CPU。相当告诉公里上的收费站,所有车辆都要汇聚到这里。

所以要求处理速度快,代码质量高,能用一句的绝不用两句,那么就意味着不能有很复杂的编译过程、同时代码质量要高、精简,不能笨重。显然应该直接写机器码,起码也得写汇编语言,一步到位就能得到机器码。再不济也得用C语言,但为了开发起来友好点,想方便一点,C++也霸蛮的允许,因为它里面有面向对象可以极大的方便编程。但再不能是java了或者PHP以及JS这些了。

那么用汇编和C语言去写非常好看的图形化界面,它的意义只在于学习,而不在于实际应用。你写了好几天的引入各种的图形库函数库最后看到个红颜色,还不如PHP里写一条控制CSS的color:red来的省事呢,当然用CSS就更加省事了。所以学习什么和实际怎么使用,之间还有一个赛选的味道。




『叁』 Linux系统下,用C语言编程,进行文件管理,有哪两类函数可用试比较两类函数的优缺点。

有两套函数:一套是C语言标准库的:
fopen,fscan,fread,fwrite,fseek,fgetc,fgets,fputc,fputs,fseek,ftell,ferror,fclear,fclose...
一套是Linux底层接口的:
open,read,write,lseek,close,...
前者函数丰富,使用方法跟控制台读写一致,可以跨操作系统,但效率低一些;
后者直接调用系统接口,效率高,但函数少,不能跨操作系统。

『肆』 嵌入式操作系统的分类

嵌入式操作系统的分类 篇1

第一类、传统的经典RTOS:

最主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。

第二类、嵌入式Linux操作系统:

Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在ARM9上的,一般是将Linux2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。目前很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但ucOS/II的缺点是功能有限,实用用得较少,所以要学习就应学直接实用的,比如uClinux就很实用。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据说,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人;三是熟悉Linux内核裁减和优化的人。

第三类、WindowsCE嵌入式操作系统:

Microsoft也看准了嵌入式的巨大市场,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCEPlatformBuilder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以学习Windows程序设计课程不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点,WinCE还有两个特殊版本,一个是MSPocketPC操作系统专用于PDA上(掌上电脑),另一个是MSSmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,著名的PDA嵌入式操作系统还有PalmOS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?据观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多。嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,他们很需要精通WinCE的人。

嵌入式操作系统的分类 篇2

目前我国已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除了是具备了一般的操作系统最基本的功能,比如:任务调度、同步机制、中断处理、文件功能之外的话,它还含有以下的特针:

(1)可装卸性:开放性、可伸缩性的体系结构。

(2)强实时性:EOS实时性一般较强,可用于各种设备控制当中。

(3)统一的接口:提供各种设备驱动接入。

(4)操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。

(5)提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。

(6)强稳定性,弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS臭有较强的稳定性。嵌入式操作系统的用户接日一般不提供操作命令,它通过系统调用命令向用户程序提供服务。

(7)固化代码:在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。

(8)更好的硬件适应性,也就是良好的移植性。

国际上用于信息电器的嵌入式操作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的PalmOS,全球占有份额达50%,Microsoft公司的WindowsCE不过29%。在美国市场,PalmOS更以80%的占有率远超WindowsCE.开放源代码的Linux很适于做信息家电的开发。

然而我们常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.嵌入式操作系统的发展也必将带动新一轮的科技竞争。

嵌入式操作系统的分类 篇3

常见的嵌入式系统有这么多:

Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive、autosar......

什么是嵌入式操作系统?

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。嵌入时操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。

从应用角度可分为通用型嵌入式操作系统和专用型嵌入式操作系统。常见的通用型嵌入式操作系统有Linux、VxWorks、WindowsCE.net等。常用的专用型嵌入式操作系统有SmartPhone、PocketPC、Symbian等。

按实时性可分为两类:

实时嵌入式操作系统主要面向控制、通信等领域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus,很多汽车电子行业都是利用实时性很强的操作系统等。

非实时嵌入式操作系统主要面向消费类电子产品。这类产品包括PDA、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的SmartPhone操作系统。

嵌入式系统的设计和实现而言,基本上需要四种不同的工作:系统设计工作,硬件设计工作,驱动程序和操作系统移植工作和应用程序设计开发工作。

1、 系统设计工作

在系统的设计阶段,系统分析师将根据需求确定系统的硬件的基本构成,根据系统的需求选择使用那种处理器,使用哪种操作系统,使用那些软件开发工具。系统分析师往往是较为完整的参与过嵌入式系统设计的全过程,对于系统应用的行业较为了解,对于嵌入式系统本身的开发流程十分清楚的人。

2、硬件设计工作

系统硬件设计人员需要根据系统分析师的设计结果,进行硬件原理图的设计。通常需要硬件设计人员熟悉嵌入式系统的硬件构成。硬件设计人员需要了解常用的嵌入式系统处理器,存储器(Flash,SDRAM),以太网MAC芯片,音频/视频编解码芯片,电源管理芯片,总线接口电路(USB,PCI),液晶显示模块,可编程逻辑器件(FPGA/CPLD),无线网络通信模块(Bluetooth,WLAN,GPRS)等硬件电路构成元素的基本工作原理,连接使用方法,使用注意事项,基本调试方法等内容。在网络上能找到很多公司的评估板的原理图,对于这些原理图要仔细研究,摸清处理器同存储器,网卡,液晶模块等器件的连接方法和原因。通过对这些电路的研究,能够较快地了解整个嵌入式系统的构成,这些电路同实际产品中的电路虽有一定差别的,特别是对于手持设备,但这些差别不影响初学者学习嵌入式系统的硬件设计基本构成。

1)学习Linux系统安装、常用命令、应用程序安装。

2)学习Linux下的C编程、这本书必学《UNIX环境高级编程》、《UNIX网络编程》,RechardStevens写的,C高手大都学习过《C和指针》、《C缺陷与陷阱》、《高质量C/C++编程指南》、《C专家编程》、《TheCprogrammingLanguage》

3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!

4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!

5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从ARM入手,不太现实!

6)ARM体系结构,其中有汇编。

7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。

8)ARM+Linux应用程序开发。(前提是要有开发板)

9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。

10)Linux下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。

11)TCP/IP协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。

12)有了这些东西,拿下Linux驱动已经不再话下,需要你去学习Linux内核源代码和Linux驱动程序设计,这是一个技术升华。

13)音频、视频的解码译码技术你得学。

14)各种IC,各种bootloader你能够参与其开发设计。

15)自行设计开发新产品,新技术。

学到这个地步差不多要花个3年的时间吧。但是后面的路该怎么走呢?嵌入式系统性的东西搞了一个产品之后,基本上一些套路都摸清楚了。

不同的行业,对于系统的要求是不一样的,比如汽车行业,航空航天行业等一些高精度,高安全的需要对实时性要求非常之高,对于安全性和可靠性的要求非常严格。而有些行业比如消费类产品,娱乐类的,生活用具方面的对于用户体验是不一样的,数码产品对于一些图像声音的处理,要求更高,需要高清,高品质的。而对于一些通信设备类对于网络的应答数据传输要求就非常严格,等等。这些根据不同的要求,选择符合自己的操作系统,能对开发工作有更大的帮助。

嵌入式操作系统的分类 篇4

DOS

微软一开始选用了派特森的Q-DOS“QUICKANDDISKOPERATINGSYSTEM”为基础然后再扩充功能而成MS-DOS,主要是采用由IBM提供的使用8088微处理器的计算机作开发平台,它是以16字节单人单工操作系统,特别适合一些功能简单装置使用。

WindowsCE

虽然微软Windows系统已经称霸了PCDesktop环境。但是对于嵌入式系统这块大饼,微软也是垂涎已久,桌上型的Windows桌业系统对于嵌入式系统来说自然是太过于肥大的产物,于是微软推出精简版的WindowsCE作为进攻嵌入式系统的主力。目前主要应用于PDA上头,但是跟微软一系列Windows系统一般,WindowsCE也承袭了原有的缺点:耗系统资源、不稳定、效率不佳等等。毛病实在太多,后来将整个架构重新改写后推出WindowsCE3.0版,或称为PocketPC。改版之后的确改进了不少缺点。

WindowsCE可应用于PDA、WebPAD、ThinClient等等。是采用WindowsCE为操作系统的SIMPad(西门子公司所有)。

Palm

由PalmComputing公司的嵌入式操作系统,目前最大的应用在PDA,是市场占有率最高的PDA操作系统,Palm操作系统架构非常简洁,因为少去了很多功能,如内存管理、多任务等等,使得Palm可以非常不耗系统资源,硬件需求低,连带的整体耗电量便可压缩到非常低,因此采用Palm操作系统的PDA都有待机时间长的优点。

EPOC

由英国手持装置大厂Psion所开发,常用于PDA与手机结合的场合。最有名的例子Nokia9110系列手机,它就是采用EPOC系统。

著名的嵌入式实时系统

实时系统是嵌入式系统里头非常重要的一环,很多人都误以为实时系统执行速度非常快的系统,事实上不然,所谓实时代表的意义是『实时反应』,一般多人多任务操作系统如:Windows、UNIX,在上面执行的软件都一起分享CPU,因为CPU速度快,所以我们感觉好象可以同时执行多支软件,其实在系统内部的同一时间内都只有一个程序在执行,每个软件都必须排队,而且规定只能用一小段时间后就要换下一位,但是因为CPU速度够快,很快又可以被执行到,所以人们感觉并不会很明显软件是一段一段在执行。这是一般所谓的非实时性的操作系统运作模式,而实时操作系统具有立即反应而且不能让出资源的特性,例如汽车的ABS煞车系统,如果不采用能够立即反应的实时系统,后果可就不堪设想。而这类的应用多半多属体积小、功能简单的地方,所以也算是嵌入式系统。QNX的QNXOS、WindRiver的VxWorks、Microware的OS9、pSOS等等,都是有名的嵌入式实时系统公司。

Linux

Linux不是都用来做服务器吗?不然就是Cluster,怎么会跟嵌入式系统扯上关系?不要怀疑,Linux除了对伺服工作应付自如外,嵌入式系统也难不倒Linux。

那么究竟Linux有怎样独特的能耐,可以想变大就变大想缩小就缩小?又用Linux来发展嵌入式系统有什么优点?请看底下介绍。

开放原始码、模块化设计

Linux采用GPL授权,除了把原始码公开以外,任何人都可以自由使用、修改、散布,而Linux核心本身采模块化设计,让人很容易增减功能,例如我的平台并不需要蓝芽的功能,我只要不把这项功能加入,有需要就加入,不需要就删除,由于这样的高的弹性,我们可以调校出最适合我们硬件平台的核心出来。

相较于Linux,Windows是走封闭原始码路线,所以我们完全无法得知或修改它的核心部份。另外因为是采用GPL授权自然就没有什么权利金或保密协议的约束。

稳定性够

Linux不属于任何一家公司,但是它的开发人员却是全世界最多的,每天在全球都有无数的人参与LinuxKernel的改进、除错、测试,这样严苛的条件造就了稳定度高的Linux。

就因为如此,Linux虽不是商业的产物但是品质却不逊于商业产品。

网络功能强大

Linux的架构是参造UNIX系统而来,因此Linux也承袭了UNIX强大的网络功能。在这个每样事情都讲求网络的时代下,只能说是Linux大放异彩的年代。未来可能家里的电冰箱、冷气、电视机都会连上网络,如何增加这些家电的网络功能,Linux可以替他们办到。

跨平台

Linux一开始是基于Intel386机器而设计,但是随着网络的散布,各式各样的需求涌现,因此就有许多工程师致力于各式平台的移植,造成了Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola68k、HitachiSH3/SH4、Transmeta..等等平台上运作的盛况。这些平台几乎涵盖了所有嵌入式系统所需的CPU,因此选择Linux就可以把更多的`硬件平台纳入考量的范围。

嵌入式环境不如x86PC那样单纯,嵌入式环境所采用的CPU架构之多,使用Linux作开发,就等于有更多硬件的选择,硬件成本是商业公司考量的一大重点,选择多自然可以找到最合适的硬件,对于公司的竞争力是有极大的帮助。

应用软件众多

自由软件世界里有个很大的特色就是软件超级多,而且几乎都是符合GPL标准,换句话说,大家都可以自由取用,因为这些软件多半是由工程师业余空暇时间所发展,而且不以营利为性质,所以并不能担保这些软件完全没有BUG,但是仍旧有许多杀手级的软件出现,大家熟知的KDE与GNOME便是很好的证明,当然与嵌入式系统较为相关如:gcc编译器、Kdevelop整合式开发环境等等。

通常我们都会先在PC端造出仿真出嵌入式的环境,并直接在上头开发,因此用的工具也都与开发一般Desktop软件类似,良好的工具能够增加开发的速度。

选择多样

如果公司有能力可以自己实作Linux嵌入式系统,因为程序代码全部都开放在那里,您可以随心所欲的设计出自己想要的EmbeddedLinux系统,但是有更多的公司的业务重点不在于此,这时候您也可以选择购买商业版的EmbeddedLinux系统,像是有名的Redhat公司、Lineo、MontaVista..等等,这些都是商业的Linux公司,购买他们的产品就可以得到完整的服务。因此商业或非商业全都在于您的需求。

自行开发系统

当然您也可以自行开发系统,严格控制硬件,但是相对的必须投注更大的成本在于研发系统上,原则上如果目标简单明确只是一些基本的I/O控制,例如:跑马灯。便适合自己开发,但是如果系统过于复杂则必须审慎评估自行研发的难度与时程的控管。

嵌入式操作系统的分类 篇5

进程的同步(直接制约):synchronism

指系统中一些进程需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态。同步是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

进程的互斥(间接制约)mutualexclusion

由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

相关概念:

互斥:指多个进程不能同时使用同一个资源;

死锁:指多个进程互不相让,都得不到足够的资源;

饥饿:指一个进程一直得不到资源(其他进程可能轮流占用资源)

临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量

临界区:进程中访问临界资源的一段代码。

临界区问题

临界区(criticalsection):进程中访问临界资源的一段代码。

进入区(entrysection):在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应"正在访问临界区"标志

退出区(exitsection):用于将"正在访问临界区"标志清除。

剩余区(remaindersection):代码中的其余部分。

使用临界区应遵循的准则

有空让进:当无进程在临界区时,任何有权使用临界区的进程可进入

无空等待:不允许两个以上的进程同时进入临界区

多中择一:当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待

有限等待:任何进入临界区的要求应在有限的时间内得到满足

让权等待:处于等待状态的进程应放弃占用CPU

平等竞争:任何进程无权停止其它进程的运行进程之间相对运行速度无硬性规定

Linux下的进程包含以下几个关键要素:

有一段可执行程序;

有专用的系统堆栈空间;

内核中有它的控制块(进程控制块),描述进程所占用的资源,这样,进程才能接受内核的调度;

具有独立的存储空间

进程和线程有时候并不完全区分,而往往根据上下文理解其含义。

嵌入式操作系统的分类 篇6

1、绪论

电控机械式自动变速器(,AMT)具有传动效率高、成本低、操作容易、驾驶舒适等优点,已成为车辆自动变速器发展的一个重要方向。AMT的核心部件是电控单元(TCU),实时采集和检测输入信号(发动机转速、输入轴转速和车速,油门踏板位置、节气门开度、变速箱油温等以及各种状态信号)并进行调理、存储,同时,TCU根据这些运行参数进行工况判断并发出控制信号,完成车辆的平稳起步或自动换挡,从而使车辆获得优良的舒适性、燃油经济性与动力性能。较之传统的控制器,TCU有更多的传感器,执行器以及更为复杂的控制算法,若TCU设计不合理,难以满足实时性与可靠性的要求,同时,如果换挡规律不合理,汽车难以获得较好的燃油经济性和动力性。本文从TCU硬件和软件设计做了相应的介绍。

2、TCU软件设计

TCU软件部分的核心是控制策略,其主要部分是最佳换挡规律。本控制器采用两种换挡控制策略,即经济性换挡规律,综合性换规律,通过模式选择开关进行切换,使用Simulink搭建的换挡控制策略。

Simulink模型无法直接烧写到单片机中运行,编写好的程序通过Simulink提供的RTW工具生成可用的C代码,编写接口嵌入到软件系统中。生成的C代码是上层核心算法程序,只提供与底层程序的接口,而底层程序则须自己编写并留出对应接口和上层代码对应接口进行连接[3]。然后把相应的C代码添加到CCS中的工程文件中,并编写代码的接口,实现软件三部分的无缝连接;其中驱动程序包括信号输入通道设置与信号处理驱动程序、输出通道设置与输出处理、通信设置与数据转换。

3、TCU硬件设计

根据TCU的功能需求,把硬件电路划分以下几个部分:信号采集输入调理电路、执行器控制电路以及主控电路。

(1)主控电路:TCU的硬件电路选择了TMS320F2812主控芯片,两个16位通用定时器,以负责离合器转速信号、车速信号等脉冲信号的采集;8个16位的脉宽调制(PWM)通道、可以实现对离合器电磁阀、换挡电磁阀的控制;16通道A/D转换器,在采集节气门位置、离合器位置等传感器输入的多路模拟信号的应用中,可以简化硬件,提高系统可靠性;拥有改进的局域网络(eCAN)支持CAN2.0B协议,以实现串行信号的输入输出以及与汽车发动机ECU的信息交换,实现ECU之间的CAN通信。

(2)输入电路:对于主控芯片TMS320F2812芯片上带有AD转换模块的处理芯片,其输入的模拟信号需要经过简单的滤波、放大后才可接入DSP。开关量信号采用光电隔离来实现信号的转换,数字信号调理部分的作用是将仿正弦信号经过处理后,变成电平范围在DSP允许范围内的方波信号。数字信号调理部分的设计采用先滤波后整形,最后光电隔离的办法。

(3)TMS320F2812主控芯片EV外设提供的PWM外设功能,对电路进行控制,但,由控制器输出的PWM波的峰值电压只有5V,不足以驱动电磁阀,这就需要电磁阀驱动电路将PWM控制信号的功率进行放大,从而控制电磁阀正常工作。

4、结论

自行设计了TCU软硬件,对设计的TCU做了相应的硬件在环试验,利用RealTimeWorkshop实现控制模型向C代码的转化,优化后下载到TCU,进行了硬件在环仿真实验,篇幅有限,本文不做具体说明。试验结果表明,设计的该TCU,能按照控制策略实时、准确、可靠的控制AMT的换挡过程,同时,同时获得了较好的经济性以及动力性能。为AMT控制器的开发提供了参考。

『伍』 求研究生嵌入式方向学习的课程

我也在学嵌入式系统,本来是自动化专业。看了很多的介绍,下面转载的很不错,我所了解的基本都在里面了。
现在正在自学 C++, 数据结构,操作系统,软件基础等。
你看了会有帮助的。

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

(1)

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

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

除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time

Operating

System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。目前最重要的RTOS主要包括:

第一类、传统的经典RTOS:最主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。

第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在ARM

9上的,一般是将Linux

2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM

9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少,所以我院不将其作为教学重点,要学习就应学直接实用的,比如

uClinux就很实用。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人;三是熟悉Linux内核裁减和优化的人。我院在该嵌入式Linux方面的课程系列是:本科生操作系统必修课,然后是Linux程序设计选修课,最后是嵌入式Linux系统选修课。我院在Linux方面目前已有较强力量,魏老师和张老师熟悉Linux开发,金老师和唐老师熟悉Linux系统管理。

第三类、 Windows

CE嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,著名的PDA嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?我院可能是全国高校中唯一一家开设专门的“Windows CE嵌入式操作系统“课程的学校,这主要是基于以下原因:我院本身前面便有Windows程序设计课程,同学学过VC++后再学WinCE,非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。很显然,嵌入式Linux永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国政府都在大力推LINUX已好长时间,但您能看到几个在PC机上真正使用LINUX的用户?据我观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多.嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑;

二是微软亚洲研究院对我院WinCE课程的支持计划,我们也很希望将来我院能有同学通过微软的面试去实习。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,他们很需要精通WinCE的人。

总结关于嵌入式操作系统类课程,若您觉得自己功底较深且能钻研下去,则可去学嵌入式Linux;若您觉得自己VC++功底较好且想短平快地学嵌入式开发,则我院的WinCE课程是最好的选择。

(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核实现技术,这方面的人目前市场上也很缺。

『陆』 uclinux是嵌入式操作系统吗

uClinux是嵌入式Linux领域非常重要的分支,已成功应用于路由器、机顶盒、PDA等领域,与标准Linux在内存管理方面有着本质的区别。uCLinux是一种优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性, 经过各方面的小型化改造,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,却仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API。它专为嵌入式系统做了许多小型化的工作,目前已支持多款CPU。 其编译后目标文件可控制在几百KB数量级,并已经被成功地移植到很多平台上。uClinux从Linux 2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单元)的CPU,并且为嵌入式系统做了许多小型化的工作。它通常用于具有很少内存或Flash的嵌入式操作系统。在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及丰富的API函数等优点。uClinux与Linux在兼容性方面表现出色,uClinux除了不能实现fork()外,其余uClinux的API函数与标准Linux完全相同。针对没有MMU的CPU全球每年生产的CPU的数量大概在二十亿颗左右,其中大部分是应用于专用性很强的各类嵌入式系统。大部分嵌入式系统为了减少系统复杂程度、降低硬件及开发成本和运行功耗,在硬件设计中取消了内存管理单元(MMU)模块。最初,运行于这类没有MMU的CPU之上的都是一些很简单的单任务操作系统,或者更简单的控制程序,甚至根本就没有操作系统而直接运行应用程序。在这种情况下,系统无法运行复杂的应用程序,或者效率很低,并且所有的应用程序需要重新开发,还要求开发人员十分了解硬件特性。这些都阻碍了不含MMU的嵌入式产品开发的速度和应用水平。uClinux专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。uClinux是一个完全符合GNU/GPL公约的项目,完全开放代码。最初的uClinux仅仅支持Palm硬件系统,基于Linux 2.0内核。随着系统的日益改进,支持的内核版本从2.0、2.2、2.4一直到现在最新的2.6。系统的开发人员从两人增加到了目前的12人,支持的硬件系统也从一种增加到了目前的十余种(支持的硬件平台如Motorola公司的M68328、M68EN322、MC68360、DragonBall系列如68EZ328、68VZ328,ColdFire系列的如5272、5307,ARM 7TDMI、MC68EN302、ETRAX、Intel i960、PRISMA、Atari 68k等等。)根据Linuxdevices网站2004年3月的调查,uClinux在全球嵌入式Linux市场所占的份额已位居第二,仅仅落后于定制Linux(即自己下载源码进行修改定制)。同时Linux在全球嵌入式操作系统的市场份额依然处于统治地位(占40%以上),领先第二名微软公司的嵌入式操作系统三倍以上(市场份额约13%)。

阅读全文

与uclinux用的多吗相关的资料

热点内容
怎么把文件存在苹果手机文件app中 浏览:517
恶意代码防范规范 浏览:767
用于建立或修改程序文件的命令是 浏览:25
phantomjs指定端口 浏览:448
extjs获取当前第几行 浏览:518
怎样导出sql数据库文件格式 浏览:157
u盘系统文件格式 浏览:376
javafind数组 浏览:41
t2080升级cpu 浏览:190
微信文件倒出来哪里找到 浏览:722
单元格删除文件夹内容 浏览:170
word2003如何修改作者 浏览:217
默认数据库端口 浏览:537
sql数据库mdb在哪里 浏览:819
win10创作者更新了什么好处 浏览:994
linuxtunelp 浏览:665
centos打开zip文件格式 浏览:995
java文明5 浏览:86
ipad输密码没反应 浏览:916
一号文件中提出了哪些要求 浏览:527

友情链接