基于Qt对Linux系统下嵌入软件的研究与应用
2020-06-13王星
电子技术与软件工程 2020年2期
文/王星
(苏州长风航空电子有限公司 江苏省苏州市 215151)
1 引言
嵌入式信息管理软件(以下简称ISI软件)运行在Linux操作系统,驻留于计算机及图形板中,主要完成与外部设备通讯、数据处理和应用、控制内部各模块协调工作。
ISI软件架构基于模块化设计思想,采用分层实现的模式,由驱动层、中间逻辑层、应用层组成。驱动层主要包括,基于ipmitool与BMC通过串口通讯实现、基于I²C接口的各子模块与BMC的通讯实现、操作系统信息交互的CLI指令集的调用实现、与信息汇总模块的UDP通讯实现、与音视频采集模块、智能交互模块的TCP通讯实现;中间逻辑层主要包括,通过驱动层获取信息并进行信息处理后反馈给应用层,接受应用层的反馈及控制指令对驱动层进行信息交互和控制;应用层主要包括,实现信息最终的输出及控制指令的确认实现工作。ISI软件的架构设计如图1。
2 开发简介
ISI软件主要功能为,通过UDP组播方式实现汇总后的健康信息上报给信息汇总设备(以下简称SBIT);通过Qt的QProcess进程机制,采用指令调用、接口监控模式获取BMC模块、计算机及图形模块、智能交互模块的信息;利用Linux操作系统内置的shell提供的管道机制,实现对数据的选择性获取;使用TCP通讯,实现对音视频采集模块的远程控制;利用并通过ipmitool中间件,通过串口实现对BMC模块中各子模块电压、电流、温度、CPU等信息的获取;实现Linux操作系统的开机自启动功能。
ISI软件的信息分为健康信息和控制信息,健康信息包括各模块的电流、电压值、温度、自检状态、运行状态等信息,控制信息主要是信息获取指令、控制指令等,信息流详见图2。……
登录APP查看全文
