You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The [first stage bootloader (FSBL)](https://community.st.com/t5/stm32-mcus/stm32n6-fsbl-explained/ta-p/764307) is a key component in the boot process of STM32N6 microcontrollers. It is responsible for initializing the system, configuring the hardware, and loading the application code from external memory into the internal or external memories for execution.
4
+
The [first stage bootloader (FSBL)](https://community.st.com/t5/stm32-mcus/stm32n6-fsbl-explained/ta-p/764307) is a key component in the boot process of STM32N6 microcontrollers. It is responsible for initializing the system, configuring the hardware, and loading the application code from external memory into the internal or external memories for execution.
5
5
6
6
This FSBL *csolution template project* can be used to build 512KB basic firmware application (`FSBL.cproject.yml`) that executes in internal RAM (Application as part of the FSBL).
7
7
The `ExtMemLoader.cproject.yml` implements a *flash algorithm* that generates a binary library capable of programming an application into external memory.
@@ -10,18 +10,18 @@ The `ExtMemLoader.cproject.yml` implements a *flash algorithm* that generates a
10
10
11
11
The bootROM copies FSBL image (512KB) from external Flash (Octo SPI Flash Memory) to the internal RAM (AXI SRAM2) and starts executing it, blinking a LED in an infinite loop with a 0.5 second period.
12
12
13
-
## Steps to Create, Build, Load and Debug using the Basic Template csolution project
13
+
## Steps to Create, Build, Load and Debug using the FSBL Template csolution project
14
14
15
-
> **Prerequisites:**
15
+
> **Prerequisites**
16
16
>
17
-
>-**Required Packs:**
18
-
> -[Keil.STM32N6xx_DFP 1.1.1](https://github.com/Open-CMSIS-Pack/STM32N6xx_DFP) or higher
17
+
>-**Required Packs**
18
+
> -[Keil.STM32N6xx_DFP 1.2.0](https://github.com/Open-CMSIS-Pack/STM32N6xx_DFP) or higher
> STM32CubeMX configuration example for the [STM32N6570-DK board](https://github.com/Open-CMSIS-Pack/STM32N6570-DK_BSP/blob/main/Examples/FSBL/Configuration.md#configuration-in-stm32cubemx)
> The OTP configuration for flash source selection is configurable via fuses in BOOTROM_CONFIG_2[8:5], OTP_WORD11 using **STM32CubeProgrammer**. Requires the **default** boot configuration to have sNOR device attached boot. For more information, please check [UM3234](https://www.st.com/resource/en/user_manual/um3234-how-to-proceed-with-boot-rom-on-stm32n6-mcus-stmicroelectronics.pdf).
> The OTP configuration for flash source selection is configurable via fuses in BOOTROM_CONFIG_2[8:5], OTP_WORD11 using **STM32CubeProgrammer**. Requires the **default** boot configuration to have sNOR device attached boot. For more information, please check [UM3234](https://www.st.com/resource/en/user_manual/um3234-how-to-proceed-with-boot-rom-on-stm32n6-mcus-stmicroelectronics.pdf).
> STM32CubeMX configuration example for the [STM32N6570-DK board](https://github.com/Open-CMSIS-Pack/STM32N6570-DK_BSP/blob/main/Examples/FSBL/Configuration.md#configuration-in-vscode)
142
169
143
170
## Build and Load in VSCode
144
171
@@ -152,23 +179,23 @@ Configure `target` in STM32CubeMX
152
179
153
180
### Load application to target
154
181
155
-
- Set the boot mode configuration in **development mode** and reset board after each power on cycle
156
-
- To flash `target` click **Views and More Actions** and click **Load application to target**
157
-
- Set the boot mode configuration in **flash mode** and reset board
158
-
- Configured LED should blink (in FSBL/Src/main.c)
182
+
- Set the boot mode configuration in **development mode** and reset board after each power on cycle
183
+
- To flash `target` click **Views and More Actions** and click **Load application to target**
184
+
- Set the boot mode configuration in **flash mode** and reset board
185
+
- Configured LED should blink (in FSBL/Src/main.c)
159
186
160
187
## Debug in VSCode
161
188
162
-
- To debug application in:
163
-
- **FLASH MODE:**
189
+
- To debug application in
190
+
- **FLASH MODE**
164
191
- Set the boot mode configuration in **flash mode** and reset board
165
192
> To flash an unprogrammed (virgin) `target`, ensure that the board is in development mode.
166
193
- Open `.vscode\launch.json` file and modify configuration named "STLink@pyOCD (launch)" under **initCommands** and **customResetCommands**:
167
194
- Modify the command from **tbreak main** to **thbreak main**
168
195
- Click **Load & Debug application** button and now program should wait in main function to start debug
169
196
- With Continue (F5) button, LED should blink in flash mode
170
197
171
-
- **DEVELOPMENT MODE:**
198
+
- **DEVELOPMENT MODE**
172
199
- Set the boot mode configuration in **development mode** and reset board
173
200
- Open `.vscode\launch.json` file and modify configuration named "STLink@pyOCD (launch)"
174
201
- Comment line
@@ -182,7 +209,7 @@ Configure `target` in STM32CubeMX
0 commit comments