STM32N6570-DK – FSBL Peripheral Configuration, Multi-Layer Execution & External Flash Loader Issue
I am currently working on the STM32N6570-DK board and need guidance on FSBL configuration, multi-layer project structure, and external flash programming.
Issue 1: FSBL Peripheral Configuration
I enabled multiple peripherals in FSBL:
- USART1, I2C
- BSP
- XSPI1, XSPI2
- CSI, DCMIPP
- VENC, JPEG
After enabling these, I am getting an "unsupported relocation" error.
Kindly guide:
- Which peripherals are recommended to enable in FSBL
- Which peripherals should be initialized in the Application layer instead
- Proper distribution of initialization between:
- FSBL
- Application
- External Memory Loader
Issue 2: Multi-Layer Project Understanding
Currently, the project has:
- Three separate layers (FSBL, Application, External Loader)
- Each has its own startup file and main function
I would like to understand:
- How these three layers work together
- Execution flow between FSBL → Application
- How memory mapping and control transfer happen
- There are three separate build outputs—which one should be flashed?
- How will all three sections work together in a single system?
- Do we need to manually link them, or is it automatically handled (e.g., jump to application)?
Issue 3: External Flash Programming
I am unable to properly flash code into external flash memory.
Details:
- Using external loader: MX66UW1G45G_STM32N6570-DK
Kindly guide:
- How to configure code placement for external flash
- How to select and use the external loader properly in STM32CubeIDE
- Steps to ensure code runs after reset from external flash
Request
Please share:
- Recommended configuration approach
- Any reference examples/projects
- Documentation for FSBL external flash & application flow
This will help me proceed with camera + Ethernet streaming integration.
