cancel
Showing results for 
Search instead for 
Did you mean: 

Hi,I am learning bare metal programming with STM32F407 discovery board.

Kumar B
Associate II
 
6 REPLIES 6
S.Ma
Principal

And?

Currently learning systick Timer. I want to use Systick Registers LOAD, VAL and CTRL registers for configuring systick timer. But they are not found in the reference manual or the

datasheet.

Can any one knows about this? Please share the details where they will be available?

See PM0214.

JW

Danish1
Lead II

Systick is part of the arm processor core, rather than one of the (many) built-in peripherals developed by ST.

You will find it documented in the "Programming Manual" - that doesn't just have the arm processor instruction set; it describes the core peripherals as well.

PM0214 Programming manual STM32 Cortex®-M4 MCUs and MPUs programming manual

en.DM00046982.pdf

Hope this helps,

Danish

Try ARM's TRM (Technical Reference Manual)

Joseph Yiu has several books on the Cortex-Mx series that would cover this.

ST condenses the TRM in the Programming Manuals

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hi,

Thanks for the information. Can you please explain the usage in view of two points. I have doubt in the reload register STK_LOAD.

1.Delay generation with STK_LOAD

What is the value or count to be loaded for example 200ms delay to blink an LED and how to calculate that?

2.How to generate interrupt with this?

How to differentiate the reload value for this register. In the PM0214 Programming manual, it is given as :

The RELOAD value is calculated according to its use:l To generate a multi-shot timer with a period of N processor clock cycles, use a RELOAD value of N-1. For example, if the SysTick interrupt is required every 100 clock pulses, set RELOAD to 99.l To deliver a single SysTick interrupt after a delay of N processor clock cycles, use a RELOAD of value N. For example, if a SysTick interrupt is required after 100 clock pulses, set RELOAD to 99.

How to differentiate normal reload and interrupt load value? How it can be handled?