Difference between revisions of "iMX6 TinyRex Basic U-Boot"
Jump to navigation
Jump to search
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:iMX6 TinyRex Development | + | [[Category:iMX6 TinyRex Development Kit]] |
[[Category:iMX6 TinyRex Basic]] | [[Category:iMX6 TinyRex Basic]] | ||
[[Category:U-Boot]] | [[Category:U-Boot]] | ||
Line 154: | Line 154: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mw.l 0x020d8040 0x48003040; mw.l 0x020d8044 0x10000000; reset | mw.l 0x020d8040 0x48003040; mw.l 0x020d8044 0x10000000; reset | ||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 08:05, 24 April 2022
U-Boot is a bootloader responsible for hardware initialization, loading and booting Linux kernel. It is also used for module flashing.
Build
Set toolchain
Export toolchain variables for every related terminal session.
Initial steps
Create working directory
mkdir -pv ~/workdir/imx6/bootloader/
U-Boot v2015.04
Download and extract source code
cd ~/workdir/imx6/bootloader/ git clone -b uboot-imx-v2015.04 --single-branch https://github.com/voipac/uboot-imx uboot-imx-v2015.04-rex cd uboot-imx-v2015.04-rex
Compile
Output file is called u-boot.imx. All the compiled images are intended for production usage.
Compile for SD3 and Linux/Yocto
cd ~/workdir/imx6/bootloader/uboot-imx-v2015.04-rex make distclean make mx6tinyrexbasic_config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexbasic.imx
Compile for SPI1 and Linux/Yocto
cd ~/workdir/imx6/bootloader/uboot-imx-v2015.04-rex make distclean make mx6tinyrexbasicrecovery_config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexbasicrecovery.imx
How to Flash a new version
Flash Normal image into SD3
sudo dd if=u-boot-imx6-tinyrex*.imx of=/dev/sdc bs=1k seek=1 skip=0 oflag=dsync
Flash Recovery image into SPI1
setenv ipaddr 192.168.0.150 setenv serverip 192.168.0.1 mw.b 0x10800000 0xFF 0x80000 tftp 0x10800000 imx6/u-boot-imx6-tinyrex*recovery.imx if sf probe 0:0; then sf erase 0x0 0x80000;sf write 0x10800000 0x400 0x7fc00; fi
Flashing log:
U-Boot 2015.04-g9de6034-dirty (Jan 08 2017 - 18:27:05) CPU: Freescale i.MX6D rev1.2 at 792 MHz CPU: Temperature 32 C Reset cause: POR Board: MX6 TinyRex - basic I2C: ready DRAM: 1 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Card did not respond to voltage select! MMC init failed Using default environment In: serial Out: serial Err: serial Net: FEC [PRIME] Boot from USB for mfgtools Use default environment for mfgtools Run bootcmd_mfg: <NULL> TinyRex U-Boot > setenv ipaddr 192.168.1.150 TinyRex U-Boot > setenv serverip 192.168.1.1 TinyRex U-Boot > mw.b 0x10800000 0xFF 0x80000 TinyRex U-Boot > tftp 0x10800000 imx6/u-boot-imx6-tinyrexbasicrecovery.imx Using FEC device TFTP from server 192.168.1.1; our IP address is 192.168.1.150 Filename 'imx6/u-boot-imx6-tinyrexbasicrecovery.imx'. Load address: 0x10800000 Loading: ####################### 3.5 MiB/s done Bytes transferred = 334848 (51c00 hex) TinyRex U-Boot > sf probe 0:0;sf erase 0x0 0x80000;sf write 0x10800000 0x400 0x7fc00 SF: Detected SST25VF032B with page size 256 Bytes, erase size 4 KiB, total 4 MiB SF: 524288 bytes @ 0x0 Erased: OK SF: 523264 bytes @ 0x400 Written: OK TinyRex U-Boot >
U-Boot v2014.10
Download & Extract source code
cd ~/workdir/imx6/bootloader/ git clone -b uboot-imx-v2014.10 --single-branch https://github.com/voipac/uboot-imx uboot-imx-v2014.10-rex cd uboot-imx-v2014.10-rex
Compile
Output file is called u-boot.imx. The compiled image is intended for production usage.
Compile for Linux/Yocto
cd ~/workdir/imx6/bootloader/uboot-imx-v2014.10-rex make distclean make mx6tinyrexbasic_config make cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexbasic.imx
How to Flash a new version
Flash Normal image into SD3
sudo dd if=u-boot-imx6-tinyrex*.imx of=/dev/sdc bs=1k seek=1 skip=0 oflag=dsync
Configure
Manually erase configuration
env default -f -a saveenv reset
Manual boot options
Manually boot from SD3
mw.l 0x020d8040 0x00003040; mw.l 0x020d8044 0x10000000; reset
Manually boot from SPI1 SS0
mw.l 0x020d8040 0x08000030; mw.l 0x020d8044 0x10000000; reset
Manually boot from SD3 + recovery on SPI1 SS0
mw.l 0x020d8040 0x48003040; mw.l 0x020d8044 0x10000000; reset
Change display resolution
setenv video "video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24,bpp=32" saveenv