您的位置 首页 传感器

C言语编程程序优化计划,怎么挑选一个ARM品牌中心处理器操作系统

C语言编程程序优化方案,如何选择一个ARM品牌核心处理器操作系统-当对一个变量频繁被读写时,需要反复访问内存,从而花费大量的存取时间。为此,C语言提供了一种变量,即寄存器变量。这种变量存放在CPU的寄

  C言语编程程序优化方案

  在C言语中,宏是产生内嵌代码的仅有办法。关于嵌入式体系而言,为了能到达功用要求,宏是一种很好的代替函数的办法。

  写一个“规范”宏MIN ,这个宏输入两个参数并回来较小的一个:

  错误做法:

  #define MIN(A,B)  ( A 《= B ? A : B )

  正确做法:

  #define MIN(A,B) ((A)《= (B) ? (A) : (B) )

  关于宏,咱们需求知道三点:

  (1)宏界说“像”函数;

  (2)宏界说不是函数,因此需求括上一切“参数”;

  (3)宏界说或许产生副效果。

  下面的代码:

  least = MIN(*p++, b);

  将被替换为:

  ( (*p++) 《= (b) ?(*p++):(b) )

  产生的作业无法意料。

  因此不要给宏界说传入有副效果的“参数”。

  运用寄存器变量

  当对一个变量频频被读写时,需求重复拜访内存,然后花费许多的存取时刻。为此,C言语供给了一种变量,即寄存器变量。这种变量存放在CPU的寄存器中,运用时,不需求拜访内存,而直接从寄存器中读写,然后进步功率。寄存器变量的阐明符是register。关于循环次数较多的循环操控变量及循环体内重复运用的变量均可界说为寄存器变量,而循环计数是运用寄存器变量的最好候选者。

  (1) 只要部分主动变量和形参才干够界说为寄存器变量。由于寄存器变量归于动态存储办法,凡需求选用静态存储办法的量都不能界说为寄存器变量,包括:模块间全局变量、模块内全局变量、部分staTIc变量;

  (2) register是一个“主张”型关键字,意指程序主张该变量放在寄存器中,但终究该变量或许由于条件不满意并未成为寄存器变量,而是被放在了存储器中,但编译器中并不报错(在C++言语中有另一个“主张”型关键字:inline)。

  下面是一个选用寄存器变量的比方:

  /* 求1+2+3+….+n的值 */

  WORD AddiTIon(BYTE n)

  {

  register i,s=0;

  for(i=1;i《=n;i++)

  return s;

  }

  本程序循环n次,i和s都被频频运用,因此可界说为寄存器变量。

  内嵌汇编

  程序中对时刻要求严苛的部分能够用内嵌汇编来重写,以带来速度上的明显进步。可是,开发和测验汇编代码是一件辛苦的作业,它将花费更长的时刻,因此要稳重挑选要用汇编的部分。

  在程序中,存在一个80-20准则,即20%的程序耗费了80%的作业时刻,因此咱们要改善功率,最首要是考虑改善那20%的代码。

  嵌入式C程序中首要运用在线汇编,即在C程序中直接插入_asm{ }内嵌汇编句子:

  /* 把两个输入参数的值相加,成果存放到别的一个全局变量中 */

  int result;

  void Add(long a, long *b)

  {

  _asm

  {

  MOV AX, a

  MOV BX, b

  ADD AX, [BX]

  MOV result, AX

  }

  }

  运用硬件特性

  首先要理解CPU对各种存储器的拜访速度,根本上是:

  CPU内部RAM 》 外部同步RAM 》 外部异步RAM 》 FLASH/ROM

  关于程序代码,现已被烧录在FLASH或ROM中,咱们能够让CPU直接从其间读取代码履行,但一般这不是一个好办法,咱们最好在体系发动后将FLASH或ROM中的方针代码复制入RAM中后再履行以进步取指令速度;

  关于UART等设备,其内部有必定容量的接纳BUFFER,咱们应尽量在BUFFER被占满后再向CPU提出中止。例如计算机终端在向方针机通过RS-232传递数据时,不宜设置UART只接纳到一个BYTE就向CPU提中止,然后无谓糟蹋中止处理时刻;

  假如对某设备能采纳DMA办法读取,就选用DMA读取,DMA读取办法在读取方针中包括的存储信息较大时功率较高,其数据传输的根本单位是块,而所传输的数据是从设备直接送入内存的(或许相反)。DMA办法较之中止驱动办法,削减了CPU 对外设的干涉,进一步进步了CPU与外设的并行操作程度。

  活用位操作

  运用C言语的位操作能够削减除法和取模的运算。在计算机程序中数据的位是能够操作的最小数据单位,理论上能够用“位运算”来完结一切的运算和操作,因此,灵敏的位操作能够有用地进步程序作业的功率。举例如下:

  /* 办法1 */

  int i,j;

  i = 879 / 16;

  j = 562 % 32;

  /* 办法2 */

  int i,j;

  i = 879 》》 4;

  j = 562 – (562 》》 5 《《 5);

  关于以2的指数次方为“*”、“/”或“%”因子的数学运算,转化为移位运算“《《 》》”一般能够进步算法功率。由于乘除运算指令周期一般比移位运算大。

  C言语位运算除了能够进步运算功率外,在嵌入式体系的编程中,它的另一个最典型的运用,并且非常广泛地正在被运用着的是位间的与()、或(|)、非(~)操作,这跟嵌入式体系的编程特征有很大联系。咱们一般要对硬件寄存器进行位设置,比方,咱们通过将AM186ER型80186处理器的中止屏蔽操控寄存器的第低6位设置为0(开中止2),最通用的做法是:

  #define INT_I2_MASK 0x0040

  wTemp = inword(INT_MASK);

  outword(INT_MASK, wTemp ~INT_I2_MASK);

  而将该位设置为1的做法是:

  #define INT_I2_MASK 0x0040

  wTemp = inword(INT_MASK);

  outword(INT_MASK, wTemp | INT_I2_MASK);

  判别该位是否为1的做法是:

  #define INT_I2_MASK 0x0040

  wTemp = inword(INT_MASK);

  if(wTemp INT_I2_MASK)

  {

  … /* 该位为1 */

  }

  上述办法在嵌入式体系的编程中对错常常见的,咱们需求结实把握。

  总结

  在功用优化方面永久留意80-20预备,不要优化程序中开支不大的那80%,这是水中捞月的。

  宏界说是C言语中完结相似函数功用而又不具函数调用和回来开支的较好办法,但宏在本质上不是函数,因此要防止宏打开后呈现不行意料的成果,对宏的界说和运用要慎而处之。很惋惜,规范C至今没有包括C++中inline函数的功用,inline函数兼具无调用开支和安全的长处。

  运用寄存器变量、内嵌汇编和活用位操作也是进步程序功率的有用办法。

  除了编程上的技巧外,为进步体系的作业功率,咱们一般也需求最大或许地运用各种硬件设备本身的特征来减小其作业开支,例如减小中止次数、运用DMA传输办法等。

  怎么挑选一个ARM品牌中心处理器操作体系

  ARM公司是国际最大的半导体知识产权供货商,具有全球近200家半导体公司的客户。现在,80%的GSM手机,99%的CDMA手机,以及未来3G手机也都是选用依据ARM核的嵌入式处理器。供给研讨剖析信息的组织Gartner Inc,2003年6月份计算,2002年ARM在全球半导体IP供货商中排名榜首,占商场份额的19.8%,出售收入达1.8亿美圆,比2001年增加10%。

  现在,除了像TI OMAP, Intel的Xscale和Motorola的IMX系列这样的移动终端处理器选用ARM核外,也还有象Samsung, Atmel, Sharp, OKI和Philip等半导体公司规划一些通用ARM核的处理器,能够广泛运用在各种嵌入式体系,现在在商场上看到比较多的有S3C44B0, 4510,2410,AT91系列和Intel PXA255等。

  ARM处理器是32位规划,一起也装备了16位指令集,软件能够以16位编码与等价32位代码比较,占用的存储器空间能够节约约35%。ARM处理器现在有ARM7, ARM9, ARM9E, ARM10, ARM11系列产品和来自合作伙伴Intel Xscale和Strong ARM系列ARM7,适合于中低端的网络设备、终端、各种通用型的嵌入式运用和工业操控等范畴。ARM9适合于智能手机、PDA和先进的操控办理和仪器仪表运用。Intel Xscale系列产品供给了高功用价格比、低功耗、适用于智能无线终端、PDA、家庭网络和网络存储器设备等运用。

  嵌入式操作体系是ARM CPU重要的软件根底

  从8位/16位单片机开展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作体系将代替传统的由手艺编制的监控程序或调度程序,成为重要的根底组件。嵌入式操作体系能够供给ARM CPU核和外设的设备办理,如核的初始化、MMU(内存办理单元)、定时器、中止、串口、SPI、GPIO、以太网、图形接口等,嵌入式操作体系供给使命调度、内存办理、中止处理、同步互斥机制、文件体系和网络功用,更重要的一点是嵌入式操作体系对运用程序能够起到屏蔽的效果,让运用程序员面向操作体系级开发运用软件,并易于在不同的依据ARM核的嵌入式处理器上移植。

  嵌入式操作体系都一般具有必定的实时性,易于裁剪和弹性,能够适合于从ARM7到Xscale各种ARM CPU和各种层次的运用,嵌入式操作体系能够运用广泛盛行的ARM开发东西,如ARM公司的SDT/ADS和Real View、IAR EW等也能够运用开源的软件,如GCC/GDB、KDE或Eclipe开发环境,商场上还有商业厂商的专用的开发东西,如Tornado、μC/View、μC/KA、CODE/Lab、Metroworks等。

  本文就现在国内在ARM CPU上广泛选用的三种嵌入式操作体系做个剖析,μC/OS-II、μCLinux和嵌入式Linux。后两种同归于Linux,前者是针对没有MMU的微处理器,如ARM7 TDMI核,后者可适用于绝大大都有MMU的微处理器中,如ARM920T,当然,文章也会涉及到其它支撑ARM CPU的嵌入式操作体系。

  μC/OS-II嵌入式实时内核

  由Jean Labrosse先生著,邵贝贝教师翻译的《嵌入式实时操作体系μC/OS-II》先后由电力出书社(榜首版)和航空航天大学出书社出书(第二版)发行了近万册,信任有数以千计的学生、教师和工程师正在运用μC/OS-II,在曩昔的一年中(2003),在《电子产品国际》、《电子规划运用》和《单片机和嵌入式体系运用》等杂志和各种学术会议上的有μC/OS-II相关论文就有几十余篇。全国际数百种设备现已在运用μC/OS-II,包括如手机、路由器、不间断电源、飞行器、医疗设备和工业操控设备,在我国也现已有包括香港权智,首科希电,安控科技在内的10余家公司购买了产品授权。

  μC/OS-II现已有ARM7TDMI、ARM9和Strong ARM等各种ARM CPU的移植,支撑包括Atmel、Hynix、Intel、Motorola、Philips、Samsung、Sharp等公司的ARM核的CPU。μC/OS-II的移植也适当简略,与CPU相关的代码包装在三个文件中,os_cpu.h,os_cpu_a.asm,os_cpu_c.c,并且Jean Labrosse先生的运用笔记AN-1011和AN-1012对ARM7、AN-1337对ARM9的移植进程都做了具体的阐明。

  μC/OS-II有60余个体系调用,掩盖使命、定时器、信号量、工作标志、邮箱、行列和内存办理,现已包括了传统嵌入式操作体系内核(如PSOS,VRTX)的功用,还支撑互斥型信号量(Mutual Exclusion Semaphone),这是90年代的嵌入式操作体系内核,如Vxworks和VRTXsa才有的技能。

  μC/OS-II由于是可抢占的实时内核,所以μC/OS-II与商业嵌入式实时内核在功用上没有什么差异,μC/OS-II没有用户态和内核态,使命(线程)或中止和使命切换的呼应能够很快,首要是和不同的ARM CPU相关的。最新的2.7x版别还增加了算法以防止在移植中修正OSINTCEXSW()中的仓库指针。这样能够确保μC/OS-II在不同的CPU上作业更安稳,移植更便利。

  总归,μC/OS-II是一个非常简略学习(有一本很好的解说很清楚的书),结构简略,功用齐备和实时性很强的嵌入式操作体系内核,适合于各种嵌入式运用以及大专院校教育和科研。

  μC/OS-II现在除了内核外还有商业化文件体系μC/FS,图形体系μC/GUI以及使命调试东西μC KA和μC View,可是μC/OS-II自己现在还没有TCP/IP(有方案)假如需求,能够购买商用的TCP/IP,如InterNiche (www.iniche.com),但价格仍是很贵,免费的TCP/IP项目如LWIP (http://www.sics.se/~adam/lwip/),但不管在功用仍是安稳性与商业代码无法比拟,这或许也是现在μC/OS-II的缺点。

  最终需求阐明,μC/OS-II不是免费软件,任何人学习运用μC/OS-II需求购买《嵌入式实时操作体系μC/OS-II》一书,运用了μC/OS-II的产品需%&&&&&%买产品出产授权,购买了此授权的还能够得到开发期间的技能支撑和晋级服务。

  μCLinux操作体系

  μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的小型化Linux操作体系,在ARM CPU系列中,ARM7 TDMI,ARM940T等ARM核的CPU产品,假如期望运用Linux操作体系,只能用μCLinux,当然,μCLinux也支撑Motorola Dragonball, Coldfire等其它中低端嵌入式处理器。

  μCLinux坚持了传统Linux操作体系的首要特性,包括安稳、强壮的网络和文件体系的支撑,μCLinux裁剪了许多的Linux内核以缩小尺度,适合象512k RAM,1M Flash这样小容量,低本钱的嵌入式体系。

  μCLinux的项目是由Linux 2.0.38内核开端的,榜首个项目是Motorola 68EZ328,现在现已有2.4 Linux支撑的一些移植的版别,如S3C2500, 44B0等ARM芯片,这些,你能够在μCLinux的官方网站www.uclinux.org上找到,μCLinux近期首要是在开展各种2.4.x版别的移植,以期跟上Linux社会干流的开展趋势(由于本年Linux 2.6将开端成为干流的内核)。

  μCLinux体系小型化的另一个重要原因是选用了μCLib库代替Linux的Glib库,运用μCLib能够大大削减运用程序的代码尺度,关于中小型嵌入式运用,μCLib功用能够满意需求,所以现在即便是某些选用Linux 2.4内核的嵌入式LINUX体系也选用μCLib库的做法。μCLinux中,由于没有内存保护机制,运用代码一般选用静态衔接的办法,并且在μCLinux中选用Flat文件履行格局(Linux是Coff或Elf格局), μCLinux和运用代码都能够支撑固化,存储在Flash存储介质中,不需象Linux需求通过一次Flash到RAM的复制。一切这些,使得μCLinux更象传统意义上的嵌入式操作体系。

  μCLinux首要是针对没有MMU的嵌入式处理器开发规划,那么它也失去了有MMU所带来的Linux操作体系的特征,比方,上面现已说到的静态加载(Linux支撑动态运用的加载),μCLinux对内存操作是直接的物理内存,这样,任何程序的反常都或许导致内核溃散,μCLinux选用Vfovk(),支撑多进程,但需求父子进程和谐同步,μCLinux的文件体系相对比较陈腐,支撑的CPU和参阅规划还比较少,社区的开展和保护也相对缓慢。更重要的是,在国内外没有一家软件公司有商业化的μCLinux软件产品和服务支撑,现在μCLinux官方网站还很少看见象IBM、Intel这样的巨型公司身影,只要2~3家小型的硬件或方案供给商,这关于商业化的产品开发中选用是有必定的危险。

  嵌入式Linux操作体系

  咱们这儿要评论的是能够嵌入在ARM CPU上的,有MMU功用的Linux操作体系,也能够称是嵌入式Linux操作体系。芬兰学生Linux Torvalds在91年写完榜首个Linux版别时,怎样也无法幻想到今日Linux在全国际规模被广泛注视和运用。嵌入式体系作为Linux运用的一个重要范畴,由于它的广泛性和多样化正在迅速开展。

  和微软的软件不相同,Linux不是由一家公司所具有、保护开发的,Linux在商场有多种发行版别,一切发行版别都包括相同的Linux内核、根本东西和运用,不同的发行版别首要是在附加的东西链、运用、装备以及各种内核补丁上有所不同。嵌入式Linux首要是在实时性增强、内核精简和削减、支撑多种CPU结构(如ARM CPU)等方面做了改善和进步。

  运用Linux在嵌入式体系中有两种途径。

  榜首是用户自己安装(称为DIY内核),你能够在www.kernel.org找到悉数Linux代码,或直接到ARM CPU的源代码树下www.ARMLinux.org.uk找到你需求的Linux版别在ARM下的移植,或许某些半导体公司,如三星、Motorola也在自己的网站或出售自己的ARM评价板的时分送给一张CD,里边含有一个能够支撑他们评价板的最小Linux内核体系。假如这个最小内核没有包括GCC/GDB东西链,你或许还要到GNU的网站下载悉数的源代码,然后再编译生成你需求版别的ARM东西链和运用程序库,这个进程是适当耗时和困难的。还需求指出,这种DIY内核的装备,增加运用和驱动程序也是不规范的和杂乱的,这是嵌入式体系的特殊性地点,比方说,有的依据ARM的运用是网络上的小型互连设备,他需求多个以太网、USB主机、小型的NOR Flash文件体系,而一个ARM手持终端,它关怀的是LCD的触屏、红外或蓝牙的接口、USB用户端、快速的发动,动态的电源办理和NADA FLASH,这样,你就需求在数十家Linux相关网站下载各种补丁,运用和东西,把它们和你拿到的这个内核进行重复的编译和调试,坚信它们之间以及它们在你所用的ARM CPU硬件评价板上是安稳牢靠作业的,这个进程是在没有任何技能支撑下完结的。当然,假如能够从某家半导体公司或开源的网站能够得到“最小内核”,它所包括的组件(如驱动、运用和文件体系)和你的运用近似,并且代码是牢靠的,或许你及时正确得到Linux网友的辅导,那么你是走运的。听说,有一个闻名的电信设备制造商花了2年的时刻和150万美圆在一个项目中开发自己的Linux,并且最终还不得不中止了。

  第二是挑选一个商业的嵌入式Linux操作体系渠道。商业化的嵌入式Linux版别是针对嵌入式处理器,如ARM所优化规划的,现已支撑了各种半导体厂家的评价板和首要的设备驱动,商业化的嵌入式Linux包括了文件体系、运用、实时性扩展和技能支撑培训服务,如今国外闻名的商业化嵌入式Linux产品有:MontaVista Linux, Bluecat Linux, TImesys Linux, Metrowork Linux(原Lineo), Vlinux(韩国)和Redhat Linux等,国内也有红旗、中软、新华嵌入式Linux。

  MontaVista Linux是MontaVista软件公司于99年推出的,它是现在全球最优异的嵌入式Linux操作体系和东西供货商,MontaVista在嵌入式Linux的实时性、穿插开发东西、高可用性、动态电源办理等Linux技能关键方面具有国际领先地位。

  MontaVista Linux最版别是3.1,选用Linux 2.4.20,针对8种CPU系列(包括ARM和Xscale)优化定制的商业化版别,包括了最新O(1)实时调度器,可抢占的内核,微秒级的高分辩定时器,依据Eclipse的DevRocket开发环境,支撑运用、内核和文件体系(固化)的装备和调试,以及测验和剖析东西,纯Windows, Linux和Solaris开发主机,80余种评价板和运用体系的设备驱动支撑。

  挑选象MontaVista Linux这样商业化嵌入式Linux,能够让用户把时刻和资金放在运用软件和特定的硬件接口和设备驱动程序,运用商业嵌入式Linux,能够得到必定时刻(一般是1年)的技能支撑,晋级和培训(这很重要,由于Linux是每天都在改变的)。

  商业嵌入式Linux现在除国内的产品外,价格仍是很贵重的,依据装备和服务时刻,大约从几千到几万美圆,大都国内用户从资金和心理上还很难接受,商业嵌入式Linux开发东西相关于Microsoft和象Tornado/VXWORK的开发东西,在易于运用和丰厚性方面还待于进步和改善。

  同作为Linux操作体系,我是引荐运用带有MMU 的 Linux ,而不是μCLinux,由于绝大大都新的ARM CPU 都是AMR9核,他们都带有MMU 了,不管是开放源码的LINUX 社区仍是商业的嵌入式LINUX 公司的支撑和保护都比μCLinux,要好,快和丰厚的多。

  结束语

  前面咱们对三种在ARM CPU上较为盛行的嵌入式操作体系作了具体的剖析,在进入一个总结之前,我还想说到几个在国际上很有名望的嵌入式操作体系,它们是Windriver公司的Vxworks、ATI的Nucleus、日本人的iTron和WinCE。

  Windriver的Vxworks在两三年前从前是最具影响力的嵌入式操作体系,简直首要的通讯设备制造商都是选用PowerPC+Vxworks这种组合,可是在ARM CPU上,Vxworks的运用并不多见;ATI的Nucleus(现在现已是Mentor的嵌入式部分)从前作为最有名望的源代码、没有版税的嵌入式操作体系而在北美和亚洲台湾盛行,最成功的规划典范是各种GSM移动电话,Nucleus仅仅一个实时内核,用户需求再购买它的TCP/IP,GUI,文件体系和设备驱动才干构成一个功用完好的嵌入式体系,这使它在近些年失去了优势;日本人的iTron是在日本简直众所周知的嵌入式内核,规范的编程接口、低价的价格(1~3千美圆)、没有版税、支撑简直一切的CPU(尤其是支撑许多日本的CPU),但在除日本之外,iTron好象毫无建树;微软的WinCE,简直一切高端PDA都是选用它,它们运用的是 Xscale或ARM9这样的CPU,但微软仅仅关怀有产值象PC相同巨大的嵌入式设备制造商,所以他并没有把自己的WinCE象Linux相同易于移植到不同的CPU和增加设备驱动程序,微软更愿意象Windows相同自己把一切作业做好,你仅仅拿去用好了,假如你没有适当的等级,很难取得它的个性化定制服务。

  最终咱们概括一下挑选一个适合的ARM CPU的嵌入式操作体系的几个重要因素。

  榜首是运用。假如你想开发的嵌入式设备是一个和网络运用密切相关或许便是一个网络设备,那么你应该挑选用嵌入式Linux或许μCLinux,而不是μC/OS-II,由于Linux不仅为你集成了TCP/IP协议,还有很丰厚的其它网络协议,如DHCP Server,PPPoe,webserver等等。

  第二是实时性。没有一个肯定的数字能够告知你什么是硬实时,什么是软实时,它们之间的边界也对错常含糊的,这与你挑选什么样的ARM CPU,它的主频,内存等参数有必定的联系,象Intel Xscale这样的处理器,即便合作一般Linux的内核,内核的抢占延时最坏状况也只要1.743毫秒,而99.9%的状况是1.42毫秒,而假如你运用参加实时补丁等技能的嵌入式Linux如MontaVista Linux(2.4.17版别内核),最坏的状况只要436微秒,而99.9%的状况是195微秒,上面的数字以及考虑到最新的Linux在实时性方面的改善(如低延时O(1)调试器,微秒级的高分辩率POSIX定时器),嵌入式Linux能够适合于90~95%的各种嵌入式体系运用。当然,你假如期望更高数量级的实时呼应,如高速的A/D转化需求几个微秒以内的中止延时,要求一个毫秒级没有DMA办法的异步串行实时处理器等相似的运用,或许是选用μC/OS-II是适合的。当然,你选用象Vxworks这样传统的嵌入式操作体系也能够满意这样的强实时性要求。

  第三是开发东西。坦言说,现在μC/OS-II、μCLinux和嵌入式Linux的开发东西与商业嵌入式操作体系东西还有一些距离,现在在ARM CPU上广泛盛行和运用的是ARM公司SDT/ADS东西链,产品不管在功用、安稳性和很多的第三方厂商支撑方面,都很好,仅有缺乏的是短少对嵌入式操作体系的支撑,SDT/ADS的晋级产品RealView方案支撑GCC和嵌入式Linux,但现在还没有看到,μC/OS-II能够运用ARM SDT/ADS,但没有OS调试功用。假如期望支撑OS调试,能够运用IAR或Nohan调试器,μCLinux的调试除GDB外还有第三方调试器,并合作Cygwin构成Windows环境下μCLinux开发环境,象Aiji的 Spider和Micetek 的Hitool。

  第四是你所挑选的ARM CPU和参阅板,象ARM7TDMI和ARM940T(如S3C2500/2510)核是不能运用嵌入式Linux(MMU),假如你想用Linux,只能用μCLinux,假如你想用Vxworks,你需求了解一下供给评价板的公司是否有BSP(板支撑包),Vxworks自己只要少量ARM公司评价板的支撑。

  最终是价格和技能服务。我国工程师的薪水大约是欧美日等国的非常之一,所以在考虑购买商业嵌入式操作体系时,会遇到是买仍是自己做的问题,这是很正常的,尤其是在选用开放源代码技能时,这个问题就就愈加杰出。有一点需求留意的是,有些产品如Vxworks是既按用户数(有License保护锁)收取开发费,也按你产品售出的实践数量收取每个Vxworks软件作业的版税。μC/OS-II仅仅收取每种产品一次性版税(不限数量)。Nucleus和Threadx是一次性收取开发加上出产的费用。Linux不管是μCLinux仍是嵌入式Linux(即便是商业版别象MontaVista Linux)是不收版税的,商用嵌入式Linux是以服务费或订阅办法收取开发时的费用。很明显,国外产品价格是贵一些(首要是他们人力本钱高),但不能不供认他们在嵌入式操作体系的技能现已远远走在了前方。值得提示咱们的是在ARM开发东西和评价板的很多国内供货商中,有不少现已做了开放源码操作体系的移植和示范性的Demo,但应该留意他们大都不具有保护和支撑操作体系渠道的才能和经历,过多地依靠他们是有危险的。

  种类很多,价格适合的ARM CPU加上开放源码嵌入式操作体系为我国嵌入式体系和设备制造商的开展发明了一个有利的机遇,正确迅速地运用这些技能,能够加速咱们具有竞争力的新一代电子产品上市的时刻和进步产品的层次。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/181253.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部