Re-Installing U-Boot to the Kinetis SOM Print

The Emcraft Systems K70 SOM board arrives with the U-Boot firmware pre-installed into the on-chip Flash of the Kinetis. Unless you have programmed a faulty U-Boot image into the Kinetis, you do not need the information provided in this note.

If however you ended up with a non-functional U-Boot in your SOM, you can re-install U-Boot using a P&E USB MultiLink Universal JTAG debugger (not included in the kit) and the Freescale CodeWarrior IDE. Please follow the procedure described below:

  1. On a Windows host download and install the Special Edition of CodeWarrior 10.2 or higher from the Freescale web site at:;
  2. Open the cover of the P&E USB MultiLink Universal debugger and programmer device;
  3. Remove all cables currently connected to the P&E USB MultiLink Universal. Connect the 20-pin flat ribbon cable to the PORT B - STANDARD ARM group of pins. The red pin must be oriented towards
    pin 1;
  4. Connect the other end of the ribbon cable to the P3 connector of the TWR-K70-SOM-BSB baseboard. The red pin must also be oriented towards pin 1;
  5. Connect the TWR-K70-SOM-BSB board to a Windows host using a mini-USB cable;
  6. Connect the P&E programmer to a Windows host using a USB cable.
  7. On the Windows development host, open the Device Manager and install the driver for the USB-ML-12 (FS) Rev A device. The driver is already available on your Windows system; it is part of the CodeWarrior installation. After the driver installation, the blue LED on the P&E programmer should be on.
  8. On the Windows host run the CodeWarrior for Microcontrollers 10.2:
    1. Create a project by selecting File -> New -> Bareboard Project. Choose Kinetis -> K70 Family -> K70F (150 MHz) Family -> MK70FN1M0 from the list of devices to connect to. On the next page, in the list of connection types check only the P&E USB MultiLink Universal [FX] / USB MultiLink, after that you can click Finish;
    2. Open the Target Tasks view. It is accessible via Window -> Show View -> Other...;
    3. In the Target Tasks view, create a new task. The Run Configuration should be
      [project-name]_MK70FN1M0_INTERNAL_FLASH_PnE U-MultiLink, the Task Type should be Flash Programmer for Kinetis;
    4. In the Kinetis Flash Programmer Task view, click the Add Device button under the list of devices. In the dialog box choose FTFE_PFlash1M0 (128Kx64x1) as the type of the internal flash and click Add Device;
    5. In the Kinetis Flash Programmer Task view, in the Target RAM group box, enter the following region of internal SRAM memory: Address: 1fff0000, Size: 00010000;
    6. In the Kinetis Flash Programmer Task view, click Add Action -> Program / Verify. Choose the U-Boot image (u-boot.bin available from the Linux K70/K61 System-On-Module Release Materials page) from the file system, select the Erase sectors before program checkbox and click Add Program Action;
    7. In the Target Tasks view, click the right mouse button on your flash programming task and select Execute.
  9. After programming the Kinetis using CodeWarrior, disconnect the 20-pin Standard ARM JTAG cable from the TWR-K70-SOM-BSB board and re-plug the mini-USB cable into the TWR-K70-SOM-BSB board. The U-Boot banner should appear on the serial console