EasyManua.ls Logo

ST STM32F0 Series User Manual

ST STM32F0 Series
91 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #26 background imageLoading...
Page #26 background image
The STM32 Cortex-M0 processor PM0215
26/91 Doc ID 022979 Rev 1
Exception entry
Exception entry occurs when there is a pending exception with sufficient priority and either:
The processor is in Thread mode
The new exception is of higher priority than the exception being handled, in which case
the new exception preempts the original exception.
When one exception preempts another, the exceptions are nested.
Sufficient priority means the exception has more priority than any limits set by the mask
registers, see Exception mask registers on page 15. An exception with less priority than this
is pending but is not handled by the processor.
When the processor takes an exception, unless the exception is a tail-chained or a late-
arriving exception, the processor pushes information onto the current stack. This operation
is referred as stacking and the structure of eight data words is referred as stack frame. The
stack frame contains the following information:
Figure 9. Cortex-M0 stack frame layout
Immediately after stacking, the stack pointer indicates the lowest address in the stack frame.
The stack frame is aligned to a double-word address.
The stack frame includes the return address. This is the address of the next instruction in
the interrupted program. This value is restored to the PC at exception return so that the
interrupted program resumes.
The processor performs a vector fetch that reads the exception handler start address from
the vector table. When stacking is complete, the processor starts executing the exception
handler. At the same time, the processor writes an EXC_RETURN value to the LR. This
indicates which stack pointer corresponds to the stack frame and what operation mode the
was processor was in before the entry occurred.
If no higher priority exception occurs during exception entry, the processor starts executing
the exception handler and automatically changes the status of the corresponding pending
interrupt to active.
Late-arriving This mechanism speeds up preemption. If a higher priority exception occurs
during state saving for a previous exception, the processor switches to
handle the higher priority exception and initiates the vector fetch for that
exception. State saving is not affected by late arrival because the state saved
is the same for both exceptions. Therefore the state saving continues
uninterrupted. On return from the exception handler of the late-arriving
exception, the normal tail-chaining rules apply.
63SRLQWVKHUHEHIRUHLQWHUUXSW
[365
3&
/5
5
5
5
5
5
SUHYLRXV!
63SRLQWVKHUHDIWHULQWHUUXSW
63[&
63[
63[
63[
63[&
63[
63[
63[
'HFUHDVLQJ
PHPRU\
DGGUHVV

Table of Contents

Other manuals for ST STM32F0 Series

Question and Answer IconNeed help?

Do you have a question about the ST STM32F0 Series and is the answer not in the manual?

ST STM32F0 Series Specifications

General IconGeneral
SeriesSTM32F0
CoreARM Cortex-M0
Operating FrequencyUp to 48 MHz
Flash Memory16 KB to 256 KB
SRAM4 KB to 32 KB
ADC Resolution12-bit
ADC ChannelsUp to 16
Operating Voltage2.0 V to 3.6 V
DAC Resolution12-bit (some series)
Communication InterfacesI2C, SPI, USART, USB, CAN
Operating Temperature-40°C to 85°C
Package OptionsLQFP, TSSOP, UFQFPN, WLCSP

Summary

Introduction to STM32F0xxx Programming

About this document

1.1 Typographical conventions

Defines typographical conventions used in the document.

1.2 List of abbreviations for registers

Lists abbreviations used for register descriptions.

1.3 About the STM32 Cortex-M0 processor and core peripherals

Overview of the Cortex-M0 processor and its core peripherals.

The STM32 Cortex-M0 processor

2.1 Programmers model

Describes the Cortex-M0 programmer's model, modes, and stacks.

2.2 Memory model

Details the processor memory map and memory access behavior.

2.3 Exception model

Explains the exception model, states, types, and priorities.

2.4 Fault handling

Covers fault handling mechanisms, including lockup states.

2.5 Power management

Describes sleep and deep sleep modes for power saving.

The STM32 Cortex-M0 instruction set

3.1 Instruction set summary

Summarizes the Thumb instruction set supported by the Cortex-M0.

3.4 Memory access instructions

Covers instructions for loading and storing data from/to memory.

3.5 General data processing instructions

Describes instructions for arithmetic, logical, and data manipulation operations.

3.6 Branch and control instructions

Details instructions for program flow control and branching.

Core peripherals

4.1 About the STM32 Cortex-M0 core peripherals

Introduces the core peripherals and their address map.

4.2 Nested vectored interrupt controller (NVIC)

Details the NVIC's support for interrupts and its registers.

4.3 System control block (SCB)

Describes the SCB for system implementation information and control.

4.4 SysTick timer (STK)

Explains the SysTick timer's functionality and registers.

Revision history

Related product manuals