cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N6570-DK – FSBL Peripheral Configuration, Multi-Layer Execution & External Flash Loader Issue

Selvarasu_K
Associate II

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.

2 REPLIES 2
KDJEM.1
ST Employee

Hello @Selvarasu_K ;

 

I recommend you to refer to these examples 

For more information about how to generate an ExtMemLoader using STM32CubeMX for STM32N6 devices; I advise you to look at Getting started with External memory Manager and External memory loader - stm32mcu

 

The below ressources can help you to start with STM32N6:

 

I hope this help you.

Thank you.

Kaouthar

 

 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

STM32N6570-DK – FSBL & Application Binary Handling and Jump to Application

I am now able to flash the binary into external flash memory successfully. However, I am facing issues with handling multiple binaries and execution flow.

Issues:

  1. FSBL & Application Binary Flashing
    I have two separate binaries (FSBL and Application). I am able to flash only one binary at a time.
    Kindly guide how to flash both binaries properly (same address 0x70000000 or different memory sections like 0x70010000).
  2. Jump to Application
    FSBL should run first and then jump to the Application.
    Kindly explain how to implement the jump to application correctly and ensure proper execution flow.
  3. Project Structure & Peripheral Allocation
    The project has multiple layers (FSBL, Application, External loader).
    For reference i tried the suggested example project VENC_RTSP_Server does not include .ioc file, so i didn't get clarity to enable peripherals in which sub projectes.
    Kindly clarify:
    • How these layers work together
    • Which functionalities/peripherals should be handled in each layer

These issues are blocking further progress. Kindly provide clear guidance or reference.