Skip to main content
ANauz.1
Senior
Feb 3, 2023 11:14 AM UTC
Question

Bug when generating ETH interface for STM32F769 with CubeMX

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

This topic has been closed for replies.

5 replies

ST Technical Moderator
Feb 3, 2023 12:32 PM UTC

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

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
ANauz.1
ANauz.1Author
Senior
Feb 3, 2023 2:06 PM UTC

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

Aymen ABBES
ST Employee
Feb 8, 2023 1:10 PM UTC

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
ANauz.1Author
Senior
Feb 14, 2023 9:32 AM UTC

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
Feb 15, 2023 8:41 AM UTC

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