Hi, you should flash first bootloader of stm32f4, whose source code is in https://github.com/PX4/Bootloader. Here, you should use the bootloader interface of stm32f4 cpu. It will be a JTAG interface. You should use the arm-none-eabi-gdb to flash the CPU via its JTAG interface. For this, you should have a Blackmagic debug probe from : https://1bitsquared.com/products/black-magic-probe
After flashing the bootloader via JTAG, you may use the microUSB interface of CPU F4, which is usb-serial interface to flash the firmware.
If you will not use the IO CPU, you will use the PWM interface of STM32F4, which is dangerous if you will have a firmware crash. Because the firmware crash will disable the PWM and you will crash. The IO CPU has its own firmware which includes the mixer and PWM modules, independent of the FMU CPU. Any firmware fault will not affect the IO CPU and RC interface which is handled by the IO CPU STM32F1 only.