title: HAL_Delay() crashes STM
body: <p>I'm trying to upload code to an STM32F103RET6 MCU and have a simple setup by now (see image below). I have attached a LED to pin PA1 as a GPIO OUTPUT and an external oscillator at 16 MHz. The other three pins are connected to the JTAG connector that goes to the STLINK v2. <a href="https://i.stack.imgur.com/ld9IK.png" rel="nofollow noreferrer">STM32 setup connections</a></p>
  <p>When i generate the code to perform a simple blink I'm having trouble with the HAL_Delay function. The code is shown below.</p>
  <pre><code>#include &quot;main.h&quot;
  
  /* Private function prototypes -----------------------------------------------*/
  void SystemClock_Config(void);
  static void MX_GPIO_Init(void);
  
  int main(void)
  {
    HAL_Init();
  
    SystemClock_Config();
  
    MX_GPIO_Init();
  
    while (1)
    {
        HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, 1);
        HAL_Delay(500);
        HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, 0);
        HAL_Delay(500);
    }
  }
  
  void SystemClock_Config(void)
  {
    RCC_OscInitTypeDef RCC_OscInitStruct = {0};
    RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  
    /** Initializes the RCC Oscillators according to the specified parameters
    * in the RCC_OscInitTypeDef structure.
    */
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV2;
    RCC_OscInitStruct.HSIState = RCC_HSI_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
    if (HAL_RCC_OscConfig(&amp;RCC_OscInitStruct) != HAL_OK)
    {
      Error_Handler();
    }
    /** Initializes the CPU, AHB and APB buses clocks
    */
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                                |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
  
    if (HAL_RCC_ClockConfig(&amp;RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
    {
      Error_Handler();
    }
  }
  
  static void MX_GPIO_Init(void)
  {
    GPIO_InitTypeDef GPIO_InitStruct = {0};
  
    /* GPIO Ports Clock Enable */
    __HAL_RCC_GPIOD_CLK_ENABLE();
    __HAL_RCC_GPIOA_CLK_ENABLE();
    __HAL_RCC_GPIOB_CLK_ENABLE();
  
    /*Configure GPIO pin Output Level */
    HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, GPIO_PIN_RESET);
  
    /*Configure GPIO pin : LED_G_Pin */
    GPIO_InitStruct.Pin = LED_G_Pin;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(LED_G_GPIO_Port, &amp;GPIO_InitStruct);
  
  void Error_Handler(void)
  {
    /* USER CODE BEGIN Error_Handler_Debug */
    /* User can add his own implementation to report the HAL error return state */
    __disable_irq();
    while (1)
    {
    }
    /* USER CODE END Error_Handler_Debug */
  }
  
  #ifdef  USE_FULL_ASSERT
  
  void assert_failed(uint8_t *file, uint32_t line)
  {
  
  }
  #endif /* USE_FULL_ASSERT */
  </code></pre>
  <p>The connection with the MCU is fine and the code starts running, so the first line that is to turn on the LED is executed correctly and the LED turns on. The problem is when the <code>HAL_Delay(500)</code> is executed, it stops the code and the following message pops up:
  No source available for &quot;uwTickPrio() at 0x20000004&quot; See image: <a href="https://i.stack.imgur.com/4N8DZ.png" rel="nofollow noreferrer">uwTickPrio()</a></p>
  <p>Setting NVIC priority as stated in: <a href="https://stackoverflow.com/questions/53899882/hal-delay-stuck-in-a-infinite-loop">HAL_Delay stuck in infinite loop</a>
  With the following parameters (as I understood from that post): <a href="https://i.stack.imgur.com/WepxK.png" rel="nofollow noreferrer">NVIC preemption priority</a></p>
  <p>And many other things commented in the forums but I cannot solve this problem. Any tip could be really useful.</p>
  <p>Many thanks for taking your time.</p>