I build a Keil project for my STM32F103 MCU with STM32CubeMx. My goal is use the TIM1 channel 2 for control a Buzzer. I want to generate a PWM at 4KHz through TIM1 channel 2. I configured, with STM32CubeMx, the TIM1_Channel2 as "PWM Generator CH2". The problem regards the debug session. In particular, when I start the debug session and when the MCU executes the macro "__HAL_AFIO_REMAP_TIM1_ENABLE()" the debug session crash. This is the timer initialisation code generated by STM32CubeMx: void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) { GPIO_InitTypeDef GPIO_InitStruct; if(htim->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspPostInit 0 */ /* USER CODE END TIM1_MspPostInit 0 */ /**TIM1 GPIO Configuration PE11 ------> TIM1_CH2 */ GPIO_InitStruct.Pin = GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); __HAL_AFIO_REMAP_TIM1_ENABLE(); /* USER CODE BEGIN TIM1_MspPostInit 1 */ /* USER CODE END TIM1_MspPostInit 1 */ } } This issue is related to Timer1 pin full remap. Anyone have the same issue? Thanks! === UPDATE === Finally I found some time to test the solution proposed by @SamGibson an it works! And thanks to @Rafiq Rahman for his code! Thanks guys for your time! This is the code that I used to remap the TIM1 and maintain the ability to generate the code with the Stm32CubeMX. if(htim->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspPostInit 0 */ #undef __HAL_AFIO_REMAP_TIM1_ENABLE #define __HAL_AFIO_REMAP_TIM1_ENABLE() (0) /* USER CODE END TIM1_MspPostInit 0 */ /**TIM1 GPIO Configuration PE11 ------> TIM1_CH2 */ GPIO_InitStruct.Pin = GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); __HAL_AFIO_REMAP_TIM1_ENABLE(); /* USER CODE BEGIN TIM1_MspPostInit 1 */ /* Make a copy of AFIO register */ volatile uint32_t afioRegisterCopy = AFIO->MAPR; /* Clear Timer1 remap bits and + JTAG/SWD bits */ afioRegisterCopy &= ~((7 << 24) + (3 << 6)); /* To perform a full remap Timer1, bit 6-7 of AFIO->MAPR must be set. Mask is 3 (11b) */ afioRegisterCopy |= (3 << 6); /* Apply the new register configuration*/ AFIO->MAPR = afioRegisterCopy; /* USER CODE END TIM1_MspPostInit 1 */ }