基于Linux的嵌入式测控系统设计
对于应用程序的开发,针对测控系统的具体应用,利用Linux提供API接口开发应用程序。测控系统要完成多个任务,因为屏蔽了虚拟内存机制,所有的任务共同享有物理内存,存在于统一的线性空间中。任务中的地址为真正的物理地址,由于不需要进行地址空间映射,在任务切换时的上下文切换时间大大减少,提高了响应的速度,实时性增强。Linux采用基于优先级的轮转法调度策略,能够实现多个任务并行。各个任务的实时性要求不同,可通过划分优先级,使实时性要求高的任务划分为实时进程,具有较高的优先级,优先得到调度,保证一定的实时性的要求。任务间通过信号量、消息队列等机制通信。
在嵌入式系统中软件开发的主要模块有:数据采集模块,数据处理模块,数据显示模块,通信和数据发布模块,故障诊断模块。其中故障诊断模块实现实时自诊断,在系统工作期间,对系统内部进行部分测试。即将诊断程序设置在嵌入式系统中中断级别最低的中断服务程序,在不影响系统工作的前提下,进行实时诊断。如发现故障且复诊后仍有错,通过显示界面显示,并上传给上位机,保证系统的可靠性。
在嵌入式Linux的开发中,采用主—从模式,通过串行口或以太网口,使目标板和宿主机相连。使用的是GNU的系列工具,GNU具有免费开放的源代码,也为我们开发基于Linux的应用程序提供了方便。它包括一系列的开发调试工具。主要组件有:
gcc:编译器,可做成交叉编译的形式,即在宿主机上开发编译目标机上可运行的二进制文件;
Binutils:一些辅助工具,包括objdump(可以反编译二进制文件)、as(汇编编译器)、ld(连接器)等等;
Gdb:调试器,可使用多种交叉调试方式,如gdbserve(使用以太网络调试)。
最后,将调试好的内核和应用程序烧录到闪存中。裁剪后的Linux已成经功移植到目标平台上,在开发板上运行良好。经过测试,已满足一般的实时性要求。
3 结 论
我们开发的基于Linux 的嵌入式系统应用于测控系统,能满足当前工业控制领域对测控系统提出的要求,保证测控任务完成的实时性、可靠性,可连到工业以太网实现远程监控。其硬件,接口采用插板的形式,结构简单,易于装卸,方便系统集成和维护。软件方面,用户可针对具体应用作相应修改或删除即可,因而提高了测控系统的开发效率,在工业控制领域有很好的应用前景。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论