I have ordered another Teensy3.1 from CPC (Farnell) today, I will check which button that has fitted, may be old stock though so might get the previous version. They have over 50 in stock at time of writing (£20.39 inc VAT and delivery at the moment, UK).
http://cpc.farnell.com/teensy/teensy3-1/microcontroller-arduino-compatible/dp/SC13539?mckv=sTq8thwgJ_dc|pcrid|61927053617|kword|teensy3.1|match|e|plid|&CMP=KNC-GUK-CPC-GEN-SKU-MCU
The picture does show the black 'program' button, again may be an old picture.
Perhaps these others are 'clone' devices that Paul Stoffregen warned me of.
The Mbed compiler sets the execution address to the start of Flash. I believe it runs up using the IRC clock to dump the NVIC parameters into RAM and then jumps to the user program code where the system set up runs clock source settings, etc. then into the main program code.
Most MCU Flash resident bootloaders use the start of Flash to initialise the bootloader code that sits somewhere at the top of the Flash and the user code load and start address is offset further up the Flash, usually to 0x400.
From what I understand when the 'prog' button is pressed the on Teensy3.1 the bootloader MCU dumps the bootloader code into the RAM of the K20 MCU, that way no Flash is used for the process. It then runs this code to load the user code to the Flash.
Clearly this was at the start of Flash. Perhaps the new versions are set differently. It can only be bootloader on the interface MCU that may have changed in some way.
I do not use Arduino, is the program execution address the same? if so why would that work and not with the Mbed code?
If we get stuck here, I will see if we can offset the Mbed scatter file definitions and use the MCU's own bootloader function and revert back to USB drag and drop programming, but that would eat up a small amount of Flash for the bootloader code.
That may be a better option but does detract from the original design of the this board and if Arduino programming is used it would wipe out the bootloader that would need re loading before using it on Mbed again.
It is working. See https://developer.mbed.org/users/yoonghm/code/Teensy_MBED_BLINKY/
I had also commented on https://developer.mbed.org/platforms/teensy-3-1/