Menu

#124 Cortex-M4 Hard Float ABI Bug

v1.0 (example)
closed-rejected
nobody
9
2016-02-23
2016-02-23
No

Hello,

I'm using stm32f429 which is cortex-m4 based also it has got hardware FPU unit. I'm using Eclipse Luna 4.4.2 with arm GNU GCC C++ compiler and GNU-ARM plugin.

I'm choosing GCC/ARM_CM4F as porting files and my freertos version is 8.2.3.

The completion is done without any errors but in run-time when I trying to create any task let it to start than program suddenly goes into HardFault_Handler().

Here is my simple code:

int
main(int argc, char* argv[])
{
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  MX_GPIO_Init();
//  MX_DMA2D_Init();
//  MX_LTDC_Init();

  led1.Create("LED1", configMINIMAL_STACK_SIZE, 1);
  led2.Create("LED2", configMINIMAL_STACK_SIZE, 1);
  FreertosAbstract::TaskStartScheduler();

  while(1){
      //Error handler
  }
}
/*

 * @brief         : 1ms systick timer
 */
void SysTick_Handler(void)
{
    HAL_IncTick();
    FreertosAbstract::PortSysTickHandler();
}

The problem occurs after PortSysTickHandler() function was executed.

Here is the other simple code which is working well:

int
main(int argc, char* argv[])
{
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  MX_GPIO_Init();
//  MX_DMA2D_Init();
//  MX_LTDC_Init();

  led1.Create("LED1", configMINIMAL_STACK_SIZE, 1);
  led2.Create("LED2", configMINIMAL_STACK_SIZE, 1);
  //FreertosAbstract::TaskStartScheduler();

  while(1){
      HAL_Delay(100);
      led1.LedOff(LED1);
      HAL_Delay(200);
      led1.LedOn(LED1);
  }
}
/*

 * @brief         : 1ms systick timer
 */
void SysTick_Handler(void)
{
    HAL_IncTick();
//  FreertosAbstract::PortSysTickHandler();
}

Discussion

  • NAZIM YILDIZ

    NAZIM YILDIZ - 2016-02-23

    My compiler settings are in the attachment.

    Note-1: FreertosAbstrack::PortSysTickHandler() method is wrapping the xPortSysTickHandler() function.
    Note-2: ARM GNU GCC version is 5_2-2015q4

     

    Last edit: NAZIM YILDIZ 2016-02-23
  • Richard Barry

    Richard Barry - 2016-02-23
    • status: open --> closed-rejected
     
  • Richard Barry

    Richard Barry - 2016-02-23

    Please discuss this on the support forum before filing a bug report, especially as you have not stated what the bug is. As you appear to be using a C++ framework which is not supplied by us it is unlikely it would be accepted as a bug in any case, but we may be able to help talk through the problem if it were a support request.

     

    Last edit: Richard Barry 2016-02-23

Log in to post a comment.