在移植到 RT-Thread 的过程中,根据参考例程,在 SysTick_Handler 中断处理函数中会清零 CNTL 寄存器的值.
```
rt_interrupt_enter();
#if 1
SysTick->CNTL0 = 0;
SysTick->CNTL1 = 0;
SysTick->CNTL2 = 0;
SysTick->CNTL3 = 0;
SysTick->CNTH0 = 0;
SysTick->CNTH1 = 0;
SysTick->CNTH2 = 0;
SysTick->CNTH3 = 0;
rt_tick_increase();
#endif
NVIC_ClearPendingIRQ(SysTicK_IRQn);
rt_interrupt_leave()
```
使用 gdb 调试,在 SysTick_Handler 函数打断点:
x /1xw 0xe000f004 发现 CNTL 的数值并没有被清空,具体调试过程为:
请问是什么原因呢?