STM32 core 3.0.1-dev
Arduino core for STM32 based boards: API reference
← STM32duino documentation
Loading...
Searching...
No Matches
system_stm32wlxx.c File Reference

CMSIS Cortex Device Peripheral Access Layer System Source File. More...

#include "stm32wlxx.h"

Macros

#define VECT_TAB_OFFSET   0x00000000U
 
#define VECT_TAB_BASE_ADDRESS   FLASH_BASE
 

Functions

void SystemInit (void)
 Setup the microcontroller system.
 
void SystemCoreClockUpdate (void)
 Update SystemCoreClock variable according to Clock Register Values.
 

Variables

uint32_t SystemCoreClock = 4000000UL
 
const uint32_t AHBPrescTable [16UL] = {1UL, 3UL, 5UL, 1UL, 1UL, 6UL, 10UL, 32UL, 2UL, 4UL, 8UL, 16UL, 64UL, 128UL, 256UL, 512UL}
 
const uint32_t APBPrescTable [8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL}
 
const uint32_t MSIRangeTable [16UL]
 

Detailed Description

CMSIS Cortex Device Peripheral Access Layer System Source File.

Author
MCD Application Team

This file provides two functions and one global variable to be called from user application:

  • SystemInit(): This function is called at startup just after reset and before branch to main program. This call is made inside the "startup_stm32wlxx.s" file.
  • SystemCoreClock variable: Contains the core clock (HCLK), it can be used by the user application to setup the SysTick timer or configure other parameters.
  • SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must be called whenever the core clock is changed during program execution.

After each device reset the MSI (4 MHz) is used as system clock source. Then SystemInit() function is called, in "startup_stm32wlxx.s" file, to configure the system clock before to branch to main program.

This file configures the system clock as follows:


System Clock source | MSI

SYSCLK(Hz) | 4000000

HCLK(Hz) | 4000000

AHB Prescaler | 1

APB1 Prescaler | 1

APB2 Prescaler | 1

PLL_M | 1

PLL_N | 8

PLL_P | 7

PLL_Q | 2

PLL_R | 2

PLLSAI1_P | NA

PLLSAI1_Q | NA

PLLSAI1_R | NA

Require 48MHz for USB OTG FS, | Disabled

SDIO and RNG clock |

=============================================================================

Attention

© Copyright (c) 2020 STMicroelectronics. All rights reserved.

This software component is licensed by ST under Apache License, Version 2.0, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/Apache-2.0