cancel
Showing results for 
Search instead for 
Did you mean: 

stm32H755: flash to memory area 0x1ff00000 when BOOT0 = 1

Domy_ST
Associate III

hello ST Community,

I need your support. So far, I've been able to flash my bootloader software into the unprotected memory area 0x08000000 when Boot0 = 0 for the NUCLEO-H755ZI-Q series, both with the STM32CubeProgrammer and with my bootloader software via UART.

However, I'd like to flash the same bootloader software into the memory area 0x1ff00000 when Boot0 = 1. I know it's protected. Is it possible to change the security level or flash it to another memory to run my software when Boot0 = 1?

Thank you for your support.

1 ACCEPTED SOLUTION

Accepted Solutions

 


@Domy_ST wrote:

@mƎALLEm 

my idea is to put my bootloader outside the 1024K flash capacity so from 0x08000000 to 0x080ffff of the CM7 but still have it start my bootloader when Boot0 = 1 outside the max address of the flash.


So put your custom bootloader at BANK2. You need to program that in the option bytes.

Please refer to the section: 2.6 Boot configuration in RM0399

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.

View solution in original post

4 REPLIES 4
mƎALLEm
ST Employee

Hello,

No. The system bootloader is hardcoded at the memory area 0x1ff00000. Not possible to write at that memory region.

To run your own bootloader when Boot0 = 1, configure the BOOT_ADD1 option byte to point to your custom bootloader.

From AN4938:

mALLEm_0-1776771960099.png

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.

@mƎALLEm 

ok how can i configure BOOT_ADD1 by setting the address where my custom bootloader should start when Boot0 = 1? maybe from the address 0x1ff09800 if it is possible to overwrite. only with STM32CubeProgrammer?

my idea is to put my bootloader outside the 1024K flash capacity so from 0x08000000 to 0x080ffff of the CM7 but still have it start my bootloader when Boot0 = 1 outside the max address of the flash.

 


@Domy_ST wrote:

@mƎALLEm 

my idea is to put my bootloader outside the 1024K flash capacity so from 0x08000000 to 0x080ffff of the CM7 but still have it start my bootloader when Boot0 = 1 outside the max address of the flash.


So put your custom bootloader at BANK2. You need to program that in the option bytes.

Please refer to the section: 2.6 Boot configuration in RM0399

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.
Domy_ST
Associate III

Ok, so the only solution is to use bank 2 of the user main memory. Thanks.