SylixOS 下如何测量中断服务耗时
SylixOS 下如何测量中断服务耗时
功能概要
SylixOS 下可以测量中断服务耗时,分析各中断服务耗时对分析系统实时性和驱动故障等有很大帮助。
操作步骤
1、该功能通过中断中执行钩子函数来实现,会略微增加中断执行时间,所以默认是关闭的。需要使用时,编译前需修改base文件,主要修改为将 /libsylixos/SylixOS/config/ kernel/kernel_cfg.h 中 LW_CFG_INTER_MEASURE_HOOK_EN 宏使能(即置为1)
2、系统启动后还需要加载一个内核模块InterVectorMeasure.ko,该模块在bsp_performance性能测试工具集中就有。
执行命令为: insmod /lib/modules/InterVectorMeasure.ko
3、查看中断服务耗时信息命令为: cat /proc/kernel/interMeasure
Related Articles
SylixOS 串口中断
问:SylixOS 的串口在收到几个字节后就能给出中断?如,串口收到一个字符,这个时候会立即给出中断吗还是像龙芯手册中写的,得等4个空闲周期后再给出中断? 答:这个和处理器及中断控制器相关, 默认1字节就会触发中断; 这个要看CPU的串口是怎么处理的, 龙芯芯片手册说的要等空闲周期那就是要等空闲时间 。
用户 GPIO 中断实现
Q:用户 GPIO 中断实现应用 1. 应用场景 经常有用户会提到这样的使用方式:定义一个周期性的 GPIO 中断,应用层收到该中断信号后做出相应的动作,按照目前的情况来看,这种使用方式不外乎两种,一是直接使用片内或者外扩的具备中断功能的 GPIO 去实现该项功能,二是 GPIO 这一侧的功能使用 FPGA 来实现,定期的去发送某个电平或者上升沿/下降沿,某些用户更习惯将这种方式称之为“秒脉冲”或者“同步中断”。 2. 问题 ...
SylixOS 中是否支持中断底半部,如何使用?
1. 适用范围 本文档适用于对中断底半部有了解需求的开发人员。 2. 原理概述 在发生中断时,内核会记录哪个中断产生并把中断相应的处理函数加入一个处理队列里, 直到把所有同一时间发生的中断全部记录好后, 处理队列里的函数才会逐一得到调用。所以当一个中断处理函数处理过久时,就有可能影响它后面的中断处函数的执行时机。我们用的中断处 理函数是可以被中断信号打断的。 ...
SylixOS下的GIC中断实现(基于T3)
GIC常用寄存器介绍 GICD_CTLR GICv2控制器将中断分为两组。配置对应寄存器可以控制这两组中断的使能与禁能。 GICD_ISENABLERn 中断向量使能寄存器,写入1使能对应的中断向量号,写0没有影响。读取数据表示对应中断向量号的使能状态。每32个中断向量使用一个寄存器位,后续中断向量放在接下来的寄存器地址上。 GICD_ICENABLERn ...
SylixOS 中断,若只收到一个字节,是什么行为?
Q:SylixOS 中断,如果只收到一个字节,是什么行为? 以目前为例:触发级别是3,FIFO长度是16 ,14个字节触发一次中断 如果只收到一个字节,有个超时周期后也会触发中断 虽然没有FIFO满 。这个超时时间是硬件给的并不是软件配置的 ;可以问一下龙芯 一般都是按波特率的几个时间周期 ,手册上应该是4个周期 。 参考文章:SylixOS 系统的中断优先级与线程优先级是相互独立的吗? 参考文章:接收器 FIFO 触发电平