I wonder if Keil and IAR use OpenOCD in the background to flash binaries to the target chip. If not, what software do they use in the background?
IAR uses it's own tool: the IAR Flash loader
( https://updates.iar.com/filestore/standard/001/001/123/arm/doc/FlashLoaderGuide.ENU.pdf )
Keil also uses it's own tool: Keil Flash Algorithms
( https://www.keil.com/support/man/docs/uv4cl/uv4cl_fl_flash_algorithms.htm )