Help! I broke my board. Now what?#
Never fear, help is here, but first things first: The Big Picture!
The Big Picture#
Just like you got taught in First Aid training, the steps are:
Stop the Accident.
Get the Big Picture.
So we turn off the power and try to get the Big Picture.
Right, you’re back. Lets get your favorite Serial Terminal program fired up and set the BAUDRATE to 115200.
From here on out, we’re going to assume that your serial is working.
Tip
If in doubt, short RX and TX on the probe side and type something in the Terminal.
Level 1: Triage#
Ok, now that we’re no longer driving blind, lets turn the power back on and take a first quick look at the situation.
One of two things will happen on the Terminal at this point:
Absolutely nothing.
The hart-software-services, HSS for short, will greet you.
It’s dead, Jim!#
FlashPro 5
from Microchip for JTAG access.HSS started, phew!#
Alright, it’s not completely dead, so we continue down the path.
Next junction:
It does not find and execute u-boot.
It does!
In any case, onward to level 2…
Level 2: U-Boot#
U-Boot was not found by HSS#
Once that’s taken care of, we can continue to the next step.
U-Boot found and loaded#
So far, so good. U-Boot got loaded.
Next junction:
It is unable to locate a Linux kernel.
It boots into Linux.
No Linux kernel#
Remedy same as before; the eMMC image is damaged, so you’ll have to reprogram it.
Note
Linux boots, but Oops’s before reaching Userland#
This is the most common scenario, so lets examine how to deal with that:
Tip
boot
to proceed and return here.Level 3: Linux boot#
Now, what U-Boot normally does behind the scenes is to run the following:

run design_overlays
bit.Copy
button and paste it into your Terminal.setenv fdt_high 0xffffffffffffffff
setenv initrd_high 0xffffffffffffffff
load mmc 0:2 ${scriptaddr} beaglev_fire.itb;
bootm start ${scriptaddr}#kernel_dtb;
bootm loados ${scriptaddr};
bootm ramdisk;
bootm prep;
fdt set /soc/ethernet@20112000 mac-address ${icicle_mac_addr0};
fdt set /soc/ethernet@20110000 mac-address ${icicle_mac_addr1};
Note
bootm go;
Tip
fdt
command before you tell the kernel to rip.