RT-Thread-packages / SEGGER_SystemView

SEGGER SystemView
10 stars 9 forks source link

使用Systemview统计中断频率不准确 #2

Open mao-china opened 4 years ago

mao-china commented 4 years ago

@BernardXiong @armink

问题现象

使用Systemview统计中断频率不准确,实际为100hz,systemview统计为150hz

代码环境 Cortex-M4内核, Systick中断10ms一次,给rtthread 系统提供tick, 一个线程:

void thread1(void)
{
    while(1)
    {
        rt_thread_delay(2);
    }
}

在线程延时时间结束,会在systick中执行rt_schedule,在_cb_scheduler中会记录一次SEGGER_SYSVIEW_RecordEnterISR,导致systemview认为多进了一次中断;

只要在中断中执行了rt_schedule,中断频率统计得都不准确。

Systemview软件版本为2.52c,最新版本的软件已经看不到中断频率的统计了。