Search This Blog

Monday, July 30, 2018

ARM - STM32F030F4 Quick Reference

Original post date: 02/12/2016

The STM32F030 datasheet and Reference manual (.pdf) cover the entire family. I have compiled the following GPIO and peripheral worksheets for the specific F4 part. These are only meant to be a quick summary and not a substitute for the actual datasheet.


General operating conditions:


STM32F030F4 pin out and I/O types
Here are the Alternative Functions (peripherals) that are multiplexed with GPIO pins.
I have removed GPIO pins or peripherals that are not available for this part.

STM32F030F4 Peripheral and Alternate functions mapping
Note: GPIOx_AFRH and GPIOx_AFRL are the registers where you can set these alternative functions. (Section 8.4.9 - 8.4.10)

External oscillator:

HSE (High Speed External) only. No 32kHz LSE in this package.

RTC

LSE is not supported, but RTC can be used in this package by selecting HSE/32 as the clock source (Section 7.4.9) and using RTC prescaler chain (Section 21.7.5) to divide the frequency to 1Hz. Standby and stop modes cannot be used with RTC as they disable HSE.

RTC clock tree

Timers:

Only TIM1 and TIM3 can be synchronized.

  • TIM1: Advanced-control timers (Section 13)
  • TIM3: General-purpose timers (Section 14)
  • TIM14: General-purpose timer (Section 16)
  • TIM16/17: General-purpose timers (Section 17)

DMA:

DMA channels allocation
Note: Hardware DMA request cannot trigger a block transfer.

I kind of miss the much more powerful eDMA in Freescale Kinetis K22.

NVIC: 2 bits for IRQ prority
"core_cm0.h" NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
priority = 0..3 where 0 is highest.

External Interrupts:

Hussam Al-Hertani's webpage has an article: External Interrupts on the STM32F0


Strangely enough, the registers for selecting the source for interrupts are in System configuration controller (SYSCFG) 9.1.2 to 9.1.5 It seems to be catch all for last minutes options that didn't make it to the peripherals blocks.


The EXTI register for the above block are in section 11.3

Power Management:


Bootloader mode:

Pull "BOOT0" at pin 1 high and after reset, it will enter the bootloader mode. The bootloader is in ROM.
Serial port is at (3.3V TTL level, 5V tolerant)

Using STM32F0 Discovery board as (STLinkV2) SWD debugger:




Reminder: Remove CN2 jumpers!

PA14: SWCLK at pin 20
PA13: SWDIO at pin 19

STLink webpage - PC software, documentation

It can be used for downloading firmware and hardware debugging.
Open source debugger: OpenOCD

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.