Skip to main content
Explorer II
November 1, 2021
Question

AzureRTOS NetX STM32F407 Discovery compile errors

  • November 1, 2021
  • 6 replies
  • 1379 views

Hello,

I am trying to create project with STM32F407/429 discovery and AzureRTOS and getting compile errors.

Attached the cubemx project.

The errors appear in KEIL, IAR and CubeIDE.

(I tried same cubemx configuration for STM32H743ZI without any compile errors)

The problem is in the net phy driver (nx_stm32_phy_driver.c). This functions have too many arguments:

HAL_ETH_ReadPHYRegister(&eth_handle, DevAddr, RegAddr, pRegVal)

HAL_ETH_WritePHYRegister(&eth_handle, DevAddr, RegAddr, RegVal)

After deleting DevAddr from those functions, we still have another error:

STM32F4_Discovery_AzureRTOS\STM32F4_Discovery_AzureRTOS.axf: Error: L6218E: Undefined symbol MX_ETH_Init (referred from nx_stm32_eth_driver.o).

STM32F4_Discovery_AzureRTOS\STM32F4_Discovery_AzureRTOS.axf: Error: L6218E: Undefined symbol HAL_ETH_SetMDIOClockRange (referred from nx_stm32_phy_driver.o).

Attached the project files.

Any help will be appreciated.

Thanks

Sasha

    This topic has been closed for replies.

    6 replies

    Visitor II
    December 14, 2021

    Hello @Sasha A​ ,

    Thank you for you contribution.

    This issue has been raised internally. I will keep you updated.

    BeST Regards,

    WAlid

    Visitor II
    December 15, 2021

    Hello @Sasha A​ ,

    For F4 and F7, HAL is modified vs. the HAL available in CubeMx, so you need to use the HAL driver provided in the Pack, not the one available in CubeMX.

    Future updates on STM32F7/F4 CubeFW and STM32CubeMX will align the HAL ETH driver to the one used by Azure RTOS Pack.

    This is a known limitation and it’s mentioned in Release Notes:

    • User needs to point to the HAL Drivers under X-CUBE-AZRTOS-F7 install path instead of the default location when creating a NetXDuo based project

    Please click on Select as Best if my post fully answered your question. This will help other customers with the same issue to find the solution faster!

    BeST Regards,

    Walid

    Visitor II
    January 14, 2022

    Hi Walid,

    thanks for the info ! Unfortunately i don't know how to change this (change the HAL drivers used) in STM32CubeMX. Could you explain it ?

    Regards,

    Jacques

    Visitor II
    January 17, 2022

    Hello @JAgen.1​ ,

    Just use the Ethernet files located in the following path instead of the files generated by STM32CubeMX:

    Path: x-cube-azrtos-f4-main\DriversSTM32F4xx_HAL_Driver\Src

    You just have to copy them into your project driver.

    BeST Regards,

    Walid

    ST Employee
    January 20, 2022

    Hi @JAgen.1​,

    under the STM32CubeMX "Project Manager" panel select the "Project" Tab and edit the Firmware location as shown below:

    0693W00000JMfCDQA1.png 

    regards

    Haithem.

    Visitor II
    January 23, 2022

    Hi Haithem Rahmani,

    thank you for your help ! unfortunately i do not get the line you mention (Firmware location) .

    0693W00000JN0qTQAT.pngRegards,

    Jacques