cancel
Showing results for 
Search instead for 
Did you mean: 

Bug when generating ETH interface for STM32F769 with CubeMX

ANauz.1
Senior

Hello,

Using

  • CubeMX 6.7
  • F7 Firmware 1.17.0

When generating with ETH interface, changing the Rx Mode from Polling Mode to Interrupt Mode do not change anything!

The ioc is changed, but none of the .c/.h files

5 REPLIES 5
Imen.D
ST Employee

Hello @ANauz.1​ ,

Thanks for sharing this issue. 

I added a couple of topics related to your post to give a broader audience of this post and increase its chance to be reviewed by our CubeMX experts.

Hello @Semer CHERNI​,

Can you please take a closer look at this problem related to CubeMX.

Thanks

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
ANauz.1
Senior

So, what should be modified to use the ETH in interruption mode?

Aymen ABBES
ST Employee

Hello @ANauz.1​ ,

Working with CubeMX 6.7.0 and F7 Firmware 1.17.0 and changing the Rx Mode from Polling Mode to Interrupt Mode in two different projects

0693W00000YAFSaQAP.pngAnd I found these changes in the project that uses "interrupt mode" as "Rx mode" in the following files:

Core\Inc\stm32f7xx_it.h

void ETH_IRQHandler(void);

Core\Src\stm32f7xx_hal_msp.c

/* ETH interrupt Init */
HAL_NVIC_SetPriority(ETH_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(ETH_IRQn);

Core\Src\stm32f7xx_it.c

/**
  * @brief This function handles Ethernet global interrupt.
  */
void ETH_IRQHandler(void)
{
  /* USER CODE BEGIN ETH_IRQn 0 */
 
  /* USER CODE END ETH_IRQn 0 */
  HAL_ETH_IRQHandler(&heth);
  /* USER CODE BEGIN ETH_IRQn 1 */
 
  /* USER CODE END ETH_IRQn 1 */
}

Hope this answered your question.

When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.

Regards,

Aymen

ANauz.1
Senior

Hello,

I just test again and:

void ETH_IRQHandler(void);

Is present in Core\Inc\stm32f7xx_it.h in interrupt and polling mode

/**
  * @brief This function handles Ethernet global interrupt.
  */
void ETH_IRQHandler(void)
{
  /* USER CODE BEGIN ETH_IRQn 0 */
 
  /* USER CODE END ETH_IRQn 0 */
  HAL_ETH_IRQHandler(&heth);
  /* USER CODE BEGIN ETH_IRQn 1 */
 
  /* USER CODE END ETH_IRQn 1 */
}

Is present in Core\src\stm32f7xx_it.c in interrupt and polling mode

I have nothing about ETH It in Core\Src\stm32f7xx_hal_msp.c in interrupt and polling mode

So, in my configuration, (µC in TFBGA216, and Makefile), the generate project has no difference in interrupt nor polling mode on the ETH interface.

Regards,

Antoine

Aymen ABBES
ST Employee

Hello @ANauz.1​ ,

Could you please provide the project you are working on or your *.ioc file so I be able to investigate the issue.

Kind regards,

Aymen