Re-Installing U-Boot to the Kinetis SOM
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:
- On a Windows host download and install the Special Edition of CodeWarrior 10.2 or higher from the Freescale web site at: http://www.freescale.com/cwmcu10;
- Open the cover of the P&E USB MultiLink Universal debugger and programmer device;
- 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
- 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;
- Connect the TWR-K70-SOM-BSB board to a Windows host using a mini-USB cable;
- Connect the P&E programmer to a Windows host using a USB cable.
- 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.
- On the Windows host run the CodeWarrior for Microcontrollers 10.2:
- 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;
- Open the Target Tasks view. It is accessible via Window -> Show View -> Other...;
- 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;
- 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;
- 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;
- 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;
- In the Target Tasks view, click the right mouse button on your flash programming task and select Execute.
- 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