Skip to main content
Associate
July 22, 2025
Solved

NUCLEO-N657X0-Q STM32CubeIDE NetXDuo

  • July 22, 2025
  • 4 replies
  • 435 views

Hi everyone,

for several days I've been trying to replicate the Nx_TCP_Echo_Server application example by creating a project with the .IOC file, but I can't establish Ethernet communication.

If I compile and run the example, everything works, but my application doesn't. I'll send you my project if anyone can help.

Alternatively, can someone point me to a simple TCP stack without using an RTOS? Thanks so much for your help.

I'm using a NUCLEO-N657X0-Q board, STM32CubeIde 1.19

Best answer by STackPointer64

Hello @GEKO, and welcome to ST Community!

After reviewing your project, it seems two important configurations were missing:

  1. The External Loader (MX25UM51245G_STM32N6570-NUCLEO.stldr) was not specified in your Debug/Run settings.
  2. The definition of the NX_Pool Buffer was not added in the app_azure_rtos.c file.
/* USER CODE BEGIN NX_Pool_Buffer */
#if defined ( __ICCARM__ ) /* IAR Compiler */
#pragma location = ".NetXPoolSection"
#else /* GNU and AC6 compilers */
__attribute__((section(".NetXPoolSection")))
#endif
/* USER CODE END NX_Pool_Buffer */​

Best regards,

 

4 replies

STackPointer64Best answer
Technical Moderator
August 5, 2025

Hello @GEKO, and welcome to ST Community!

After reviewing your project, it seems two important configurations were missing:

  1. The External Loader (MX25UM51245G_STM32N6570-NUCLEO.stldr) was not specified in your Debug/Run settings.
  2. The definition of the NX_Pool Buffer was not added in the app_azure_rtos.c file.
/* USER CODE BEGIN NX_Pool_Buffer */
#if defined ( __ICCARM__ ) /* IAR Compiler */
#pragma location = ".NetXPoolSection"
#else /* GNU and AC6 compilers */
__attribute__((section(".NetXPoolSection")))
#endif
/* USER CODE END NX_Pool_Buffer */​

Best regards,

 

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.
GEKOAuthor
Associate
August 8, 2025

Thanks @STackPointer64 for the support. I added the points you indicated, but the situation hasn't changed.

The application threads are running correctly, but the DHCP process doesn't seem to start.

Technical Moderator
August 8, 2025

Hello,

After retesting and downloading your project with the suggested adjustments, I can confirm that it works. As shown in the Wireshark screenshot below, the board is discovered by the DHCP server and obtains a valid IP address. I was able to successfully ping the board and receive responses.

dhcp.png

As a suggestion, please ensure your DHCP server is functioning correctly. You might also have made other changes in your project. To help, I have attached a copy of the working project—please build and flash it to your MCU, then share your feedback. I’ll be happy to assist further.

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.
GEKOAuthor
Associate
August 8, 2025

Thanks again for your support.
I tested the code you submitted and confirm it works.
I checked with my code and I had mistakenly entered the definition

#if defined ( __ICCARM__ ) /* IAR Compiler */
#pragma location = ".NetXPoolSection"
#else /* GNU and AC6 compilers */
__attribute__((section(".NetXPoolSection")))
#endif

under the function


__ALIGN_BEGIN static UCHAR nx_byte_pool_buffer[NX_APP_MEM_POOL_SIZE] __ALIGN_END;

static TX_BYTE_POOL nx_app_byte_pool;

and consequently the buffer was not assigned to the correct section.

Thanks again for your support