1*4882a593SmuzhiyunHow to update U-Boot on pico-imx7d board 2*4882a593Smuzhiyun---------------------------------------- 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunRequired software on the host PC: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunBuild U-Boot for pico: 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun$ make mrproper 11*4882a593Smuzhiyun$ make pico-imx7d_defconfig 12*4882a593Smuzhiyun$ make 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunThis generates the U-Boot binary called u-boot.imx. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunPut pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide 17*4882a593Smuzhiyunpage 3) 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunConnect a USB to serial adapter between the host PC and pico. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunConnect a USB cable between the OTG pico port and the host PC. 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunOpen a terminal program such as minicom. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunCopy u-boot.imx to the imx_usb_loader folder. 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunLoad u-boot.imx via USB: 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun$ sudo ./imx_usb u-boot.imx 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunThen U-Boot starts and its messages appear in the console program. 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunUse the default environment variables: 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun=> env default -f -a 36*4882a593Smuzhiyun=> saveenv 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunRun the UMS command: 39*4882a593Smuzhiyun=> ums 0 mmc 0 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunTransfer u-boot.imx to be flashed into the eMMC: 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun$ sudo dd if=u-boot.imx of=/dev/sdX bs=1K seek=1; sync 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunRemove power from the pico board. 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunPut pico board into normal boot mode. 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunPower up the board and the new updated U-Boot should boot from eMMC. 50