@aozima 大神能讲解一下smp方面的rtt问题吗,我现在只开启了一个定时器,然后rtconfig里面定义了RT_USING_SMP,然后跑gui发现非常丝滑,
我把RT_USING_SMP这个定义关闭了在跑gui发现非常卡了
然后我想着不是还有一个定时器没有开启吗,我就在void secondary_cpu_c_start(void)
{
int timer_irq_number;
timer_irq_number = 92;
rt_hw_vector_init();
rt_hw_spin_lock(&_cpus_lock);
arm_gic_cpu_init(0, platform_get_gic_cpu_base());
// arm_gic_set_cpu(0, timer_irq_number, 0x2); // timer1
// timer1_init();
//rt_hw_interrupt_install(timer_irq_number, rt_hw_timer1_isr, RT_NULL, "tick1");
//rt_hw_interrupt_umask(timer_irq_number);
rt_system_scheduler_start();
}
这里把定时器2也开启了,现在发现之前开启的那个定时器1中断不进去了,进去的都是定时器2的中断,gui的任务夜跑不起来了,也就是说我在second cpu里面在开启一个定时器就不正常了,找了资料说smp需要开启2个定时器,为什么我这里开启2个定时器之后,前面那个定时器中断进不去了呢,然后我把second cpu的定时器关闭,性能上也达到了双核的提升了呀,因为我如果禁止smp,那么性能比较差的明显的,我现在迷糊了,定时器到底要不要开启2个,能否讲解一下这方面的疑惑,非常感谢