F0 TO F1 Migration

This page will encompass all the information with respect to the compatibilities and differences between the stm32f0 architecture and the stm32f1 architecture based on application notes and documentation.

 

The following images indicate whether software is compatible between the two chips with respect to peripherals:

As can be seen of the peripherals we use:

  • SPI

  • ADC

  • FLASH

  • GPIO

Have partial compatibility (and will need addition), while

  • USART

  • I2C

  • TIMERS

are identical.

 

ADC

  • ADC_InitTypedef

    • No longer has resolution as field

    • More possible ADC modes → will use independent (only one of the ADCs) and most likely multichannel

GPIO Config Settings for peripherals:

 

I2C Flow diagrams from stm32f1 reference manual:

Tx:

Rx:

CAN:

Interrupt specification for F1 → different from F0’s single global interrupt

Interrupt Flags:

Interrupt definitions for MD devices → 4 interrupt vectors (4 handlers, which we can poll for flags on)

 

 

 

Notes:

  • CMSIS needed to be upgraded to be compatible with later compiler

  • Need to go through and prune all build files to make as minimal as possible

  • Will need to update linker scripts before flashing