Keil
STM32C0xx_DFP
STMicroelectronics STM32C0 Series Device Support
https://www.keil.com/pack/
https://github.com/Open-CMSIS-Pack/STM32C0xx_DFP.git
LICENSE
Active development ...
Initial version of STM32C0 Device Family Pack for use with:
- STM32CubeMX 6.7.0
- STM32Cube C0 Firmware Package V1.0.0
Board Support support and examples for boards STM32C0116-DK, STM32C0316-DK.
ST
Device Support
Device Family Package STMicroelectronics
STM32C0
STM32C0xx
High-performance STM32C0 MCUs with Arm Cortex-M0+ core, MPU, frequency up to 48 MHz.
Sequence("CheckID");
// Replication of Standard Functionality
Write32(0xE000EDF0, 0xA05F0001); // Enable Core Debug via DHCSR
// Device Specific Debug Setup
Write32(0x4002103C, Read32(0x4002103C) | 0x08000000); // Set RCC_APBENR1.DBGEN
Write32(0x40015804, DbgMCU_CR); // DBGMCU_CR: Configure MCU Debug
Write32(0x40015808, DbgMCU_APB_Fz1); // DBGMCU_APB_FZ1: Configure APB Freeze Behavior
Write32(0x4001580C, DbgMCU_APB_Fz2); // DBGMCU_APB_FZ2: Configure APB Freeze Behavior
__var pidr1 = 0;
__var pidr2 = 0;
__var jep106id = 0;
__var ROMTableBase = 0;
__ap = 0; // AHB-AP
ROMTableBase = ReadAP(0xF8) & ~0x3;
pidr1 = Read32(ROMTableBase + 0x0FE4);
pidr2 = Read32(ROMTableBase + 0x0FE8);
jep106id = ((pidr2 & 0x7) << 4 ) | ((pidr1 >> 4) & 0xF);
Query(0, "Not a genuine ST Device! Abort connection", 1);
Message(2, "Not a genuine ST Device! Abort connection.");
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
// Default values for variables in debug sequences are configured with a *.dbgconf file in the user project
__var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBGMCU configuration register
__var DbgMCU_APB_Fz1 = 0x00201803; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1
__var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2
STMicroelectronics STM32C0 Series devices
STMicroelectronics STM32C0 Device and CMSIS-CORE
Configuration via STM32CubeMX
#define RTE_DEVICE_CUBE_MX
#define CMSIS_device_header "stm32c0xx.h"
Create a CubeMX basic solution with project