Skip to main content
Renato Valentim
Associate III
Mar 31, 2020 7:44 AM UTC
Question

Porting from STM32Cube FW (LWIP + FreeRTOS) to STM32CubeMx for STM32F7 project

Hello!

I was able to successfully run the LwIP_HTTP_Server_Netconn_RTOS application for the STM32F767ZI-Nucleo board included in the STM32Cube_FW_V1.16.0 package. I was even able to add UDP send and receive tasks which work.

But now, since I will be adding more functionality to the chip, I want to be able to use the STM32CubeMX software to help me in putting in new peripherals. I migrated to this. Unfortunately I am not able to make the program run anymore.

I looked at the article https://community.st.com/s/article/How-to-create-project-for-STM32H7-with-Ethernet-and-LwIP-stack-working for some clues as it pertains to STM32H7 and not STM32F7 as is my case.

Basically, any LWIP related functionality does not seem to be working. I attached the whole package. I've run out of ideas. Any help would greatly be aprreciated.

Thanks!

This topic has been closed for replies.

3 replies

AFara.2
Associate III
Mar 31, 2020 11:06 AM UTC

Hi,

I double checked your STM32CubeMx project and I found an issue. In Connectivity/ETH/Parameter Settings/ PHY Address should be 0 (as shown in STM32F767ZI-Nucleo schematic U9 component pin 10). First of all just try to change this.

I've some questions for you:

1) How did you test your UDP send and receive features?

2 How did you debug multitasking FreeRTOS? When I try to do this, everytime I pause the debug the program stops in the IDLE task.

3) What IDE did you use? System Workbench for STM32?

Thank you

Renato Valentim
Associate III
Mar 31, 2020 12:56 PM UTC

Hello!

Thanks for your help The http server now works except for the task list. I updated by adding the line:

osThreadList((unsigned char *)(PAGE_BODY + strlen(PAGE_BODY)));

Also the UDP is not working, receive and send

Regarding your questions:

  1. To check packets from the MCU to the PC I use the instruction "sudo tcpdump -l -n -i enp2s0 'udp' -ttt". To check packets from the PC to the MCU I use the instruction "echo "This is my data" > /dev/udp/192.168.0.10/7". In STMCubeIDE, I can make a breakpoint to the line I receive the message and check the content of the buffer.
  2. I use breakpoints. LEDs also help
  3. STMCubeIDE

Thanks for your help. Got a little further.