2017-05-08 16:17:28 +00:00
|
|
|
How to update U-Boot on pico-imx7d board
|
|
|
|
----------------------------------------
|
|
|
|
|
|
|
|
Required software on the host PC:
|
|
|
|
|
|
|
|
- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader
|
|
|
|
|
|
|
|
Build U-Boot for pico:
|
|
|
|
|
|
|
|
$ make mrproper
|
|
|
|
$ make pico-imx7d_defconfig
|
|
|
|
$ make
|
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
This generates the SPL and u-boot-dtb.img binaries.
|
2018-09-04 13:23:12 +00:00
|
|
|
|
|
|
|
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 with DFU support then
|
|
|
|
the user can go to step 2 below in order to update U-Boot.
|
2017-05-08 16:17:28 +00:00
|
|
|
|
|
|
|
Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide
|
|
|
|
page 3)
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2019-03-27 23:03:39 +00:00
|
|
|
Note: Some computers may be a bit strict with USB current draw and will
|
|
|
|
shut down their ports if the draw is too high. The solution for that is
|
|
|
|
to use an externally powered USB hub between the board and the host computer.
|
|
|
|
|
2017-05-08 16:17:28 +00:00
|
|
|
Open a terminal program such as minicom.
|
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
Copy SPL and u-boot-dtb.img to the imx_usb_loader folder.
|
2018-09-04 13:23:12 +00:00
|
|
|
|
|
|
|
Load the SPL binary via USB:
|
2017-05-08 16:17:28 +00:00
|
|
|
|
2018-09-04 13:23:12 +00:00
|
|
|
$ sudo ./imx_usb SPL
|
2017-05-08 16:17:28 +00:00
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
Load the u-boot-dtb.img binary via USB:
|
2018-09-04 13:23:12 +00:00
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
$ sudo ./imx_usb u-boot-dtb.img
|
2017-05-08 16:17:28 +00:00
|
|
|
|
|
|
|
Then U-Boot starts and its messages appear in the console program.
|
|
|
|
|
|
|
|
Use the default environment variables:
|
|
|
|
|
|
|
|
=> env default -f -a
|
|
|
|
=> saveenv
|
|
|
|
|
2018-09-04 13:23:12 +00:00
|
|
|
2. Flashing U-Boot into the eMMC
|
|
|
|
|
2018-06-29 18:19:19 +00:00
|
|
|
Run the DFU agent so we can flash the new images using dfu-util tool:
|
2017-05-08 16:17:28 +00:00
|
|
|
|
2018-06-29 18:19:19 +00:00
|
|
|
=> dfu 0 mmc 0
|
2017-05-08 16:17:28 +00:00
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
Flash SPL and u-boot-dtb.img into the eMMC running the following commands on a PC:
|
2018-06-29 18:19:19 +00:00
|
|
|
|
|
|
|
$ sudo dfu-util -D SPL -a spl
|
|
|
|
|
2019-04-26 12:36:23 +00:00
|
|
|
$ sudo dfu-util -D u-boot-dtb.img -a u-boot
|
2017-05-08 16:17:28 +00:00
|
|
|
|
|
|
|
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.
|