11541d7a6SVanessa MaegimaHow to update U-Boot on pico-imx7d board 21541d7a6SVanessa Maegima---------------------------------------- 31541d7a6SVanessa Maegima 41541d7a6SVanessa MaegimaRequired software on the host PC: 51541d7a6SVanessa Maegima 61541d7a6SVanessa Maegima- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader 71541d7a6SVanessa Maegima 81541d7a6SVanessa MaegimaBuild U-Boot for pico: 91541d7a6SVanessa Maegima 101541d7a6SVanessa Maegima$ make mrproper 111541d7a6SVanessa Maegima$ make pico-imx7d_defconfig 121541d7a6SVanessa Maegima$ make 131541d7a6SVanessa Maegima 141541d7a6SVanessa MaegimaThis generates the U-Boot binary called u-boot.imx. 151541d7a6SVanessa Maegima 161541d7a6SVanessa MaegimaPut pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide 171541d7a6SVanessa Maegimapage 3) 181541d7a6SVanessa Maegima 191541d7a6SVanessa MaegimaConnect a USB to serial adapter between the host PC and pico. 201541d7a6SVanessa Maegima 211541d7a6SVanessa MaegimaConnect a USB cable between the OTG pico port and the host PC. 221541d7a6SVanessa Maegima 231541d7a6SVanessa MaegimaOpen a terminal program such as minicom. 241541d7a6SVanessa Maegima 251541d7a6SVanessa MaegimaCopy u-boot.imx to the imx_usb_loader folder. 261541d7a6SVanessa Maegima 271541d7a6SVanessa MaegimaLoad u-boot.imx via USB: 281541d7a6SVanessa Maegima 291541d7a6SVanessa Maegima$ sudo ./imx_usb u-boot.imx 301541d7a6SVanessa Maegima 311541d7a6SVanessa MaegimaThen U-Boot starts and its messages appear in the console program. 321541d7a6SVanessa Maegima 331541d7a6SVanessa MaegimaUse the default environment variables: 341541d7a6SVanessa Maegima 351541d7a6SVanessa Maegima=> env default -f -a 361541d7a6SVanessa Maegima=> saveenv 371541d7a6SVanessa Maegima 381541d7a6SVanessa MaegimaRun the UMS command: 391541d7a6SVanessa Maegima=> ums 0 mmc 0 401541d7a6SVanessa Maegima 411541d7a6SVanessa MaegimaTransfer u-boot.imx to be flashed into the eMMC: 421541d7a6SVanessa Maegima 431541d7a6SVanessa Maegima$ sudo dd if=u-boot.imx of=/dev/sdX bs=1K seek=1; sync 441541d7a6SVanessa Maegima 451541d7a6SVanessa MaegimaRemove power from the pico board. 461541d7a6SVanessa Maegima 471541d7a6SVanessa MaegimaPut pico board into normal boot mode. 481541d7a6SVanessa Maegima 491541d7a6SVanessa MaegimaPower up the board and the new updated U-Boot should boot from eMMC. 50*0bfd4f81SVanessa Maegima 51*0bfd4f81SVanessa MaegimaBuilding U-Boot to boot with NXP 4.1 kernel: 52*0bfd4f81SVanessa Maegima 53*0bfd4f81SVanessa MaegimaThe NXP 4.1 kernel boots only in secure boot mode on mx7. 54*0bfd4f81SVanessa Maegima 55*0bfd4f81SVanessa MaegimaFollow the next steps to enable secure boot: 56*0bfd4f81SVanessa Maegima 57*0bfd4f81SVanessa Maegima$ make mrproper 58*0bfd4f81SVanessa Maegima$ make pico-imx7d_defconfig 59*0bfd4f81SVanessa Maegima$ make menuconfig 60*0bfd4f81SVanessa Maegima -> ARM architecture 61*0bfd4f81SVanessa Maegima -> [*] Enable support for booting in non-secure mode 62*0bfd4f81SVanessa Maegima -> [*] Boot in secure mode by default 63*0bfd4f81SVanessa Maegima -> Exit 64*0bfd4f81SVanessa Maegima$ make 65*0bfd4f81SVanessa Maegima 66*0bfd4f81SVanessa MaegimaFlash u-boot.imx using the imx_usb_loader tool. 67