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"