The downloading or device programming process is to transfer the content of a firmware image file, built from a project, onto the flash of the target MCU. JumpStart C++ for Cortex includes a built-in downloader (iflash-cortex) which is accessible within the IDE, under ImageCraft->Program Device with Project Output.
A hardware debug / programming pod is needed to provide the programming access. iflash-cortex can use the following debug / programming pods:
NOTE: the ST-LINK low level support is through a GDB Server DLL provided by ST. As of this writing, there are some performance issues that makes flash programming slow using this pod. ST is addressing these problems, and will provide updates that will address the problems, probably sometimes toward the end of 2018.
Meanwhile, for flash programming, you may use ST’s STLINK utility (available on their website) for faster programming performance. NOTE: If you are using one of the ST Nucleo boards, Windows will allow you to drag and drop the .bin file to the virtual folder for the board created when you plug in the board. However, our experience shows that sometimes the program does not work correctly when programmed using this technique, and we do not recommend using this technique.
NOTE: If you are using the ST-LINK pod, you must also quit the ST-LINK utility before you can use the IDE built-in downloader, or to run the debugger. Otherwise, the ST-LINK utility locks the debug pod for exclusive access.
The ST-LINK and Segger JLINK both require their own USB drivers. Windows or Windows Update maybe able to install the necessary USB drivers when you plug in the pod. If not, we provide copies of the drivers under <install root>\Drivers\.