SN32F100 Series
32-Bit Cortex-M0 Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 28
Version 1.9
2.2 SYSTEM TICK TIMER
The SysTick timer is an integral part of the Cortex-M0. The SysTick timer is intended to generate a fixed 10-ms
interrupt for use by an operating system or other system management software.
Since the SysTick timer is a part of the Cortex-M0, it facilitates porting of software by providing a standard timer that is
available on Cortex-M0 based devices.
Refer to the
Cortex-M0 User Guide
for details.
2.2.1 OPERATION
The SysTick timer is a 24-bit timer that counts down to zero and generates an interrupt.
The intent is to provide a fixed 10-ms time interval between interrupts. The system tick timer is enabled through the
SysTick control register. The system tick timer clock is fixed to the frequency of the system clock.
The block diagram of the SysTick timer:
SYSTICK_CALIB
SysTick interrupt
SYSTICK_LOAD
SYSTICK_VAL
24-bit down counter
CLKSOURCE
System clock
Ref. clock
(Fix to 1)
1
0
SYSTICK_CTRL
clock
Load data
Private
Peripheral
Bus
ENABLE
COUNTFLAG
TICKINT
When SysTick timer is enabled, the timer counts down from the current value (SYST_VAL) to zero, reloads to the value
in the SysTick Reload Value Register (SYST_LOAD) on the next clock edge, then decrements on subsequent clocks.
When the counter transitions to zero, the COUNTFLAG status bit is set to 1. The COUNTFLAG bit clears on reads.
Note: When the processor is halted for debugging the counter does not decrease.