cancel
Showing results for 
Search instead for 
Did you mean: 

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

Renato Valentim
Associate III

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!

3 REPLIES 3
AFara.2
Associate II

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

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.