Keil STM32G0xx_DFP STMicroelectronics STM32G0 Series Device Support https://www.keil.com/pack/ https://github.com/Open-CMSIS-Pack/STM32G0xx_DFP.git LICENSE Active development ... Updated STM32Cube FW to STM32Cube_FW_G0_V1.6.0 (HAL V1.4.5). Package Description (pdsc): - Added condition (STM32G0) to api device class group STM32Cube Framework. - Added LICENSE file. Updated STM32Cube FW to STM32Cube_FW_G0_V1.5.0 (HAL V1.4.2). STM32CubeMX integration: - Synchronized versions of generated component ::Device:STM32Cube Framework:STM32CubeMX (in gpdsc) and its bootstrap (in pdsc). Package Description (pdsc): - Updated schemaVersion (1.7.2). - Added RAMstart and RAMsize attributes to Flash Algorithm elements. Device support: - Updated SVD files. - Reworked Option Byte Flash programming Algorithm. - Reworked DualBank Flash Programming Algorithms. - Replaced STM32G05x_32.FLM with STM32G0xx_32.FLM and STM32G05x_64.FLM with STM32G0xx_64.FLM - Added emptycheck for STM32G0xx16/32/64/128k flashloader, disable interrupts while programming and fix programming while IWDG in SW mode. - Added devices: -- STM32G050F6Px, -- STM32G051C6Ux, STM32G051F6Px, STM32G051G6Ux, STM32G051K6Ux, STM32G051K8Ux, STM32G051C8Ux, STM32G051G8Ux, STM32G051F8Px -- STM32G061C6Ux, STM32G061G6Ux, STM32G061K6Ux, STM32G061C8Ux, STM32G061F8Px, STM32G061G8Ux, STM32G061K8Ux -- STM32G0B1CBUxN, STM32G0B1CBTxN, STM32G0B1KBTxN, STM32G0B1KBUxN, STM32G0B1RBTxN, STM32G0B1RBIxN, STM32G0B1CCUxN, STM32G0B1CCTxN, STM32G0B1RCTxN, STM32G0B1CEUxN, STM32G0B1CETxN, STM32G0B1REIxN, STM32G0B1RETxN, STM32G0B1NEYx, -- STM32G0C1CCUxN, STM32G0C1CCTxN, STM32G0C1RCIxN, STM32G0C1RCTxN, STM32G0C1CEUxN, STM32G0C1CETxN, STM32G0C1RETxN, STM32G0C1REIxN, STM32G0C1NEYx. - Removed devices: -- STM32G071C6Tx, STM32G071C6Ux, STM32G071G6Ux, STM32G071K6Tx, STM32G071K6Ux, STM32G071R6Tx -- STM32G050x4, STM32G051x4, STM32G061x4. Updated STM32Cube Firmware G0 library to version V1.4.0. Added device support for: - STM32G050, STM32G051, STM32G061 devices. - STM32G0B0, STM32G0B1, STM32G0C1 devices. - Updated device documentation. - Updated SVD files. - Added flash programming algorithms. Updated STM32Cube Firmware G0 library to version V1.3.0. Added CubeMX support. Added device support for: - STM32G030, STM32G031, STM32G041 devices. - Updated device documentation. - Updated SVD files for each STM32G0xx subfamily. Updated documentation Updated CubeMX FW pack to STM32Cube_FW_G0_V1.1.0 Initial version of STM32G0 Device Family Pack for use with: - STM32CubeMX 5.0 - STM32Cube G0 Firmware Package V1.0.0 ST Device Support Device Family Package STMicroelectronics STM32G0 STM32G0xx High-performance STM32G0 MCUs with Arm Cortex-M0+ core 32-bit RISC core operating at up to 64 MHz frequency. 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 = 0x00601832; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1 __var DbgMCU_APB_Fz2 = 0x00070800; // 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 = 0xC0201833; // 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 = 0xC0201833; // 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 = 0x00601832; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1 __var DbgMCU_APB_Fz2 = 0x00070800; // 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 = 0xC0201833; // 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 = 0xC0201833; // 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 = 0x00601832; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1 __var DbgMCU_APB_Fz2 = 0x00070800; // 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 = 0xC0201833; // 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 = 0xC0201833; // 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 = 0x00601832; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1 __var DbgMCU_APB_Fz2 = 0x00070800; // 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 = 0xC0201833; // 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 = 0xC0201833; // DBGMCU_APB_FZ1: DBGMCU APB freeze register 1 __var DbgMCU_APB_Fz2 = 0x00078800; // DBGMCU_APB_FZ2: DBGMCU APB freeze register 2 STMicroelectronics STM32G0 Series devices STMicroelectronics STM32G0 Device and CMSIS-CORE Configuration via STM32CubeMX #define RTE_DEVICE_CUBE_MX #define CMSIS_device_header "stm32g0xx.h"