2022-02-28 07:31 AM
Hi all,
I've got an STM32 evaluation board (STM32H745-DISCO). As soon as I connect the board using the ST-Link connector the Windows PC also detects a mass storage device.
I haven't used this feature before but it seems that "drag-and-drop programming" is possible. But I haven't really found details about this mechanism. It must be a feature of the ST-Link firmware which can be deactivated (by programming other firmware if I understand correctly).
There's a DETAILS.TXT and an MBED.HTM file on the virtual mass storage device.
The HTML file only forwards to http://mbed.org/device/?code=08470221012961693E6DF813 which is resolves to https://os.mbed.com/platforms/ST-Discovery-H745I/ - telling me that there's no further info.
The DETAILS.TXT file gives the following two lines, probably info about the ST-Link firmware.
Version: V3J9M3
Build: Nov 2 2021 16:57:17
I'll probably stick to flashing using STM32CubeProgrammer or the ST-LINK Utility. However, I'd be interested in more details about the "MBED drag-and-drop programming" and its limitations.
Edit: Found another info which led my to the following idea: Is the ST-Link firmware (or this feature) based on "DAPLink interface firmware"?
Cheers,
Matthias
Solved! Go to Solution.
2022-02-28 02:44 PM
Only supports .BIN, written in a continuous/linear fashion. ie pretending to be a FAT file system, sectors/clusters go to FLASH memory.
Is suspect you can write both banks with an image large enough to touch both. Not addressable.
Things like .ELF would need to have true random access, and stage the image, and then navigate. Too complicated here.
No, core implementation has not idea what you've placed on board vs memory, pins, etc. So doesn't support External Loaders.
You could likely create your OWN loader that works similarly, and supports YOUR hardware.
I think Arduino and Microsoft have some specific class/implementation.
Your own DFU implementation could support external memories.
You could perhaps create a CDC/VCP supporting X/Y-MODEM and use terminal application if you wished.
2022-02-28 02:44 PM
Only supports .BIN, written in a continuous/linear fashion. ie pretending to be a FAT file system, sectors/clusters go to FLASH memory.
Is suspect you can write both banks with an image large enough to touch both. Not addressable.
Things like .ELF would need to have true random access, and stage the image, and then navigate. Too complicated here.
No, core implementation has not idea what you've placed on board vs memory, pins, etc. So doesn't support External Loaders.
You could likely create your OWN loader that works similarly, and supports YOUR hardware.
I think Arduino and Microsoft have some specific class/implementation.
Your own DFU implementation could support external memories.
You could perhaps create a CDC/VCP supporting X/Y-MODEM and use terminal application if you wished.
2022-09-15 06:54 AM
Tried the same with a new STLINK-3 MINI
all attempts failed, the NDIR_109.BIN file is 48k, the STLINK_V3M USB flash has 392k
the BIN files shows for a short time then the window is closed, the FAIL.TXT is then created saying:
"The application file format is unknown and cannot be parsed and/or processed"
It seems not to work at all in my opinion.
2023-05-31 12:38 AM
Hello,
You will find details about Drag-and-Drop programming with ST-Link (supported .bin .hex format and limitations) in RN00093 STSW-LINK007 firmware upgrade release note. It is available here: https://www.st.com/en/development-tools/stsw-link007.html#documentation ,
RN0093 Firmware upgrade for ST-LINK, ST-LINK/V2, ST-LINK/V2-1 and STLINK-V3 boards
Best regards
2023-05-31 03:57 AM
Dear @AM this information is very useful, thanks.
Is it possible in the next revision of RN0093 or UM2502 or other document to put the info on Drag-and-Drop programming in a separate chapter to be easily discovered?