I have used a ST-LINK V2 + openocd. $4 on ebay. I'm afraid to try loading a program with it (ie, erase/write flash).
Doesn't Freescale have their own equivalent to ST-Link ($21 for an ST-branded one) ? That USB based SWD debug and flasher is a great thing.
And does Freescale have a free DFU software tool and an optionally enabled BOOT ROM (not flash) in their M0-M4's? Like ST's where the boot automatically detects/uses USB/DFU, UART1, UART3, I2C, CAN?
I've looked but am still unsure.
In the ST ARMs, and Freescale too? - one can fab the board with the BOOT ROM disabled via an MCU pin (that can be inaccessible) on the board. But software can use the ARM memory remapping registers to remap the BOOT ROM to address 0 as if the jumper was in place, then jump to the boot. I've done that as an "emergency" way to get to the ROM BOOT when a distribution of firmware has an overlooked bug that bricks the board after it goes to non-technical users. This is triggered by jumpering the UART1 TX,RX together but re-config them as GPIO OUT/IN and then toggle the GPIO OUT and read the input put, to detect the jumper is in place and force a jump to boot, from application startup code that assuredly runs ever power up, despite a fault app. Saves one's buns when, say, a 3rd party library like FATFS hangs due to file system corruption. (And using the watchdog timer is another backup for this).
Of course, PJRC has to use the add-on chip for downloading as an anti-counterfeit means, else China, Inc. would overtake in a nanosecond.