Incase you do not feel like reading through a book, a systick timer is just a register that holds a value you give it. Typically in ARM processers, they count down to 0 from the value you determine. When the register (automatically) counts down to 0, a interrupt is generated. The value in this is that you can set the counter to count down to 0 in 1ms, or 1 second, or what ever you choose. (they do have min and max of course). This gives the programmer the ability to choose to do things in the program every second, or half second, or what ever. This is crucial to building any real world program. If you do not know what an interrupt is, look it up. They are also crucial to any real world program, especially with ARM.