嵌入式Linux软件如何保护,抵御盗版 (嵌入式linux软件保护以防止盗版)

随着技术的发展,嵌入式系统的应用日益广泛,而Linux作为一款强大的操作系统,更是成为嵌入式系统常用的操作系统。嵌入式Linux系统的应用范围越来越广,例如智能家居、智能电视、智能手机等等,而这些设备中都嵌有Linux系统软件,其中涉及到的各种信息大多是机密的,如果有人将这些信息盗取,不仅会导致经济损失,同时也会对公司以及客户的隐私造成极大的威胁,因此在保护Linux软件安全方面,非常重要。

那么,如何才能有效地保护嵌入式Linux软件,抵御盗版呢?以下为了解决这一问题,了几种有效的方式:

1.加密技术

使用加密技术是最基本、最有效的方式,一方面可以保护软件的安全性,另一方面也可以有效地防范盗版。根据实际需求,可以使用对称加密或不对称加密,或者两者结合的方式来保护软件。但是加密也有它的局限性,在实际的使用中应该有灵活、有效的控制方式来监控加密算法的运作过程。

2.硬件保护

将嵌入式Linux软件与硬件密切结合,采用芯片保护、加密狗等方式来实现硬件保护。这样,即使黑客盗取了软件,也无法在没有硬件设备的情况下运行软件。

3.技术特征码保护

在软件制作时,可以将一些特征码打散分布在软件代码中,使得软件的执行部分需要集配特定顺序的特征码才能执行。这样这类特征码只有在知道软件代码的情况下才能得到,并且每个软件都有不同的特征码,而且可以对特征码进行动态更改,这种方法相对较为安全。

4.增加安全检测功能

在软件内部建立一些检测模块、计时模块等安全模块,判断是否是合法用户、是否非法运行软件等情况,可以有效抵御黑客盗版。

5.基于云平台的保护方案

通过基于云平台的剑据记录和审计功能,可以有效防止黑客和病毒入侵。云平台可以及时的对软件的使用情况进行监测,能够快速发现不合法使用软件的行为,并及时的采取相关行动,而且能够完善的检测开发中存在的系统漏洞问题,并及时的进行修补。

当然,在保护嵌入式Linux软件时,还有其他一些常用手段,如:密码保护、软件补丁升级等等,这些方法虽然不能强制杜绝黑客盗版,但是可以有效的降低盗版的风险,保护软件的安全性。

针对Linux软件的安全保护需要综合运用软件、硬件、网络等多种技术方案,而且还需要通过完善的管理,不断的完善和提高系统安全性,才能建立一套有效的保护体系。因此,企业在安装和使用Linux系统软件时,需要对软件安全性问题有足够的认识,及时进行提高保障措施,有效的避免黑客的盗版风险,保障软件安全。

相关问题拓展阅读:

什么是嵌入式操作系统?

嵌入式操作系统EOS(Embedded)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较神隐成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化肢禅和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:

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

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

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

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

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

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

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

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

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

比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌人式操作系统“夸克”。“夸克”是目前全世界最小的Linux,它有两个很突出的特点,就是体积小和使用GCS编码。

常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.

嵌入式操作系统的发展

1.引言

嵌入式操作系统与嵌入式系统密不可分。嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。

嵌入式技术的发展,大致经历了四个阶段。

之一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段的历瞎尘操作系统具有一定的兼容性和扩展性,但用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。

第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。

嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。

2.嵌入式操作系统的特点

2.1嵌入式系统的开发人员对操作系统的依赖性

早期的硬件设备很简单,软件的编程和调试工具也很原始,与硬件系统配套的软件都必须从头编写。程序大都采用宏汇编语言,调试是一件很麻烦的事。随着系统越来越复杂,操作系统就显得很必要。

(1)操作系统能有效管理越来越复杂的系统资源。

(2)操作系统能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来。

(3)操作系统能够提供库函数、驱动程序、工具集以及应用程序。

在70年代的后期,出现了嵌入式系统的操作系统。在80年代末,市场上出现了几个著名的商业嵌入式操作系统,包括Vxwork、Neculeus、QNX和WindowsCE等,这些系统提供性能良好的开发环境,提高了应用系统的开发效率。

2.2嵌入式操作系统的特点

与其他类型的操作系统相比,嵌入式操作系统具有以下一些特点。

(1)体积小。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(FlashMemory)作为存储介质。这就要求嵌入式操作系统只能运行在有限的内存中,不能使用虚拟内存,中断的使用也受到限制。因此,嵌入式操作系统必须结构紧凑,体积微小。

(2)实时性。大多数嵌入式系统都是实时系统,而且多是强实时多任务系统,要求相应的嵌入式操作系统也必须是实时操作系统(RTOS)。实时操作系统作为操作系统的一个重要分支已成为研究的一个热点,主要探讨实时多任务调度算法和可调度性、死锁解除等问题。

(3)特殊的开发调试环境。提供完整的集成开发环境是每一个嵌入式系统开发人员所期待的。一个完整的嵌入式系统的集成开发环境一般需要提供的工具是编译/连接器、内核调试/跟踪器和集成图形界面开发平台。其中的集成图形界面开发平台包括编辑器、调试器、软件仿真器和监视器等。

3.嵌入式操作系统的发展状况

国外嵌入式操作系统已经从简单走向成熟,主要有Vxwork、QNX、PalmOS、WindowsCE等。国内的嵌入式操作系统研究开发有2种类型,一类是基于国外操作系统二次开发完成的,如海信的基于WindowsCE的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统HopenOS(“女娲计划”)等。

WindowsCE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使WindowsCE能够访问Internet并收发E_mail或浏览Web。除此之外,WindowsCE特有的与Windows类似的用户界面使最终用户易于使用。WindowsCE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。

3Com公司的PalmOS在掌上电脑和PDA市场上独占其霸主地位,它有开放的操作系统应用程序接口(API),开发商可根据需要自行开发所需的应用程序。

QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一组共操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十KB内存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、PDA等应用中去。

HopenOS是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心HopenKernel一般为10KB左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。

在众多的实时操作系统和嵌入式操作系统产品中,WindRiver公司的VxWorks是较为有特色的一种实时操作系统。VxWorks支持各种工业标准,包括POSIX、ANSIC和TCP/IP网络协议。VxWorks运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。在美国宇航局的“极地登陆者”号、“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks,负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。目前在全世界装有VxWorks系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、通信和情报、声纳与雷达、空间与导弹系统、模拟和测试等众多领域。

4.Linux

4.1嵌入式Linux的应用开发前景

Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源,遍布全球的众多Linux爱好者又能给予Linux开发者强大的技术支持。因此,Linux作为嵌入式系统新的选择,是非常有发展前途的。

(1)与硬件芯片的紧密结合

后PC时代的智能设备已经逐渐地模糊了硬件与软件的界限,SOC系统(SystemOnChip)的发展就是这种软硬件无缝结合趋势的证明。随着处理器片内微码的发展,在将来可能出现在处理器片内嵌进操作系统的代码模块。

嵌入式Linux的一大特点是:与硬件芯片(如SOC等)的紧密结合。它不是一个纯软件的Linux系统,而比一般操作系统更加接近于硬件。嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及与嵌入式处理器的紧密结合。

(2)开放的源代码

嵌入式Linux的另一大特点是:代码的开放性。代码的开放性是与后PC时代的智能设备的多样性相适应的。代码的开放性主要体现在源代码可获得上,Linux代码开发就像是“集市式”开发,任意选择并按自己的意愿整合出新的产品。

对于嵌入式Linux,事实上是把BIOS层的功能实现在Linux的driver层。目前,在Linux领域,已经出现了专门为Linux操作系统定制的自由软件的BIOS代码,并在多款主板上实现此类的BIOS层功能。

(3)嵌入式Linux与硬件芯片的紧密结合

对于许多信息家电的应用来说,嵌入的性能指标是最难满足的,只有靠提高芯片的集成度与装配密度来解决。嵌入式Linux与标准Linux的一个重要区别是嵌入式Linux与硬件芯片的紧密结合。这是一个不可逾越的难点,也是嵌入式Linux技术的关键之处。嵌入式Linux和商用专用RTOS一样,需要编写BSP(BoardSupportPackage),这相当于编写PC的BIOS。这不仅仅是嵌入式Linux的难点,也是使用商用专用RTOS开发的难点。硬件芯片(SOC芯片或者是嵌入式处理器)的多样性也决定了代码开放的嵌入式Linux的成功。嵌入式系统的发展,必然导致软硬件无缝结合的趋势,逐渐地模糊了硬件与软件的界限,在将来可能出现SOC片内的操作系统代码模块。

随着处理器片内微码的发展,在将来应出现在处理器片内嵌进操作系统的代码模块,很显然模块将具有安全性好、健壮性强、代码执行效率高等特点。着眼于未来的嵌入式系统的发展,我们基于对嵌入式Linux技术的深入研究,对嵌入式处理器及SOC系统的深刻理解和研究;对EDA技术的深入研究;对模拟数字混合集成电路芯片的深入研究;对SOC片内进行嵌入式Linux操作系统代码的植入研究。此类的研究有可能减轻系统开发者对BSP开发的难度要求,并使得嵌入式Linux能够成为普及的嵌入式操作系统,而大大提高嵌入式Linux的易用性,提高其开发出的高智能设备的安全性、稳定性,同时也大大提高智能设备的计算能力、处理能力。

4.2部分嵌入式Linux产品

嵌入式Linux一般是按照嵌入式目标系统的要求而设计,由一个体积很小的内核及一些可以根据需要进行随意裁减的系统模块组成。一般来说整个系统所占用的空间不会超过几M大小。目前,国外不少大学、研究机构和知名公司都加入了嵌入式Linux的开发工作,较成熟的嵌入式Linux产品不断涌现。

由美国新墨西哥理工学院开发的基于标准Linux的嵌入式操作系统RTLinux,已成功地应用于航天飞机的空间数据采集、科学仪器测控、电影特技图像处理等领域。RTLinux开发者并没有针对实时操作系统的特性重写Linux的内核,这样做工作量会非常大,而且要保证兼容性也非常困难。为此,RTLinux提供了一个精巧的实时内核,并把标准的Linux核心作为实时核心的一个进程同用户的实时进程一起调度,这样做的好处是对Linux的改动量最小,充分利用了Linux平台下现有的丰富的软件资源。

由嵌入式Linux行业主要厂商之一Lineo推出的Embedix,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务,包括Web服务器等。系统需要最小8M内存,3M只读内存或闪存。Embedix基于Linux2.2核心,并已经成功地移植到了IntelX86和PowerPC处理器系列上。

由美国网虎公司推出的XLinux,号称是世界上最小的嵌入式Linux系统,核心只有143K字节,而且还在不断减小。

致力于国产嵌入式Linux操作系统和应用软件开发的广州博利思软件公司推出的嵌入式Linux中文操作系统POCKETIX,基于标准的Linux内核,并包括一些可以根据需要进行定制的系统模块。支持标准以太网和TCP/IP协议、支持标准的XWindow,中文支持采用国际化标准,提供桌面和窗口管理功能、带WEB浏览器和文件管理器,并支持智能拼音和五笔字型输入。可适应个人PDA、WAP手机、机顶盒等广泛的智能信息产品。

4.3开发嵌入式Linux的几个问题

(1)Linux的移植。如果Linux不支持选用的平台,就需要把Linux内核中与硬件平台相关的部分改写,使之支持所选用的平台。

(2)内核的裁剪。嵌入式产品的可用资源比较少,所以它的内核相对嵌入式系统来说就显得有点大,需要进行剪裁到可利用的大小。

(3)桌面系统。现代的操作系统如果没有一个友好的界面是没有说服力的。现在的台式机Linux系统使用了传统的XWindow系统的模式—Client/Server结构。和硬件有关的部分即是Server端,实现一个标准的显示接口;应用程序通过对Server的服务请求,实现程序的显示。在此之上,实现窗口的管理功能。但XWindow对于嵌入式系统来说显得很庞大。现在国内有MiniGUI,国外有MicroWindow,都在致力于嵌入式LinuxGUI的开发。适用于嵌入式Linux上的XWindow的工作也在进行。

(4)驱动程序的开发。Linux内核更新的很快,许多最新的硬件驱动很快就被支持。但嵌入式系统应用领域是多种多样的,所选用的硬件设备也不同,并且不可能都有Linux的驱动程序,因此,设备驱动程序的开发也是重要的工作。

(5)应用软件的开发。

(6)中文的支持。

5.结束语

linux操作系统在工业生产中的应用

知道已经沦为做作业的了么

摘要:针对嵌入网络设备的应用特点,介绍了嵌入式linux的主要技术及在工业控制领域的应用方法。结合硬件平台详细说明了嵌入式linux系统的主要实现方法?同时也简要介绍了该嵌入式系统的实时内核、内存机制和文件系统的设计等内容。

关键词:嵌入式系统;嵌入式linux;工业控制

1 前言

随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。这就要求工控系统必须具备两方面的功能:一是要在现场完成复杂的测控任务,因为通常一些任务都具有一定的实时性要求;二是要求测控系统能够与某一类型的控制网相连,以实现远程监控。在目前应用的大多数测控系统中,嵌入式系统的硬件采用的是8/16位单片机;软件多采用汇编语言编程,由于这些程序仅包含一些简单的循环处理控制流程。因此,单片机与单片机或上位机之间的通信通常通过RS232、RS485来组网。前差这些网络存在通信速度慢、联网功能差、开发困难等问题。工业以太网已逐步完善,在工业控制领域获得越来越多的应用。工业以太网使用的是TCP/IP协议,因而便于联网,并具有高速控制网络的优点。

现在旅悔销,32位嵌入式CPU价格的下降和性能指标的提高,为嵌入式系统的广泛应用提供了可能。那么,限制嵌入式系统发展的瓶颈就突出地表现在软件方面。尽管从上世纪八十年代末开始,已经陆续出现了一些嵌入式操作系统(比较著名的有Vxwork、pSOS、Neculeus和Windows CE等),但这些专用操作系统都是商业化产品,其高昂的价格使许多生产低端产品的小公司望而却步;而且,源代码的封闭性也大大限制了开发者的积极性。嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、拆游易开发、多任务,并且价格低廉的操作系统。如今,业界已经达成共识:即嵌入式linux是大势所趋。 嵌入式Linux操作系统以价格低廉、功能强大、易于移植等特点而正在被广泛采用,并已成为一种新兴力量。

2 嵌入式linux技术

嵌入式Linux是按照嵌入式操作系统的要求而设计的一种小型操作系统,它由一个Kernel(内核)及一些根据需要进行定制的系统模块组成。Kernel一般只有几百kB左右,即使加上其它必须的模块和应用程序,所需的存储空间也很小。它具有多任务、多进程的系统特征,有些还具有实时性。一个小型的嵌入式Linux系统只需要引导程序、Linux微内核、初始化进程3个基本元素。运行嵌入式Linux的CPU可以是x86、Alpha、Sparc、MIPS、PPC等。与这些芯片搭配的主板都很小,通常只有一张PCI卡大小,有的甚至更小。嵌入式Linux所需的存储器不是软磁盘、硬盘、Zip盘、CD-ROM、DVD这些众所周知的常规存储器,它主要使用Rom、CompactFlash、M-Systems的DiskOnChip、Sony的MemoryStick、IBM的MicroDrive等体积极小(与主板上的BIOS大小相近),且存储容量不太大的存储器。它的内存可以使用普通的内存,也可以使用专用的RAM。

与其它嵌入式操作系统相比,Linux的源代码是开放的,不存在黑箱技术。Linux作为一种可裁剪的软件平台系统,很可能发展成为未来嵌入式设备产品的绝佳资源。Linux与生俱来的优秀网络血统更为今后的发展铺平了一条宽广平坦的大路。因此,在保持Linux内核系统更小、更稳定、更具价格竞争力等优势的同时,对系统内核进行实时性优化,更加使之能够适应对工业控制领域高实时性的要求。这也正是嵌入式linux操作系统在嵌入式工控系统中的发展所在。同时也使Linux成为嵌入式操作系统中的新贵。

标准的Linux内核通常驻留在内存中,每一个应用程序都是从磁盘运到内存上执行。当程序结束后,它所占用的内存就被释放,程序就被下载了。而在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,一是在一个简单的系统里,当系统启动后,内核和所有的应用程序都存在内存里。这是大多数传统的嵌入式系统的工作模式,同样Linux。第二种就是linux所特有的功能,因为Linux已经有能力“加载”和“卸载”程序,因此,一个嵌入式系统就可以利用它来节省内存。一个比较典型的系统有大约8MB到16MB的闪存和8MB RAM?而闪存可以被用作文件系统。用闪存驱动程序作为从闪存到文件系统的界面就是一种选择。当然,也可以用一个闪存磁盘。用闪存来摆脱系统对一个磁盘的需求(依赖)具有DiskOnChip技术以及CmopactFlash卡等方式。

用来连接Flash Memory和文件系统的程序都以文件形式存储在Flash文件中,需要时可以装入内存,这种动态的、根据需要加载的能力是支持其它一系列功能的重要特征。它能使初始化代码在系统引导后被释放。实际上,Linux同样还有很多内核外运行的公用程序,这些程序通常在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式一个接一个地按顺序运行。这样,相同内存空间可以被反复使用以“召入”每一个程序,就象系统引导一样。这样可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果将Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。由于它可以检查硬件环境并且为硬件装上相应的软件,从而消除了用一个程序占用许多Flash Memory来处理多种硬件的复杂性。另外,软件的升级更加模块化,可以在系统运行时在Flash上升级应用程序和加载驱动程序,其配置信息和运行时间参数可以作为数据文件储存在Flash中。

3 嵌入式工业控制网络的实现方案

基于嵌入式linux的工控系统以嵌入式微处理器为核心来运行嵌入式Linux操作系统。应用程序可通过网络进行更新,并可通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可用文件形式保存在Flash等闪存存储器中;数据和报警信息可通过串口向上位机传输,也可以通过以太网向工业以太网或Inernet发布,用户还可通过网络实现远程监控和远程维护。更为关键的是,可充分利用Internet上已有的软件和协议(如:ftp,http以及Apache?PHP?MySQL等应用程序)迅速搭建前台数据采集系统,以实现测控系统和后台管理系统的通讯。图1所示是这种实现方案的系统框图。这种方式的优点有:

(1)不需专用的通信线路即可用现成的INTER-NET网络将数据传送到任何地方。

(2)不仅能够传递数据信号,也可以传递音频和图像信号。

(3) 由于目前的INTERNET协议是现成和公开的,因此,利用大到几十兆的 Microsoft IE浏览器,或小到只有600kB的Mosaic浏览器都可以对网络数据进行读取。

4 系统设计

4.1 硬件设计

嵌入式系统的硬件运行平台是开发应用程序的基础,整个开发板可基于IntelR SA-1110 微处理器架构。

图2所示是一个嵌入式系统的硬件结构框图。该硬件针对网络服务的应用选择了Intel系列中的strongARM MCU。StrongARM SA-1110是一款高性能、低价位、高集成度微处理器。SA-1110芯片内部集成有能以206MHz运行的32-bit IntelR Stron-gARM* RISC处理器,以及速度可达100 MHz 的存储器总线和灵活的存储器控制器,可支持SDRAM、 ROM 以及variable-latency I/O 设备,并可为系统设计提供较高的存储带宽。由于SA-1110可以适应较大流量的网络应用,因而可为运行Linux提供硬件上的支持。此外,SA-1110还在开发板上集成有32MB的SDRAM、8 MB的FLASH、10 baseT以太网接口、RS232/RS485串口、I/O接口以及扩展FLASH卡存储器等。有关SA-1110更详细的资料可参考有关资料。

4.2 软件设计

嵌入式操作系统是整个嵌入式系统的核心。如前面所述,嵌入式系统在内存容量和存储容量不足的情况下,必须对linux进行裁减设计。在裁剪过程中,所涉及的主要技术有下面几种。

(1)内核的精简

标准Linux是面向PC的,它集成了许多PC所需要而嵌入式系统并不需要的功能。因此,对一些可独立加上或卸下的功能块,可在编译内核时,仅保留嵌入式系统所需的功能模块,而删除不需要的功能块。这样,重新编译过的内核就会显著减小。

(2)虚拟内存机制的屏蔽

经过分析发现,虚拟内存是导致Linux实时性不强的原因之一。在工业控制中,一些任务要满足一定的实时性要求,屏蔽内核的虚拟内存管理机制可以增强Linux的实时性。当要更改内核的某项机制时,一般不必大规模地写代码,可采用条件编译的方法。同时由于linux系统对应用进程采用的是公平的时间分配调度算法,但这一算法也不能保证系统的实时性要求,因此要求对其进行更改。更改途径有两种:一是通过POSIX,二是通过底层编程。笔者是通过linux的实时有名管道(FIFO)的特殊队列来处理实时任务的先后顺序。实际上,实时有名管道就象实时任务一样从不换页,因而可以大大减少由于内存翻页而造成的不确定延时。

图3给出了Linux的工作原理框图。

(3)设备驱动程序的编写

确定了内核的基本功能后,就要为特定的设备编写驱动程序,可按照在Linux下编写驱动程序的规则进行编写。编写的设备驱动程序应当具有以下功能:

●对设备进行初始化和释放;

●完成数据从内核到硬件设备的传送和从硬件读取数据两项功能;

●读取应用程序传递给设备文件的数据以及回送应用程序请求的数据;

●检测和处理设备出现的错误。

(4)开发基于闪存的文件系统JFFS

应用程序和重要数据通常以文件的形式被存放在闪存文件系统中。JFFS2 文件系统是日志结构化的,这意味着它基本上是一长列节点。每个节点包含着有关文件的部分信息。JFFS2 是专门为象闪存芯片那样的嵌入式设备创建的,所以它的整个设计提供了更好的闪存管理,因而具有其它文件系统不可比拟的优点。具体如下:

●JFFS2 在扇区级别上执行闪存擦除/写/读操作要比 Ext2 文件系统好。

●JFFS2 提供了比 Ext2fs 更好的崩溃/掉电安全保护。当需要更改少量数据时,Ext2 文件系统会将整个扇区复制到内存(DRAM)中,并在内存中合并成新数据再写回整个扇区。而JFFS2则可以随时更改需要的(不是重写)整个扇区,同时还具有崩溃/掉电安全保护功能。

实现上述几个步骤后,一个小型的Linux操作系统就构造完成了。构造后的Linux包括进程管理、内存管理和文件管理等三部分。它支持多任务并行,有完整的TCP/IP协议,同时Linux内建有对以太网控制器的支持,可以通过以太网口连到以太网上,以实现远程配置与监控。

将裁剪好的内核移植到所用的目标板上时,首先应将内核编译成针对该处理器的目标代码。由于不同硬件体系的移植启动代码会有所不同,因此,一些内核程序可能要改写。涉及到编写Linux的引导代码和修改与体系结构相关部分的代码主要是启动引导、内存管理和中断处理部分。将M-System公司的DOC2023作为系统的启动设备时,引导代码可以放在DOC上。这样?系统加电后,引导代码即可进行基本的硬件初始化,然后把内核映象装入内存并运行,最后,再将调试好的内核和应用程序烧录到闪存中。由于此时裁剪后的Linux已成功移植到目标平台上,因此,在启动可运行的开发系统时,就可以根据具体的应用来开发应用程序。如数据采集模块、数据处理模块、通信和数据发布模块等等。

5 结束语

如今,互联网应用正在转到以嵌入式设备为中心,因此,用工控系统与Internet相结合来实现网络化已是一种必然的趋势。而把嵌入式linux微处理器内核嵌入到基于StrongARM SA1110 的32位MCU系统中,然后通过构造TCP/IP多种网络协议和基本网络通信协议,再利用嵌入式操作系统对底层硬件和网络协议的支持,以及对工控系统实时性要求的lin-ux内核和虚拟内存机制进行改造,即可保证测控任务完成的实时性和可靠性。可以预见,这种方案在工业控制领域具有很好的应用前景,而且具有开发周期短、系统性能稳定可靠、适应性强等特点。

嵌入式linux软件保护以防止盗版的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于嵌入式linux软件保护以防止盗版,嵌入式Linux软件如何保护,抵御盗版,什么是嵌入式操作系统?,linux操作系统在工业生产中的应用的信息别忘了在本站进行查找喔。


数据运维技术 » 嵌入式Linux软件如何保护,抵御盗版 (嵌入式linux软件保护以防止盗版)