Microcontrôleurs STM32 F1/F2


4 jours - 28 heures


  • The course details the hardware and software implementation of the STM32F1 and STM32F2 microcontroller series
  • The boot sequence and the clocking are explained
  • The course focuses on the low level programming of the Cortex-M3 CPU
  • Practical labs on integrated peripherals are based on I/O function package provided by ST
  • The various options of communication controllers a re explained, particularly the USB, Ethernet and CAN controllers, so that drivers can be adapted to application needs


ST MicroelectronicsARM ATC


  • A basic understanding of microprocessors and microcontrollers is recommended
  • A basic understanding of digital logic or hardware / ASIC design issues would be useful but not essential
  • A basic understanding of assembler or C programming would be useful but not essential


  • Pour les formations sur site, les travaux pratiques peuvent etre effectués sous les environnements suivants :Keil µVision, ou IAR Workbench
  • Pour les formations publiques, les travaux pratiques sont effectués avec IAR Workbench


ARM Cortex-M3 core based architecture

The main three blocks : platform, core and input / output peripherals

Presentation of the core, architecture and program ming model

Icode, Dcode and system buses

Branch prediction mechanism

Thumb-2 instruction set

Access to memory-mapped locations, addressing modes

Conditional execution


Memory map

C-to-Assembly interface

Exception mechanism

System tick timer

System Control Block

linker parameterizing

Embedded software development with Keil

Debug facilities

AHB/APB Bridges, split transactions, error handling

Bus Matrix, round-robin arbitration scheme

Internal 20 KB SRAM

128-KB Flash memory

Program and erase sequences

External interrupt/event controller, wake-up event management

System timers : Real Time Clock, Window Watchdog timer

Backup registers, tamper detection, RTC calibration

Power supplies, external 3.3V, internal generation of 1.8V, related pins

Low voltage detectors


Selection of the boot mode through external pins

Reset causes

Start-up sequence, fetch of the first instruction

Low power modes

I/O Ports

16-bit timers, block diagram, clock selection and prescalers

Output compare and input capture capabilities, force compare modes

One pulse mode

Output PWM mode

Input PWM mode, pulse measurement

DMA start event

Request priority management between the 16 channels

Circular buffer operation

Memory-to-memory, peripheral-to-memory , memory-to-peripheral and peripheral-to-peripheral transfers

Error management

High impedance-analog input configuration

ADC features : 12-bit resolution, 0 to 3.6 V range

One-shot or continuous conversion

Dual ADC mode

Conversion on external trigger

Utilization of a DMA channel

I2C protocol basics

Slave mode vs master mode

Transmit and receive sequences

SPI protocol basics

Queue mode operation

Transfer sequence

Queue operation mode

Hardware flow control

Transmit and receive sequences

LIN mode

Smartcard interface


CAN protocol basics

CAN controller organization

Filtering of received messages, acceptance filters

FIFO mode management

Test modes : loop back / silent modes

Configuring the bit timing

USB protocol basics

Buffer description block, buffer descriptor table

DMA controller used to move data between buffers and EndPoints

Endpoint initialisation

Suspend / resume events

NOR / PSRAM interface

NAND / PC CARD interface

Memory bank mapping

Address mapping and chip select signals

LCD module interface

Automatic CRC

Flow control

DMA transfers

Address filtering


MII interface


LAN Wakeup frames / Magic packet

VLAN tags

DAC implementation

DMA capability

External triggers



DMA requests


  • Les supports de cours seront fournis sur papier à chaque participant pendant la formation
  • MVD Training est certinfié ST Microelectronics MCU Certified Training Partner
  • MVD Training est certinfié ARM Approved Training Centre