UPDATE: I found some firmwares that enumerate over USB with the MK20DX128xxx5 chip. They show up under in my file explorer (both Linux and Windows) as a storage device. Problem is that they are not recognized by MCUXpresso, Keil, or IAR at all, and the RESET LED no longer lights up unless powered from the target USB port (MK66's USB port, not OpenSDA)
Also the recommended firmwares for my board (K66F) don't seem to work either in Windows or Linux, despite being what is recommended.
Firmwares found that enumerate over USB but not recognized by MCUXpresso:
#1 https://community.nxp.com/servlet/JiveServlet/download/1072946-1-435301/0244_k20dx_bl_0x8000.bin.zip
#2 https://github.com/mbedmicro/DAPLink/files/713134/OpenSDA.2.2.Daplink.BOOTLOADER.for.K20DX.0x8000.zi...
UPDATE 2:
I found a workaround for this issue. It was quite a roundabout hack for me since I started noticing what certain firmwares did.
What I learned:
- For some reason, programming recent firmwares into the board does not work, had to use working firmware #1 (see above) as a base.
- Working firmware #1 shows up as MAINTENANCE over USB, while working firmware #2 does not (it shows up as DAPLINK instead). These have to be directly programmed by a debug probe.
- Since the board shows up as MAINTENANCE over USB, I was able to upgrade the firmware using drag-n-drop (tested both J-Link and DAPLink firmwares)
Its safe to say my issue is solved, though this is a weird one.