# HardFault\_Handler when call prvPortStartFirstTask()

**URL:** <https://forums.freertos.org/t/hardfault-handler-when-call-prvportstartfirsttask/8397>\
**Category:** Kernel\
**Created:** [December 11, 2019, 10:46am UTC](https://forums.freertos.org/t/hardfault-handler-when-call-prvportstartfirsttask/8397 "2019-12-11T10:46:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![lucacarone](https://avatars.discourse-cdn.com/v4/letter/l/87869e/32.png) [@lucacarone](https://forums.freertos.org/u/lucacarone)\
**Post date:** [December 11, 2019, 10:46am UTC](https://forums.freertos.org/t/hardfault-handler-when-call-prvportstartfirsttask/8397/1 "2019-12-11T10:46:48Z")

</div>

Hi all,

I’m using NUCLEO STM32F429ZI Cortex M4.  
I have make a new easy project using [http://www.freertos.org/Creating-a-new-FreeRTOS-project.html](http://www.freertos.org/Creating-a-new-FreeRTOS-project.html)

I use FreeRTOSconfig.h of STM32F4 demo

I use ST ID: STM32cudeIDE  
when call vTaskStartScheduler(); i have HardFault\_Handler  
Why? can you help me?

I have this simple main:

```auto
int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_ETH_Init();
  MX_USART3_UART_Init();
  MX_USB_OTG_FS_PCD_Init();

  xTaskCreate(vTaskCodeTest,"TEST",configMINIMAL_STACK_SIZE,NULL, 2,&HendlerTask1 );

  /* Start the tasks and timer running. */
	vTaskStartScheduler();
  /* Infinite loop */
for(;;)
  {

  }

}

void vTaskCodeTest( void *pvParameters )
{
	for( ;; )
	{
		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
	}
}

```

---

<div class="post-metadata">

**Author:** ![rtel](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/rtel/32/31_2.png) [@rtel](https://forums.freertos.org/u/rtel)\
**Post date:** [December 11, 2019, 5:02pm UTC](https://forums.freertos.org/t/hardfault-handler-when-call-prvportstartfirsttask/8397/2 "2019-12-11T17:02:31Z")

</div>

Did you install the FreeRTOS interrupt handlers? See the 'Special note to ARM Cortex-M user" under FAQ 1 on this page: [https://www.freertos.org/FAQHelp.html](https://www.freertos.org/FAQHelp.html)

In case you are not aware, STM32Cube will create a FreeRTOS application for you.

---

<div class="post-metadata">

**Author:** ![lucacarone](https://avatars.discourse-cdn.com/v4/letter/l/87869e/32.png) [@lucacarone](https://forums.freertos.org/u/lucacarone)\
**Post date:** [December 11, 2019, 5:18pm UTC](https://forums.freertos.org/t/hardfault-handler-when-call-prvportstartfirsttask/8397/3 "2019-12-11T17:18:15Z")

</div>

Thanks Richard,  
I have solved the problem.

I have add  
#define vPortSVCHandler SVC\_Handler  
#define xPortPendSVHandler PendSV\_Handler  
#define xPortSysTickHandler SysTick\_Handler  
In FreeRTOSconfig.h

and i add  
\_\_weak void SVC\_Handler(void);  
\_\_weak void PendSV\_Handler(void);  
\_\_weak void SysTick\_Handler(void); //conflicts with FreeRTOS port.c definition  
in stm32f4xx\_it.c to erase the conflicts with FreeRTOS port.c definition.

Thanks for your support,  
Luca
