如何在wince7中固化dll驱动

如何在wince7中固化dll驱动,第1张

运行库组件

你可以在腾讯电脑管家的电脑诊断中掘伍找到软件问题,选择丢失VC++组件,点运缺击立即修复。

在工具箱,打开旁散辩电脑诊所,丢失.Dll 文件,进行一键修复

嵌入式 *** 作系统的分类 篇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核心本身采模块化设计,让人很容易增减功能,例如我的平台并不需要蓝芽的功能,我只要不把这项功能加入,有需要就加入,不需要就删除,由于这样的高的d性,我们可以调校出最适合我们硬件平台的核心出来。

相较于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、绪论

电控机械式自动变速器(AutomaticMechanicalTransmission,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语言重点知识点

嵌入式LINUX

嵌入式Linux 是将日益流行的Linux *** 作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种 *** 作系统。Linux做嵌入式的优势,首先,Linux是开放源代码其次,Linux的内核小、效率高,可以定制,其系统内核最小只有约134KB第三,Linux是免费的OS,Linux还有着嵌入式 *** 作系统所需要的很神神多特色,突出的就是Linux适应于多种CPU和多种硬件平台而且性能稳定,裁剪性很好,开发和使用都很容易。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Token Ring(令牌环网)、光纤甚至卫星的支持。

移植步骤:

1.Bootloader的移植

2.嵌入式Linux *** 作系统内核的移植

3.嵌入式Linux *** 作系统根文件系统的创建

4.电路板上外设Linux驱动程序的编写。

WinCE

WinCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式 *** 作系统,是基于掌上型电脑类的电子设备 *** 作系统,它是精简的Windows 95,Win CE的图形用户界面相当出色。WinCE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的 *** 作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。 *** 作系统的基本内核需要至少200K的ROM。

一般来说,一个WinCE系统包括四层结构:应用程序、WinCE内核映像、板级支持包(BSP)、硬件平台。而基本软件平台则主要由WinCE系统内核映像(OS Image)和板卡支持包(BSP)两部分组成。因为WinCE系统是一个软硬件紧密结合的系统,因此即使CPU处理器相同,但是如果开发板上的外围硬件不相同,这个时候还是需要修改BSP来完成一个新的BSP。因此换句话说,就是WinCE的移植过程主要是改写BSP的过程。

Android

Android 是一个包括 *** 作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。Android 作为一个完全开源的. *** 作系统,是由 *** 作系统Linux、中间件以及核心应用程序组成的软件栈。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以很方便的开发android平台上的应用程序。其整个系统由应用程序,应用程序框架,应用程序库,Android运行库,Linux内核(Linux Kernel)五个部分组成。Android *** 作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写的。

 银山 移植的主要的工作是驱动,硬件抽象层的移植。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。

TinyOS

TinyOS是一个开源的嵌入式 *** 作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。程序采用的是模块化设计,所以它的程序核心往往都很小,一般来说核心代码和数据大概在400 Bytes左右,能够突破传感器存储资源少的限制。TinyOS提供一系列可重用的组件,一个应用锋瞎中程序可以通过连接配置文件(A Wiring Specification)将各种组件连接起来,以完成它所需要的功能。

嵌入式实时 *** 作系统(RTOS)

在工业控制、 军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式 *** 作系统。故对嵌入式实时 *** 作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。

FreeRTOS

FreeRTOS是一个迷你 *** 作系统内核的小型嵌入式系统。作为一个轻量级的 *** 作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS任务可选择是否共享堆栈,并且没有任务数限制,多个任务可以分配相同的优先权。相同优先级任务的轮转调度,同时可设成可剥夺内核或不可剥夺内核。

FreeRTOS 的移植主要需要改写如下三个文件。

1.portmacro.h

2.port.c

3. port.asm

μTenux

μTenux基于ARM微控制器平台,对uT最适用于ARM Cortex M0-M4系列的微控制器,代码开源、免费,是一个功能强大的抢占式实时多任务 *** 作系统。μTenux除具有实时嵌入式 *** 作系统的一般特性:可移植性,可固化,可裁剪等特性以外,它还具有如下优点:

(1)微内核。无MMU, ROM/RAM占用量小,所占ROM最大60KB,最小10KBRAM最大12KB,最小2KB

(2)开源免费

(3)支持所有32位ARM7/9和Cortex M系列的微控制器

(4)可配置多达到256个任务以及140个任务优先级

(5)有良好的商业支持, T-Engine论坛进行总的维护。

移植主要包括:芯片系统时钟移植,外设移植和通用输出/输入端口的移植以及看门狗模块移植。由于考虑到内核代码的重要性以及其在整个移植中的重要意义,且为了整个系统有更好的实时性,可选用汇编语言编写 *** 作系统的启动代码。

VxWorks

VxWorks系统提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。实时系统的另一关键特性是硬件中断处理。为了获得最快速可靠的中断响应,VxWorks系统的中断服务程序ISR有自己的上下文。VxWorks实时 *** 作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。系统的链接器可按应用的需要自动链接一些目标模块。这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。

移植过程可以参考网络上一些BSP代码,BSP的英文全称为board support package,即板级支持包,它的作用是针对特殊的硬件平台,为VxWorks内核提供 *** 作的接口。

μClinux

嵌入式Linux作为一个开放源代码的 *** 作系统,以价格低廉、功能强大又易移植的特性正在被广泛应用,μClinux是专门针对没有MMU的处理器而设计的嵌入式Linux,非常适合中低端嵌入式系统的需求。 在GNU通用公共许可证的授权下,μClinux *** 作系统的用户可以使用几乎所有Linux的API函数,不会因为没有内存管理单元MMU而受到影响而且,μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux,体积小了,但是仍然保留了Linux的大多数的优点,比如稳定性好、强大的网络功能、良好的可移植性、完备的文件系统支持功能、以及标准丰富的应用程序接口API等,可以支持类似ARM7TDMI等类型多的小巧玲珑的中央处理器。

eCos

eCos中文翻译为嵌入式可配置 *** 作系统或嵌入式可配置实时 *** 作系统。适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。eCos是一种开发源代码软件,无任何版权费用。 eCos最大的特点是模块化,内核可配置。如果说嵌入式Linux太庞大了,那么eCos可能就能够满足要求。它是一个针对16位、32位和64位处理器的可移植开放源代码的嵌入式RTOS。和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。eCos具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。

eCos的软件分了若干的模块,移植工作主要在他的hal层进行,所谓hal(硬件抽象层)就是把和硬件相关的软件凑到一起。

μC/OS-II

μC/OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。μC/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。其结构小巧简洁且支持抢占式的多任务调度与管理。此实时 *** 作系统管理任务数多达64个,且提供内部程序存储器管理、系统运行时间管理、多任务实时调度与管理等功能。由于它的作者占用和保留了8个任务,所以留给用户应用程序最多可有56个任务。赋予各个任务的优先级必须是不相同的。这意味着μC/OS-II不支持时间片轮转调度法。μC/OS-II为每个任务设置独立的堆栈空间,可以快速实现任务切换。

将μC/OS-II *** 作系统移植到目标处理器上,需要从硬件和软件两方面来考虑。硬件方面,目标处理器需满足以下条件:

①处理器的C编译器能产生可重入代码

②用C语言可以开/关中断

③处理器支持中断,并且能够产生定时中断(通常在10~1000 Hz之间)

④处理器能够支持容纳一定量数据的硬件堆栈

⑤处理器有将堆栈指针和其他寄存器读出和存储到堆栈或内存中的指令。

软件方面,主要是一些与处理器相关的代码移植,其分布在OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM这3个不同的文件中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12566222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存