SylixOS 中断响应时间测试

本文探讨了在SylixOS操作系统中优化中断响应时间的两种方法:中断嵌套和中断绑核。通过测试,中断嵌套能提高响应时间,尤其是在加负载情况下,而中断绑核能确保中断响应时间的稳定性和可靠性。测试结果显示,中断绑核在多核处理器上的表现优于中断嵌套,尤其是在处理紧急任务时。
摘要由CSDN通过智能技术生成

1.应用场景

在一些情况下,对于一些紧急的中断任务,系统需要为其提供稳定可靠的中断响应时间,但一般的中断服务函数,它的响应时间可能会受到其他中断向量的影响,延迟响应。在SylixOS中有两种解方案。

1.提高该中断向量优先级,打开中断嵌套来确保紧急中断的响应时间。

2.对于多核处理器,可以采用中断绑核的形式,即将紧急中断绑定到某一核上,该核只处理紧急任务。

下面通过测试正常情况下、中断嵌套情况下、中断绑核情况下的中断响应时间,来对比采用上述两种方式的优点。

2.中断响应时间测试方案

使用示波器自带的1KHZ输出方波作为CPU的中断源,下降沿中断,在中断服务里改变CPU引脚输出电平并捕获。中断响应时间为1KHZ方波由从高电平上升到0.7*VCC开始到CPU输出低电平的时间差。具体测试方案见PPT支持SMP的大型实时操作系统(IDE目录下的ppt目录里)。硬件连接图如图2- 1所示。

        图2- 1 中断响应时间测试硬件连接

测试以zynq7000开发板为例,zynq7000处理器为双核处理器,中断控制器为GIC pl350,它支持中断嵌套和中断绑核。测试程序如程序清单2- 1所示。

程序清单2- 1 中断响应时间测试代码

/*********************************************************************************************************

* 函数名称: __doIsr

** 功能描述: 中断服务函数

** 输 入 : VOID

** 输 出 :

** 全局变量:

** 调用模块:

*********************************************************************************************************/

static irqreturn_t __doIsr (PVOID pvArg, ULONG iVector)

{

API_GpioClearIrq(GPIO_NUM); /* 清中断 */

writel(readl(0xE000A204) | (1 << 0), 0xE000A204); /* 11号脚,设置为出输出 */

writel(readl(0xE000A208) | (1 << 0), 0xE000A208); /* 1

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值