2024-08-14 01:42 AM
Hello everyone,
I'm encountering an issue while using an external loader to program an external flash memory (MX25L6433F) on an STM32H563IGK6 board. My objective is to access this external flash (OCTOSPI1) with DFU for operations like erasing, writing, and reading, specifically to download my application into the external flash.
However, when I run the command using STM32CubeProgrammer via the command line, the program loads a bootloader named "STM32H7RS-DK" instead of using my custom bootloader, which is already running on the board.
I have a few questions regarding this behavior:
Why does STM32CubeProgrammer choose to load this "STM32H7RS-DK" bootloader? I understand it is a secure bootloader, but I'm unclear on why it's being selected.
Does this mean my custom bootloader will be ignored or replaced?
What exactly does this choice of bootloader by the program mean, and how can I access my external flash (erase, write, read) while still using my own bootloader?
I've attached a screenshot for more details on the messages displayed.
Thanks in advance for your help!
Solved! Go to Solution.
2024-08-15 07:42 AM
Thanks for the swift response @Gnour,
>> Unfortunately, I wasn't able to communicate with the external flash .I couldn't perform an erase or read operation.
This is expected since like I said the feature is not officially supported for H5
>>Regarding the question about the external loaders for the STM32H7RS-DK and SFI, what I meant to ask is whether my bootloader needs to be secured for it to function like the STM32H7RS-DK. Does it require a secure boot to use the external loader effectively?
Ok I understood your request, however I don't have a definitive answer. I guess the OBL for H7RS-DK is secured since it's able to perform SFIx with the SFIx loader. What I recommend is to use your custom bootloader to interface the external memory. Since for STM32H5 this use-case is not yet supported from CubeProgrammer side.
Aziz
2024-11-28 02:04 AM
Hello @Gnour
Issue is fixed in the new STM32CubeProgrammer v2.18 available under this link. Here's the log when trying to use -elbl with a non supported device:
STM32_Programmer_CLI -c port=USB1 -elbl "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer 2.17.0\bin\ExternalLoader\MX25LM51245G_STM32H7B0x-EVAL.stldr"
-------------------------------------------------------------------
STM32CubeProgrammer v2.18.0
-------------------------------------------------------------------
USB speed : Full Speed (12MBit/s)
Manuf. ID : STMicroelectronics
Product ID : STM32 BOOTLOADER
SN : 3865356D3233
DFU protocol: 1.1
Board : --
Device ID : 0x0451
Device name : STM32F76x/STM32F77x
Flash size : 2 MBytes
Device type : MCU
Revision ID : --
Device CPU : Cortex-M7
Error: Programming external memory via bootloader interface is not supported for this device.
An improvement is also done in documentation to specify that the -elbl command via bootloader interface is only supported for STM32H7R/S
Thanks again for your inputs.
Aziz