Upload/flash firmware without source code

Can PlatformIO IDE upload bin/hex file to the board without rebuild from source code?
My PlatformIO IDE (on VSCode on Windows 10) always re-build (or just re-link) the source code every time I try to flash the firmware to the board.
I have the same problem like this on Arduino IDE too.
The firmware has been compile completely into a bin file.
I just want to flash this bin firmware file to the board.
Can anybody give me some command line example?
The following are target board and firmware:
platform = espressif8266
framework = arduino
board = esp01_1m
board_flash_mode = dout
build_flags = -Wl,-Tesp8266.flash.1m0.ld -DMQTT_MAX_PACKET_SIZE=1000
lib_deps = PubSubClient, NeoPixelBus, IRremoteESP8266, ArduinoJSON
extra_scripts = pio/strip-floats.py

I think I found somewhat better solution.
Because flashing the target via PlatformIO not only have to re-build firmware image from the source code but also flash with low transfer rate (support upload speed is limit)
So, I just download the Flash Download Tools directly from the ESPressif website.

First, I flash the target using PlatformIO.
From PlatformIO terminal after the re-build process, we can see the firmware image bin file location and the address it should be written to.
Normally, the bin file is just a plain binary without any memory address or section.
With this bin file and memory address, we can flash the firmware using ESP Flash Download Tools.
Just make sure to set the SPI SPEED, SPI MODE, FLASH SIZE correctly.
(In my case, 40 MHz, DOUT, 8 Mbit)
Also, I can flash at baud rate 1.152MHz without error.

In a small program, it may be OK to re-building the project every time we flash the firmware to the target device.But it is really inconvenient in case of the big program.

Just increase upload_speed.