2026-03-13 12:23 PM
I tried in use Nx_WebServer factory example written for STM32N6570-DK board. Finally I compiled (without error) and run the project but nothing (except single step) worked.
What did I wrong?
Louis
Solved! Go to Solution.
2026-03-14 12:50 PM - edited 2026-03-14 12:50 PM
Here is a (long and detailed) to do list how to make the Nx_WebServer work on STM32N6570-DK card. This is fully tested solution. Following these (my) steps I could run the Nx_WebServer.
off
setlocal
:: Tools
set "CUBEPROGRAMMER_TOOL_PATH=C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
:: Paths relative to this script
set "BIN_DIR=%~dp0..\STM32CubeIDE\FSBL\Debug"
set "OUT_DIR=%BIN_DIR%"
:: Input/output filenames
set "FSBL_BIN=%BIN_DIR%\Nx_WebServer_FSBL.bin"
set "FSBL_TRUSTED=%OUT_DIR%\Nx_WebServer_FSBL-trusted.bin"
echo BIN_DIR = %BIN_DIR%
echo FSBL_BIN = %FSBL_BIN%
if not exist "%FSBL_BIN%" (
echo.
echo *** HIBA: Nem találom az FSBL bin fájlt ***
echo "%FSBL_BIN%"
echo.
pause
exit /b 1
)
pushd "%BIN_DIR%"
echo.
echo Signing FSBL for OSPI boot...
"%CUBEPROGRAMMER_TOOL_PATH%\STM32_SigningTool_CLI.exe" ^
-s ^
-bin "%FSBL_BIN%" ^
-nk ^
-of 0x80000000 ^
-t fsbl ^
-o "%FSBL_TRUSTED%" ^
-hv 2.3 ^
-align
echo.
echo Flashing FSBL to OSPI @ 0x70000000...
"%CUBEPROGRAMMER_TOOL_PATH%\STM32_Programmer_CLI.exe" ^
-c port=SWD mode=HOTPLUG AP=1 ^
-el "%CUBEPROGRAMMER_TOOL_PATH%\ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr" ^
-d "%FSBL_TRUSTED%" 0x70000000
popd
pauseNx_Webserver application started..
Looking for DHCP server ..
STM32 IpAddress: 192.168.1.92 (might be different)
Fx media successfully opened.
HTTP WEB Server successfully started.
This procedure solved my problem. Do not start writing own rtl8211.c driver. STM provides it in the local repository of your PC if STM32Cube N6 firmware is installed, just the did not mention that.
Good luck,
Louis
2026-03-14 12:50 PM - edited 2026-03-14 12:50 PM
Here is a (long and detailed) to do list how to make the Nx_WebServer work on STM32N6570-DK card. This is fully tested solution. Following these (my) steps I could run the Nx_WebServer.
off
setlocal
:: Tools
set "CUBEPROGRAMMER_TOOL_PATH=C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
:: Paths relative to this script
set "BIN_DIR=%~dp0..\STM32CubeIDE\FSBL\Debug"
set "OUT_DIR=%BIN_DIR%"
:: Input/output filenames
set "FSBL_BIN=%BIN_DIR%\Nx_WebServer_FSBL.bin"
set "FSBL_TRUSTED=%OUT_DIR%\Nx_WebServer_FSBL-trusted.bin"
echo BIN_DIR = %BIN_DIR%
echo FSBL_BIN = %FSBL_BIN%
if not exist "%FSBL_BIN%" (
echo.
echo *** HIBA: Nem találom az FSBL bin fájlt ***
echo "%FSBL_BIN%"
echo.
pause
exit /b 1
)
pushd "%BIN_DIR%"
echo.
echo Signing FSBL for OSPI boot...
"%CUBEPROGRAMMER_TOOL_PATH%\STM32_SigningTool_CLI.exe" ^
-s ^
-bin "%FSBL_BIN%" ^
-nk ^
-of 0x80000000 ^
-t fsbl ^
-o "%FSBL_TRUSTED%" ^
-hv 2.3 ^
-align
echo.
echo Flashing FSBL to OSPI @ 0x70000000...
"%CUBEPROGRAMMER_TOOL_PATH%\STM32_Programmer_CLI.exe" ^
-c port=SWD mode=HOTPLUG AP=1 ^
-el "%CUBEPROGRAMMER_TOOL_PATH%\ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr" ^
-d "%FSBL_TRUSTED%" 0x70000000
popd
pauseNx_Webserver application started..
Looking for DHCP server ..
STM32 IpAddress: 192.168.1.92 (might be different)
Fx media successfully opened.
HTTP WEB Server successfully started.
This procedure solved my problem. Do not start writing own rtl8211.c driver. STM provides it in the local repository of your PC if STM32Cube N6 firmware is installed, just the did not mention that.
Good luck,
Louis
2026-03-16 2:40 AM
I successfully added controls to enable blinking the red LED controls. I also create a RedLedThred in Nx_WebServer app to blink the red led. Now both LEDs (green+red) can be enabled to blink from website.
However, the memory usage looks very bad:
Debugging is also a problem. The only way to debug the app to set BOOT1 switch to 1-3 (right) position, do not run the SingAndLoad.bat, but start debugging. This works fine.
If you set BOOT1 switch to 1-3 (right) position, do run the SingAndLoad.bat, set BOOT1 switch back to 1-2 (left) position, cycle the power then the app runs, but starting the debugger reports Failed to start GDB Server error:
The memory section of the LD file is the factory default:
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_sstack = _estack - _Min_Stack_Size;
_Min_Heap_Size = 0x200; /* required amount of heap */
_Min_Stack_Size = 0x800; /* required amount of stack */
/* Memories definition RAM was originall 256K */
MEMORY
{
ROM (xrw) : ORIGIN = 0x34180400, LENGTH = 256K
RAM (xrw) : ORIGIN = 0x341C0000, LENGTH = 256K
}
/* Sections */
SECTIONS
{
...
...
}Any idea, anybody?
Thanks,
Louis