How to Update U-Boot on pico-imx6q/dl boards -------------------------------------------- Required software on the host PC: - UUU: https://github.com/NXPmicro/mfgtools Build U-Boot for pico: $ make mrproper $ make pico-imx6_defconfig $ make This generates the SPL and u-boot-dtb.img binaries. 1. Loading U-Boot via USB Serial Download Protocol Note: This method is convenient for development purposes. If the eMMC has already a U-Boot flashed then the user can go to step 2 below in order to update U-Boot. Put pico board in USB download mode (Refer to the following link for details: https://www.technexion.com/support/knowledgebase/boot-configuration-settings-for-pico-baseboards/). Connect a USB to serial adapter between the host PC and pico. Connect a USB cable between the OTG pico port and the host PC. Open a terminal program such as minicom. Copy SPL and u-boot-dtb.img to the uuu folder. Load the U-Boot via USB: $ sudo ./uuu -v uuu_script where uuu_script contains the following: SDP: boot -f SPL SDPU: write -f u-boot-dtb.img -addr 0x10000000 SDPU: jump -addr 0x10000000 Then U-Boot starts and its messages appear in the console program. Use the default environment variables: => env default -f -a => saveenv 2. Flashing U-Boot into the eMMC The default U-Boot environment expects the use of eMMC user partition. To ensure we are using the proper eMMC partition for boot, please run: => mmc partconf 0 0 0 0 Next, run the DFU agent so we can flash the new images using dfu-util tool: => dfu 0 mmc 0 Flash SPL and u-boot-dtb.img into the eMMC running the following commands on a PC: $ sudo dfu-util -D SPL -a spl $ sudo dfu-util -D u-boot-dtb.img -a u-boot Remove power from the pico board. Put pico board into normal boot mode. Power up the board and the new updated U-Boot should boot from eMMC.