使用定时器的例程
TIMER_Config timCfg0 = {
TIMER_CTRL, /* TCR0 */
0x0400u, /* PRD0 */
0x0000 /* PRSC */
};
系统时钟200Mhz
在中断中加一个断点,每次查看运行的cpu时间。
profile中的clock观察没中断一次是1080个cpu cycles ,为什么不是0x400+1然后,1080-1025=55,这55个cpu cycles是中断开销吗?
Tony Tang:
中断服务程序的入栈操作,在菜单:View->Mixed Source/ASM模式下,你可以在ISR的开始部分看到这部分代码;;
以及CPU对中断信号的响应延时,大概几个周期。
如果ISR在片外,还要考虑内存访问的延时。
以上基于系统中没有其它中断使能为前提。