linux实时操作系统中断响应时间测试系统及方法技术方案

技术编号:23787200 阅读:18 留言:0更新日期:2020-04-15 00:32
本发明专利技术属于信息处理技术领域,公开了一种linux实时操作系统中断响应时间测试系统及方法,对应用程序传递测试参数,测试间隔、测试时长;测试应用根据设置控制内核中的驱动向目标CPU发送中断,阻塞等待驱动完成一次测试,驱动完成本次测试会唤醒测试任务并返回测试结果,测试任务唤醒后将结果交给数据处理模块统计处理保存,根据设置重复;驱动加载后将中断号irq与对应的中断处理函数handler注册到目标测试系统,并创建一个监控中断处理是否完成的内核线程。本发明专利技术的测试简单高效,更接近于真实应用环境;可以去除复杂的外部辅助设备,节省人力时间、提高测试效率,节省设备资源。

Interrupt response time test system and method for Linux real-time operating system

【技术实现步骤摘要】
linux实时操作系统中断响应时间测试系统及方法
本专利技术属于信息处理
,尤其涉及一种linux实时操作系统中断响应时间测试系统及方法。
技术介绍
目前,最接近的现有技术:实时系统分为两类:软实时系统和硬实时系统。硬实时系统在航空航天、工业自动化、数控加工和医疗器械等对操作系统实时性要求较高的应用领域广泛应用,如果系统出现差错将带来重大损失或不可预料的后果。linux作为一种通用操作系统,设计之初就没有考虑系统的实时性,无法满足硬实时应用要求。但基于linux内核开源、体积小、可裁剪、易开发等优点,人们对linux进行了硬实时改造,诞生了许多基于linux的硬实时实现方案,如RTAI、xenomai、PREEMPT-RT等。中断响应时间是影响实时操作系统性能的关键因素之一,也是反映操作系统实时的重要指标。中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间+开始执行中断服务例程(ISR)的第一条指令时间。通俗地说:中断产生到内核执行中断服务程序第一条指令的时间。中断响应时间的精确测量,传统的操作系统中断响应测量采用外部设备(信号发生器)产生激励信号a,同时激励信号会从示波器A通道输入,目标系统产生中断后,中断处理函数中输出信号b,信号b从示波器B通道输入,在示波器上就会显示目标系统输出信号b与激励信号a的波形,从波形中测量的偏移T就是该目标系统的中断响应时间。这样的测量需要外部设备,测量数据无法保存且无法进行长时间持续测试,测量样本太少,就不能正确评价系统的硬实时性能,实际应用时将带来严重后果。现有技术一应用FPGA的嵌入式实时操作系统时间性能测试系统,为准确测量嵌入式实时操作系统的时间性能指标,本专利技术提供了一种嵌入式操作系统时间性能测量系统,其通过FPGA触发激励信号及测量参数配置,目标机上时间性能测试程序运行,FPGA接收响应信号,FPGA计算时间间隔,时间间隔数据存储和数据据转发至上位机,上位机进行时间性能分析。所述时间性能测试系统分为FPGA模块和被测端模块;所述FPGA模块包括:工作指令信号生成模块、第一时间记录模块、响应信号接收模块、第四时间记录模块、第一时间间隔运算模块、存储模块;所述被测端模块包括:工作任务执行模块响应信号生成模块;其中,所述工作指令信号生成模块用于向目标机提供工作指令信号,第一时间记录模块用于记录下发出工作指令信号时的第一时间,作为时间测量起始点;所述工作任务执行模块用于在目标机接收到工作指令信号后,根据工作指令信号执行对应工作任务;所述响应信号生成模块用于在工作任务执行模块完成工作任务后,生成响应信号,并输出;所述响应信号接收模块用于接收所述响应信号;所述第四时间记录模块用于采用FPGA模块自身的时间基准进行计数,记录下所述响应信号的接收时间,即第四时间,作为时间测量终止点;所述第一时间间隔运算模块用于对第一时间和第四时间之间的时间间隔进行运算,获得第一时间间隔;所述存储模块对测量的多组时间间隔数据进行存储并转发至上位机;然后由上位机对收到的时间间隔数据进行统计分析,获得时间性能测试结果。现有技术二应用FPGA的嵌入式实时操作系统时间性能测试方法。为准确测量嵌入式实时操作系统的时间性能指标,本专利技术提供了一种嵌入式操作系统时间性能测量方法,包括步骤:FPGA触发激励信号及测量参数配置,目标机上时间性能测试程序运行,FPGA接收响应信号,FPGA计算时间间隔,时间间隔数据存储和数据据转发至上位机,上位机进行时间性能分析。基于时间性能测试系统来实施,所述时间性能测试系统分为FPGA模块和被测端模块;所述FPGA模块包括:工作指令信号生成模块、第一时间记录模块、响应信号接收模块、第四时间记录模块、第一时间间隔运算模块、存储模块;所述被测端模块包括:工作任务执行模块响应信号生成模块;所述时间性能测试方法包括如下步骤:步骤1:所述工作指令信号生成模块向目标机提供工作指令信号,第一时间记录模块记录下发出工作指令信号时的第一时间,作为时间测量起始点;步骤2:所述目标机接收到工作指令信号,工作任务执行模块根据工作指令信号执行对应工作任务,工作任务完成后,响应信号生成模块生成响应信号,并输出;步骤3:响应信号接收模块接收所述响应信号;步骤4:所述第四时间记录模块采用FPGA模块自身的时间基准进行计数,记录下所述响应信号的接收时间,即第四时间,作为时间测量终止点;步骤5:第一时间间隔运算模块对第一时间和第四时间之间的时间间隔进行运算,获得第一时间间隔;存储模块对测量的多组时间间隔数据进行存储并转发至上位机;步骤6:上位机对收到的时间间隔数据进行统计分析,获得时间性能测试结果。综上所述,现有技术存在的问题是:(1)传统中断响应测试需要示波器、信号发生器等设备辅助,操作复杂,每次测试需要设备操作人员参与、每次测量耗时长、需要人为记录的问题。(2)传统测试测试数据无法保存、无法长时间持续测试,导致不能正确评价系统的硬实时性能。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种linux实时操作系统中断响应时间测试系统及方法。本专利技术是这样实现的,一种linux实时操作系统中断响应时间测试方法,所述linux实时操作系统中断响应时间测试方法包括以下步骤:第一步,对应用程序传递测试参数,测试间隔、测试时长;测试应用根据设置控制内核中的驱动向目标CPU发送中断,阻塞等待驱动完成一次测试,驱动完成本次测试会唤醒测试任务并返回测试结果,测试任务唤醒后将结果交给数据处理模块统计处理保存,根据设置重复;第二步,驱动加载后将中断号irq与对应的中断处理函数handler注册到目标测试系统,并创建一个监控中断处理是否完成的内核线程。进一步,所述linux实时操作系统中断响应时间测试方法根据处理器架构和内核版本,使用一个系统未使用的中断号;修改内核,添加该中断及中断服务程序ISR,ISR中调用目标操作系统中断子系统入口,产生该中断时,中断被目标系统处理。进一步,所述linux实时操作系统中断响应时间测试方法驱动工作时,接收测试应用程序命令,执行中断发送行为,并保存此时硬件定时器时间t0;目标系统处理CPU接收的中断irq然后执行中断处理函数handler,中断处理函数保存当前硬件定时器时间t1,并通知内核监控线程,监控线程唤醒测试应用并返回本次测试结果t1-t0。进一步,所述linux实时操作系统中断响应时间测试方法每次测试结果交给测试任务中数据统计模块进行统计,按用户设定的测试时长测试后,直接输出测试结果,本次测试的中断响应时间总次数、最大值、最小值、平均值信息,将统计的数据分布输出到文件。本专利技术的另一目的在于提供一种实施所述linux实时操作系统中断响应时间测试方法的linux实时操作系统中断响应时间测试系统,所述linux实时操作系统中断响应时间测试系统包括:测试应用参数设置模块,用于对应用程序传递测试参数,测试间隔、测试时长的设置;驱动加载模块,用于实现驱动加载本文档来自技高网
...

【技术保护点】
1.一种linux实时操作系统中断响应时间测试方法,其特征在于,所述linux实时操作系统中断响应时间测试方法包括以下步骤:/n第一步,对应用程序传递测试参数,测试间隔、测试时长;测试应用根据设置控制内核中的驱动向目标CPU发送中断,阻塞等待驱动完成一次测试,驱动完成本次测试会唤醒测试任务并返回测试结果,测试任务唤醒后将结果交给数据处理模块统计处理保存,根据设置重复;/n第二步,驱动加载后将中断号irq与对应的中断处理函数handler注册到目标测试系统,并创建一个监控中断处理是否完成的内核线程。/n

【技术特征摘要】
1.一种linux实时操作系统中断响应时间测试方法,其特征在于,所述linux实时操作系统中断响应时间测试方法包括以下步骤:
第一步,对应用程序传递测试参数,测试间隔、测试时长;测试应用根据设置控制内核中的驱动向目标CPU发送中断,阻塞等待驱动完成一次测试,驱动完成本次测试会唤醒测试任务并返回测试结果,测试任务唤醒后将结果交给数据处理模块统计处理保存,根据设置重复;
第二步,驱动加载后将中断号irq与对应的中断处理函数handler注册到目标测试系统,并创建一个监控中断处理是否完成的内核线程。


2.如权利要求1所述的linux实时操作系统中断响应时间测试方法,其特征在于,所述linux实时操作系统中断响应时间测试方法根据处理器架构和内核版本,使用一个系统未使用的中断号;修改内核,添加该中断及中断服务程序ISR,ISR中调用目标操作系统中断子系统入口,产生该中断时,中断被目标系统处理。


3.如权利要求1所述的linux实时操作系统中断响应时间测试方法,其特征在于,所述linux实时操作系统中断响应时间测试方法驱动工作时,接收测试应用程序命令,执行中断发送行为,并保存此时硬件定时器时间t0;目标系统处理CPU接收的中断irq然后执行中断处理函数handler,中断处理函数保存当前硬件定时器时间t1,并通知内核监控线程,监控线程唤醒测试应用并返回本次测试结果t1-t0。


4.如权利要求1所述的linux实时操作系统中断响应时间测试方法,其特征在于,所述linux实时操作系统中断响应时间测试方法每次测试结果交给测试任务中数据统计模块进行统计,按用户设定的测试时长测试后,直接输出测试结果,本次测试的中断响应时间总次数、最大值、最小值、平均值信息,将统计的数据分布输出到文件。


5.一种实施权利要求1~4任意一项所述linux实时操作系统中断响应时间测试方法的linux实时操作系统中断响应时间测试系统,其特征在于,所述linux实时操...

【专利技术属性】
技术研发人员:王顺刚王剑殷伟豪何熹
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1