Internal Used/By-pass advloader

From ESS-WIKI
Jump to: navigation, search

Modify and Build U-boot

Yocto 2.1

You can download patch file as below:

File:Bypass_advloader_Yocto_2.1.patch

build u-boot (we take DDR 1G for example)

make mx6qrom5420b1_1G_defconfig
make u-boot.imx -j4

Then you can put this file to mfgtool folder

Modify mfgtool

  • ucl2.xml

We add a new task for burning u-boot.imx to spi

  <LIST name="ADV bypass adv-loader" desc="update u-boot.imx to spi">
	<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot.imx" ifdev="MX6Q">Loading U-boot</CMD>
	<CMD state="BootStrap" type="load" file="firmware/uImage" address="0x12000000"
          loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading Kernel.</CMD>
	<CMD state="BootStrap" type="load" file="firmware/initramfs.cpio.gz.uboot" address="0x12C00000"
          loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading Initramfs.</CMD>
	<CMD state="BootStrap" type="load" file="firmware/imx6q-%board%.dtb" address="0x18000000"
          loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading device tree.</CMD>
	<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
	<CMD state="Updater" type="push" body="$ flash_erase /dev/mtd0 0 192">Erasing SPI</CMD>
	<CMD state="Updater" type="push" body="send" file="files/u-boot.imx" ifdev="MX6Q">Sending u-boot.imx</CMD>
	<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512 seek=2">write u-boot.imx</CMD>
	<CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
  </LIST>

  • cfg.ini
 [LIST]
  name = ADV bypass adv-loader

At last , we can refer to Mfgtool to update spi.