Issue after modifying linker script to use larger RAM region on STM32N6570-DK
- August 30, 2025
- 2 replies
- 638 views
Hello ST Community,
I'm working on an STM32N6570-DK project where I've merged two example codes from the STM32CubeN6 repository:
1 . DCMIPP_ContinuousMode
- Used for capturing data from the IMX335 camera and displaying it on LTDC.
2 . Nx_WebServer
- Modified to set a static IP and transmit packets over Ethernet and not using the SD card part and FileX.
The merged code compiles successfully in STM32CubeIDE. I've attached a ZIP file containing the full merged project for reference.
Initially, I used the linker script (STM32N6XX_AXISRAM2_fsbl.ld) , which allocates 512KB of RAM (255K + 256K) and manages Ethernet buffers, I attached .txt file named WORKING.
Camera image is visible on the LCD.
Ethernet packets (with static data) are sent at ~900 Mbps.
Problem:
I need more RAM for my application. So, I modified the .ld file , i attached the txt file named NOT_WORKING
The code still compiles successfully. However, after flashing the via STM32CubeIDE:
- The program flashes correctly but starts executing automatically (without manual reset or intervention).
- No image is displayed on the LCD (camera data not appearing).
- No Ethernet packets are transmitted or received.
- The board does not respond to pings, and networking seems completely non-functional.
The main problem is that , whenever i tried to modify to increase the RAM size the program starts automatically and struck in Reset Handle.
Questions :
Why does the program start executing automatically after flashing? In the original setup, it doesn't auto-run like this?
Are there specific adjustments needed for Ethernet buffers (like .tcp_sec or .nx_data) when scaling up RAM? I removed the absolute addresses, but perhaps they need remapping.
Any help or insights would be greatly appreciated!
Thanks in advance,
