论文部分内容阅读
[摘要]对于嵌入式系统的外部开发人员来说,通常使用的交叉调试工具只能对一段程序或代码进行调试,而对整体系统的运行行为和运行逻辑无法了解,因此对一些系统级行为和逻辑错误的定位和调试变的非常困难。针对这一问题,本文设计了一种针对嵌入式系统的多目标机系统监视方法。该方法通过在嵌入式操作系统中插入记录事件的桩程序,在监视系统运行过程中将各事件发生时间及参数记录下来,并将记录的监视数据发送到宿主机端,由宿主机端的软件解析这些数据,并以图形化的方式展示出来,直观地重现嵌入式操作系统的运行行为和运行逻辑。
[关键词]嵌入式系统;系统监视器
1.引言
如今嵌入式系统的应用越来越广泛,对嵌入式系统开发工具的需求也越来越多,而一个功能全面、使用便捷的工具可以很大程度上提高开发的效率[1][2]。
多目标机系统监视器支持对多目标机系统同时进行监视配置、启动、停止、上传监视数据;支持对多目标机系统运行行为和运行逻辑图形化查看和分析,便于开发者发现由多目标机组成的系统其中隐含的运行行为及运行逻辑的错误。
2.监视器系统结构和组成
该多目标机系统监视方法需要的软件模块组成见图1。
图1 系统监视器模块组成
主要由目标机监视控制器、目标机通信管理器、监视器数据查看器、命令响应器、监视器和监视记录桩组成。
2.1目标机监视控制器
目标机监视控制器为用户提供监视控制图形界面,监视控制图形界面提供的用户操作有:目标机配置——配置要监视的目标机,目标机连接——控制目标机通信管理器,配置各目标机监视参数、启动监视指定的目标机、停止监视指定的目标机、打开查看指定目标机的监视数据。
其中,配置监视参数、启动监视、停止监视操作将生成监视命令,交由目标机通信管理器向目标机端发送,并处理来自目标机通信管理器接收到的目标机端的回复。
最后,打开查看指定目标机的监视数据操作控制监视数据查看器将目标机监视数据打开查看。
2.2目标机通信管理器
目标机通信管理器提供多目标机监视操作相关数据包通信能力。相关数据包包括:命令数据包(如:连接、监视配置、监视启动、监视停止、监视数据上传)、命令回复包、监视数据包。目标机通信管理器将目标机监视控制器产生的命令转换为命令数据包,发送到命令指定要发往的目标机,接收所有建立了通信连接的目标机的命令回复数据包和监视数据包,解析接收到的数据包得到命令的回复或监视数据。
2.3监视数据查看器
监视器数据查看器提供监视数据的图形化查看、分析能力。它将所有记录的目标机事件通过图形化的方式展现给用户,用户从监视数据查看器中,可以查看系统上下文组成、每个上下文的执行行为(信号量、定时器、消息队列、缓冲、端口等内核对象的操作),上下文调度等信息。
2.4命令响应器
命令响应器在目标机端,接收宿主机端目标机通信管理器发送的命令数据包,向宿主机端目标机通信管理器发送回复数据包、监视数据包。分析接收的命令数据包,从而执行监视控制操作(包括监视启动、监视停止、监视数据上传),并且将执行的结果生成回复数据包,发往宿主机端。
2.5监视器
监视器向命令响应器提供监视控制操作。包括监视启动、监视停止、监视数据上传。监视启动时,创建保存监视数据的缓冲区,然后创建监视记录头(内容包括:目标机系统的时间戳频率、包含的上下文、当前上下文等信息),最后打开监视记录开关。监视停止时关闭监视记录开关。监视数据上传时,从监视缓冲区中读出监视数据,然后组织成监视数据包发送给宿主机端,缓冲区中所有的数据读出上传完成后,销毁缓冲区。
2.6监视记录桩
监视记录桩根据监视记录开关的状态,决定是不是记录监视数据到缓冲区。当监视记录开关打开时,记录监视数据到缓冲区,监视记录开关关闭时则不记录。监视记录桩在记录监视数据时,按照定义好的事件格式,事件数据项进行记录。
3.系统监视方法工作流程
多目标机系统监视方法的具体工作流程:
(1)用户在目标机监视控制器中配置要进行系统监视的目标机。配置参数包括:目标机名、目标机连接方式、目标机监视配置参数。
(2)用户在目标机监视控制器中进行连接操作,目标机通信管理器向所有配置的目标机发送连接命令数据包。
(3)命令响应器执行连接命令,组织回复包发送给宿主机端。
(4)宿主机端目标机通信管理器收到目标机回复数据后,和目标机建立起通信连接。
(5)用户在目标机监视控制器中选择要启动监视的目标机,进行启动监视操作,目标机监视控制器生成监视启动命令,并传递给目标机通信管理器。
(6)目标机通信管理器发送启动命令到目标机端的命令响应器。
(7)命令响应器执行启动命令,控制监视器启动监视。
(8)嵌入式OS中监视记录桩运行过程中的监视数据记录到监视缓冲区中。
(9)用户在目标机监视控制器中停止指目标机的监视操作,目标机监视控制器将用户停止监视操作转换为停止命令和上传命令,并将命令传递给目标机通信管理器。
(10)目标机通信管理器将停止监视控制命令发送给目标机端的命令响应器。
(11)命令响应器执行停止命令,控制监视器停止监视。
(12)嵌入式OS中的监视记录桩停止记录监视数据。
(13)目标机通信管理器将上传命令发送给目标机端的命令响应器。
(14)命令响应器执行上传命令,控制监视器取得监视数据并发送给目标机通信管理器。
(15)目标机通信管理器接收到监视数据后将其传递给监视数据查看器。
(16)监视数据查看器进程监视数据的解析,绘制出系统运行行为和运行逻辑图形。
4.监视结果显示
系统监视器监视数据查看器绘制的系统运行行为和逻辑图形界面如图2所示。
图2 监视数据查看界面
在监视数据图形化查看界面中,上方横轴是时间轴,左侧纵轴是各任务或进程。图中的小图标,表示在横轴对应的时间点,对应的任务或进程发生了图标所表示的事件。比如_worker_task在28.54085时间点,发生了信号量释放事件(三角旗图标)。图中用波浪线、锯齿线等不同形式的线,表示对应的任务或进程在一个时间段里的状态。比如p2:user2在图中窗口时间段范围内处于就绪状态。
在界面上方的工具栏中,可以对图像做放大、缩小等操作,还可以选择对处理器使用、存储器使用以表格或图形方式进行查看。
5.结束语
本文设计的多目标机监视方法,能够同时对多个目标机进行监视,并能够对目标机系统运行行为和运行逻辑进行图形化查看和分析,为用户提供了一种便捷有效的分析系统的途径。
参考文献
[1]王培进,李晓路.嵌入式系统集成开发平台的设计与实现.计算机应用与软件,2012(第5期):109-112
[2]粟明,赵克佳,卢凯.嵌入式系统开发环境目标监控器技术研究.计算机应用研究,2004(第8期):61-63.
作者简介
卫进(1987-),女,硕士,主要从事软件与理论方面研究。
[关键词]嵌入式系统;系统监视器
1.引言
如今嵌入式系统的应用越来越广泛,对嵌入式系统开发工具的需求也越来越多,而一个功能全面、使用便捷的工具可以很大程度上提高开发的效率[1][2]。
多目标机系统监视器支持对多目标机系统同时进行监视配置、启动、停止、上传监视数据;支持对多目标机系统运行行为和运行逻辑图形化查看和分析,便于开发者发现由多目标机组成的系统其中隐含的运行行为及运行逻辑的错误。
2.监视器系统结构和组成
该多目标机系统监视方法需要的软件模块组成见图1。
图1 系统监视器模块组成
主要由目标机监视控制器、目标机通信管理器、监视器数据查看器、命令响应器、监视器和监视记录桩组成。
2.1目标机监视控制器
目标机监视控制器为用户提供监视控制图形界面,监视控制图形界面提供的用户操作有:目标机配置——配置要监视的目标机,目标机连接——控制目标机通信管理器,配置各目标机监视参数、启动监视指定的目标机、停止监视指定的目标机、打开查看指定目标机的监视数据。
其中,配置监视参数、启动监视、停止监视操作将生成监视命令,交由目标机通信管理器向目标机端发送,并处理来自目标机通信管理器接收到的目标机端的回复。
最后,打开查看指定目标机的监视数据操作控制监视数据查看器将目标机监视数据打开查看。
2.2目标机通信管理器
目标机通信管理器提供多目标机监视操作相关数据包通信能力。相关数据包包括:命令数据包(如:连接、监视配置、监视启动、监视停止、监视数据上传)、命令回复包、监视数据包。目标机通信管理器将目标机监视控制器产生的命令转换为命令数据包,发送到命令指定要发往的目标机,接收所有建立了通信连接的目标机的命令回复数据包和监视数据包,解析接收到的数据包得到命令的回复或监视数据。
2.3监视数据查看器
监视器数据查看器提供监视数据的图形化查看、分析能力。它将所有记录的目标机事件通过图形化的方式展现给用户,用户从监视数据查看器中,可以查看系统上下文组成、每个上下文的执行行为(信号量、定时器、消息队列、缓冲、端口等内核对象的操作),上下文调度等信息。
2.4命令响应器
命令响应器在目标机端,接收宿主机端目标机通信管理器发送的命令数据包,向宿主机端目标机通信管理器发送回复数据包、监视数据包。分析接收的命令数据包,从而执行监视控制操作(包括监视启动、监视停止、监视数据上传),并且将执行的结果生成回复数据包,发往宿主机端。
2.5监视器
监视器向命令响应器提供监视控制操作。包括监视启动、监视停止、监视数据上传。监视启动时,创建保存监视数据的缓冲区,然后创建监视记录头(内容包括:目标机系统的时间戳频率、包含的上下文、当前上下文等信息),最后打开监视记录开关。监视停止时关闭监视记录开关。监视数据上传时,从监视缓冲区中读出监视数据,然后组织成监视数据包发送给宿主机端,缓冲区中所有的数据读出上传完成后,销毁缓冲区。
2.6监视记录桩
监视记录桩根据监视记录开关的状态,决定是不是记录监视数据到缓冲区。当监视记录开关打开时,记录监视数据到缓冲区,监视记录开关关闭时则不记录。监视记录桩在记录监视数据时,按照定义好的事件格式,事件数据项进行记录。
3.系统监视方法工作流程
多目标机系统监视方法的具体工作流程:
(1)用户在目标机监视控制器中配置要进行系统监视的目标机。配置参数包括:目标机名、目标机连接方式、目标机监视配置参数。
(2)用户在目标机监视控制器中进行连接操作,目标机通信管理器向所有配置的目标机发送连接命令数据包。
(3)命令响应器执行连接命令,组织回复包发送给宿主机端。
(4)宿主机端目标机通信管理器收到目标机回复数据后,和目标机建立起通信连接。
(5)用户在目标机监视控制器中选择要启动监视的目标机,进行启动监视操作,目标机监视控制器生成监视启动命令,并传递给目标机通信管理器。
(6)目标机通信管理器发送启动命令到目标机端的命令响应器。
(7)命令响应器执行启动命令,控制监视器启动监视。
(8)嵌入式OS中监视记录桩运行过程中的监视数据记录到监视缓冲区中。
(9)用户在目标机监视控制器中停止指目标机的监视操作,目标机监视控制器将用户停止监视操作转换为停止命令和上传命令,并将命令传递给目标机通信管理器。
(10)目标机通信管理器将停止监视控制命令发送给目标机端的命令响应器。
(11)命令响应器执行停止命令,控制监视器停止监视。
(12)嵌入式OS中的监视记录桩停止记录监视数据。
(13)目标机通信管理器将上传命令发送给目标机端的命令响应器。
(14)命令响应器执行上传命令,控制监视器取得监视数据并发送给目标机通信管理器。
(15)目标机通信管理器接收到监视数据后将其传递给监视数据查看器。
(16)监视数据查看器进程监视数据的解析,绘制出系统运行行为和运行逻辑图形。
4.监视结果显示
系统监视器监视数据查看器绘制的系统运行行为和逻辑图形界面如图2所示。
图2 监视数据查看界面
在监视数据图形化查看界面中,上方横轴是时间轴,左侧纵轴是各任务或进程。图中的小图标,表示在横轴对应的时间点,对应的任务或进程发生了图标所表示的事件。比如_worker_task在28.54085时间点,发生了信号量释放事件(三角旗图标)。图中用波浪线、锯齿线等不同形式的线,表示对应的任务或进程在一个时间段里的状态。比如p2:user2在图中窗口时间段范围内处于就绪状态。
在界面上方的工具栏中,可以对图像做放大、缩小等操作,还可以选择对处理器使用、存储器使用以表格或图形方式进行查看。
5.结束语
本文设计的多目标机监视方法,能够同时对多个目标机进行监视,并能够对目标机系统运行行为和运行逻辑进行图形化查看和分析,为用户提供了一种便捷有效的分析系统的途径。
参考文献
[1]王培进,李晓路.嵌入式系统集成开发平台的设计与实现.计算机应用与软件,2012(第5期):109-112
[2]粟明,赵克佳,卢凯.嵌入式系统开发环境目标监控器技术研究.计算机应用研究,2004(第8期):61-63.
作者简介
卫进(1987-),女,硕士,主要从事软件与理论方面研究。