AnsweredAssumed Answered

How to use cfimager instead of mfgtool?

Question asked by Torsten Knobloch on Jul 26, 2018
Latest reply on Aug 1, 2018 by Joan Xie

Hello,

 

I've got a Folder with Files (.sb  and "Images") to program a imx28 and

an externel i2c eeprom. I can program it with mfgtool but I want to use a command line tool like cfimager. I've never worked with these tools before.

My problem is that I don't know how to execute the commands from the ucl-file in cfimager.

 

Here is the content of the ucl-file:

<UCL>
  <CFG>
    <STATE name="Recovery" dev="IMX28"/>
    <STATE name="Updater"   dev="Updater" />
    <DEV name="IMX28" vid="15A2" pid="004F"/>
    <DEV name="Updater" vid="066F" pid="37FF" />
  </CFG>

  <LIST name="eMMC+EEPROM" desc="Install firmware to e-MMC and patch to i2c eeprom">
    <CMD type="boot" body="Recovery" file="updater_ivt_tqma28l.sb">Booting update firmware</CMD>
    <CMD type="find" body="Updater" timeout="180"/>
    <CMD type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block"/>
 
    <CMD type="push" body="send" file="files/boot">Sending boot image</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M conv=sync,notrunc">Writing boot image</CMD>
 
    <CMD type="push" body="send" file="files/data.img.0">Sending data image 0</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=8 conv=sync,notrunc">Writing data image 0</CMD>

    <CMD type="push" body="send" file="files/data.img.1">Sending data image 1</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=40 conv=sync,notrunc">Writing data image 1</CMD>

    <CMD type="push" body="send" file="files/data.img.2">Sending data image 2</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=72 conv=sync,notrunc">Writing data image 2</CMD>
 
    <CMD type="push" body="send" file="files/data.img.3">Sending data image 3</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=104 conv=sync,notrunc">Writing data image 3</CMD>
 
    <CMD type="push" body="send" file="files/data.img.4">Sending data image 4</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=136 conv=sync,notrunc">Writing data image 4</CMD>
 
    <CMD type="push" body="send" file="files/data.img.5">Sending data image 5</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=168 conv=sync,notrunc">Writing data image 5</CMD>
 
    <CMD type="push" body="send" file="files/data.img.6">Sending data image 6</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=200 conv=sync,notrunc">Writing data image 6</CMD>
 
    <CMD type="push" body="send" file="files/data.img.7">Sending data image 7</CMD>
    <CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=2M seek=232 conv=sync,notrunc">Writing data image 7</CMD> 
 
 <CMD type="push" body="send" file="files/mx28_ssp1_polarity_patch.sb">Sending SSP patch</CMD>
    <CMD type="push" body="$ cat $FILE > /sys/devices/platform/mxs-i2c.0/i2c-0/0-0050/eeprom">Writing patch to eeprom</CMD>
 
    <CMD type="push" body="$ echo Update Complete!">Done</CMD>
 <CMD type="push" body="$ reboot">Rebooting!</CMD>
  </LIST>

  <LIST name="U-Boot->RAM" desc="Load user u-boot into RAM and launch">
    <CMD type="boot" body="Recovery" file="files/u-boot.sb">Launching U-Boot from RAM</CMD>
  </LIST>
</UCL>

 

Can someone show my how the syntax for cfimager should look like for this example, please?

Outcomes