Keil STM32H5xx_DFP STMicroelectronics STM32H5 Series Device Support https://www.keil.com/pack/ https://github.com/Open-CMSIS-Pack/STM32H5xx_DFP.git LICENSE Active development ... Updated to STM32Cube_FW_H5 Firmware Package version V1.2.0 Devices Support: - Added support to: -- H533/H523 lines with 512KB/256KB flash: Internal Non-secure/Secure Flash programming -- H563/H562 lines with 1MB flash: Internal Non-secure/Secure Flash programming - Fixed flashloader sector erase if the flash size less then 2MB - Added H523/H533 SVD files - Updated SVD files for H573/H563/H562/H503 - Updated device documentation Devices Support: - Updated to STM32Cube_FW_H5 Firmware Package version V1.1.0 STM32CubeMX integration: - Added support for MEMORYMAP initialization (FrameworkCubeMX_gpdsc.ftl) CMSIS-Driver: - USB Device: -- Updated PowerControl function (added check if Instance is valid) -- Updated GetFrameNumber function (use LL function) CMSIS Driver: - Added Ethernet driver - Added I2C driver - Added SPI driver - Added USART/UART driver - Added USB Device driver Device Support: - Corrected TZ feature for STM32H503 devices - Added CubeMX support - Added datasheets and reference manuals Initial public release. Devices Support: - Updated STM32Cube_FW_H5 Firmware Package version to V1.0.0 (HAL v1.0.0) ST Device Support Device Family Package STMicroelectronics STM32H5 STM32H5xx High-performance STM32H5 MCUs with Arm Cortex-M33 core, MPU, instruction cache, DSP, FPU, 375 DMIPS at 250 MHz. __var traceSWO = (__traceout & 0x1) != 0; // SWO enabled? __var traceTPIU = (__traceout & 0x2) != 0; // Synchronous trace port enabled? Sequence("CheckID"); Sequence("ConfigureTraceSWOClock"); Sequence("ConfigureTraceTPIUClock"); __var ap = __ap; // Save current AP // Replication of Standard Functionality Write32(0xE000EDF0, 0xA05F0001); // Enable Core Debug via DHCSR // Device Specific Debug Setup __ap = 0; // Select System debug access port (AP0) Write32(0xE0044004, DbgMCU_CR | (Read32(0xE0044004) & 0xF0)); // DBGMCU_CR: Configure MCU Debug Write32(0xE0044008, DbgMCU_APB1L_Fz); // DBGMCU_APB1_FZ: Configure APB1L Peripheral Freeze Behavior Write32(0xE004400C, DbgMCU_APB1H_Fz); // DBGMCU_APB1_FZ: Configure APB1H Peripheral Freeze Behavior Write32(0xE0044010, DbgMCU_APB2_Fz); // DBGMCU_APB1_FZ: Configure APB2 Peripheral Freeze Behavior Write32(0xE0044014, DbgMCU_APB3_Fz); // DBGMCU_APB3FZR: Configure APB3 Peripheral Freeze Behavior Write32(0xE0044020, DbgMCU_AHB1_Fz); // DBGMCU_AHB1FZR: Configure AHB1 Peripheral Freeze Behavior __ap = ap; // Restore AP __var traceSWO = (__traceout & 0x1) != 0; // SWO (asynchronous) Trace Selected? __var traceTPIU = (__traceout & 0x2) != 0; // Synchronous trace port enabled? Sequence("EnableTraceSWO"); // Call SWO Trace Setup Sequence("EnableTraceTPIU"); // Call TPIU Trace Setup __var traceSWO = (__traceout & 0x1) != 0; // SWO enabled? __var traceTPIU = (__traceout & 0x2) != 0; // Synchronous trace port enabled? Sequence("DisableTraceSWO"); Sequence("DisableTraceTPIU"); __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."); Sequence("ConfigureTraceSWOPin"); Sequence("ConfigureTraceSWOClock"); __var ap = __ap; // Save current AP __var dbgmcu_val = 0; // DBGMCU_CR Value __ap = 0; // Select System debug access port (AP0) dbgmcu_val = Read32(0xE0044004) & (~0xF0); // Read DBGMCU_CR and clear trace setup Write32(0xE0044004, dbgmcu_val); // Write DBGMCU_CR: Trace Settings __ap = ap; // Restore AP Sequence("ConfigureTraceTPIUPins"); Sequence("ConfigureTraceTPIUClock"); __var ap = __ap; // Save current AP __var dbgmcu_val = 0; // DBGMCU_CR Value __ap = 0; // Select System debug access port (AP0) dbgmcu_val = Read32(0xE0044004) & (~0xF0); // Read DBGMCU_CR and clear trace setup Write32(0xE0044004, dbgmcu_val); // Write DBGMCU_CR: Trace Settings __ap = ap; // Restore AP __var ap = __ap; // Save current AP __var dbgmcu_val = 0; // DBGMCU_CR Value __var dbgmcu_trace_val = 0; // DBGMCU_CR Value __ap = 0; // Select System debug access port (AP0) dbgmcu_val = Read32(0xE0044004) & (~0xF0); // Read DBGMCU_CR and clear trace setup dbgmcu_trace_val = (1 << 5) | (1 << 4); // Trace Port and Clock Enable + Trace I/O Enable + Trace Mode Asynchronous __ap = ap; // Restore AP __ap = 0; // Select System debug access port (AP0) Write32(0xE0044004, dbgmcu_val | dbgmcu_trace_val); // Write DBGMCU_CR: Trace Settings __ap = ap; // Restore AP __var ap = __ap; // Save current AP __var dbgmcu_val = 0; // DBGMCU_CR Value __var dbgmcu_trace_val = 0; // DBGMCU_CR Value __var width = (__traceout & 0x003F0000) >> 16; __ap = 0; // Select System debug access port (AP0) dbgmcu_val = Read32(0xE0044004) & (~0xF0); // Read DBGMCU_CR and clear trace setup __ap = ap; // Restore AP dbgmcu_trace_val = (3 << 5) | (1 << 4); dbgmcu_trace_val = (5 << 5) | (1 << 4); dbgmcu_trace_val = (7 << 5) | (1 << 4); __ap = 0; // Select System debug access port (AP0) Write32(0xE0044004, dbgmcu_val | dbgmcu_trace_val); // Write DBGMCU_CR: Trace Settings __ap = ap; // Restore AP __var pin = 0; __var port = 0; __var portAdr = 0; __var pos = 0; __var secOffs = 0x00000000; __var SWO_Pin = 0x00010003; // PB3 secOffs = 0x10000000; pin = ((SWO_Pin ) & 0x0000FFFF); port = ((SWO_Pin >> 16) & 0x0000FFFF); portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 __var pin = 8; __var port = 0; __var portAdr = 0; __var pos = 0; __var secOffs = 0x00000000; __var width = (__traceout & 0x003F0000) >> 16; secOffs = 0x10000000; pin = (TraceClk_Pin ) & 0x0000FFFF; port = (TraceClk_Pin >> 16) & 0x0000FFFF; portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 pin = (TraceD0_Pin ) & 0x0000FFFF; port = (TraceD0_Pin >> 16) & 0x0000FFFF; portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 pin = (TraceD1_Pin ) & 0x0000FFFF; port = (TraceD1_Pin >> 16) & 0x0000FFFF; portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 pin = (TraceD2_Pin ) & 0x0000FFFF; port = (TraceD2_Pin >> 16) & 0x0000FFFF; portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 pin = (TraceD3_Pin ) & 0x0000FFFF; port = (TraceD3_Pin >> 16) & 0x0000FFFF; portAdr = 0x42020000 + secOffs + (port * 0x400); pos = pin * 2; Write32(0x44020C8C + secOffs, ((Read32(0x44020C8C + secOffs) ) | (1 << port)) ); // RCC_AHB2ENR: IO port clock enable Write32(portAdr + 0x00, ((Read32(portAdr + 0x00) & ~( 3 << pos)) | (2 << pos )) ); // GPIOx_MODER: Set Mode (Alternate Function) Write32(portAdr + 0x08, ((Read32(portAdr + 0x08) ) | (3 << pos )) ); // GPIOx_OSPEEDR: Set Speed (Very High Speed) Write32(portAdr + 0x0C, ((Read32(portAdr + 0x0C) & ~( 3 << pos)) ) ); // GPIOx_PUPDR: Set I/O to no pull-up/pull-down pos = ((pin ) & 7) * 4; Write32(portAdr + 0x20, ((Read32(portAdr + 0x20) & ~(15 << pos)) ) ); // GPIOx_AFRL: Alternate Function to AF0 pos = ((pin - 8) & 7) * 4; Write32(portAdr + 0x24, ((Read32(portAdr + 0x24) & ~(15 << pos)) ) ); // GPIOx_AFRH: Alternate Function to AF0 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00000000; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000000; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00000000; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x00000000; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00000000; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00000000; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000000; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00000000; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x00000000; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00000000; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E01833; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00000800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x00021000; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00010005; // PB5 __var TraceD0_Pin = 0x00010006; // PB6 __var TraceD1_Pin = 0x00010007; // PB7 __var TraceD2_Pin = 0x00010008; // PB8 __var TraceD3_Pin = 0x0002000C; // PC12 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 __var DbgMCU_CR = 0x00000006; // DBGMCU_CR: DBG_STOP, DBG_STANDBY __var DbgMCU_APB1L_Fz = 0x00E019FF; // DGBMCU_APB1LFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB1H_Fz = 0x00000020; // DGBMCU_APB1HFZR: All Peripherals Operate as in Normal Mode __var DbgMCU_APB2_Fz = 0x00072800; // DGBMCU_APB2FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_APB3_Fz = 0x003E0C00; // DBGMCU_APB3FZR : All Peripherals Operate as in Normal Mode __var DbgMCU_AHB1_Fz = 0x00FF00FF; // DBGMCU_AHB1FZR : All Peripherals Operate as in Normal Mode __var TraceClk_Pin = 0x00040002; // PE2 __var TraceD0_Pin = 0x00040003; // PE3 __var TraceD1_Pin = 0x00040004; // PE4 __var TraceD2_Pin = 0x00040005; // PE5 __var TraceD3_Pin = 0x00040006; // PE6 STMicroelectronics STM32H5 Devices STMicroelectronics STM32H5 Devices STMicroelectronics STM32H5 Device and CMSIS-CORE Configuration via STM32CubeMX #define RTE_DEVICE_CUBE_MX #define CMSIS_device_header "stm32h5xx.h"