Der Bootloader wird nach 0x8000000 geflasht. So wie vorher die Firmware. 0x8000000 ist sozusagen die Startadresse, egal ob für die Firmware oder den Bootloader.
Der Bootloader ist dann dafür zuständig die Firmware nach 0x8002000 zu flashen, und die Firmware muss dafür ausgelegt sein, statt von 0x8000000 dann von 0x8002000 zu laufen.
Bei jedem Start wird dann erst der Bootloader gestartet, und der startet dann die Firmware.
Zum Firmware flashen per Bootloader wird erst das Skript aufgerufen, und dann der ST-Link angesteckt.
Ich habe mir mal https://github.com/UweBonnes/b…/stlink/dfu_upgrade.c#L33 angeguckt, und vielleicht geht es auch ohne Pulldown Widerstand, indem man direkt USBDP runter zieht. Das müsste dann nur anfangs beim Initialisieren in der Firmware gemacht werden.