"ERROR : memory not allocated" when flashing embedded linux

I am using the colibri imx6 V1.0A and the Iris V1.1A

After soldering the recovery pins on the colibri I connected it to my Ubuntu 16.04 laptop and ran:

$ sudo su -
$ cd Colibri_iMX6_LinuxImageV2.6
$ ./update.sh -d
Colibri iMX6 rootfs detected
config file <./imx_usb.conf>
vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
vid=0x066f pid=0x37ff file_name=linux_gadget.conf
config file <./mx6_usb_work.conf>
parse ./mx6_usb_work.conf
15a2:0061(mx6_qsb) bConfigurationValue =1
Interface 0 claimed
HAB security state: development mode (0x56787856)
== work item
filename ../colibri-imx6_bin/u-boot.imx
load_size 0 bytes
load_addr 0x00000000
dcd 1
clear_dcd 0
plug 1
jump_mode 2
jump_addr 0x00000000
== end work item
main dcd length 310
sub dcd length 30c

loading binary file(../colibri-imx6_bin/u-boot.imx) to 177ff400, skip=0, fsize=4cc00 type=aa

<<<314368, 314368 bytes>>>
succeeded (status 0x88888888)
jumping to 0x177ff400

During the update, minicom (x13 connector) showed the following:

U-Boot 2015.04+fslc+g10bc451 (Jun 28 2016 - 13:01:40)

CPU:   Freescale i.MX6SOLO rev1.2 at 792 MHz
CPU:   Temperature 33 C
Reset cause: POR
I2C:   ready
DRAM:  256 MiB
PMIC: device id: 0x10, revision id: 0x11
PMIC: programmed
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

auto-detected panel vga-rgb
Display: vga-rgb (640x480)
In:    serial
Out:   serial
Err:   serial
Missing Toradex config block
Model: Toradex Colibri iMX6 256MB
Net:   using PHY at 0
FEC [PRIME]
Error: FEC address not set.

Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: <NULL>
Colibri iMX6 #

Next I de-soldered the recovery pin and removed the usb cable. Inserted the SDcard made using the Colibri_iMX6_LinuxImageV2.6. Then I powered the device up again and stopped auto booting to run the setupdate command. The result in minicom is:

U-Boot 2015.04 (May 18 2015 - 14:17:54)

CPU:   Freescale i.MX6SOLO rev1.2 at 792 MHz
Reset cause: POR
I2C:   ready
DRAM:  256 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
auto-detected panel vga-rgb
Display: vga-rgb (640x480)
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6 Solo 256MB IT V1.0A, Serial# 04837163
Net:   using phy at 0
FEC [PRIME]
Hit any key to stop autoboot:  0 
Colibri iMX6 #
Colibri iMX6 # run setupdate
ERROR : memory not allocated

I have tried several times and waited up to two hours but nothing happens after the “ERROR : memory not allocated” line.

This is what happens if I do not interrupt the u boot process and let it continue:

U-Boot 2015.04 (May 18 2015 - 14:17:54)

CPU:   Freescale i.MX6SOLO rev1.2 at 792 MHz
Reset cause: POR
I2C:   ready
DRAM:  256 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
auto-detected panel vga-rgb
Display: vga-rgb (640x480)
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6 Solo 256MB IT V1.0A, Serial# 04837163
Net:   using phy at 0
FEC [PRIME]
Hit any key to stop autoboot:  0 
Booting from internal eMMC chip...
## Error: "e}" not defined

emmcboot failed
Booting via DHCP/TFTP/NFS...
## Error: "nfsdtbloa}" not defined

nfsboot failed
starting USB...
USB0:   Port not available.
USB1:   USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
Colibri iMX6 #

I would appreciate any advise on how to resolve this issue.
Thank you.

During the update, minicom (x13 connector) showed the following:

No, this is not any update at all. The ./update.sh -d does not actually do anything other than sending and executing the new U-Boot on your target.

The idea would be to do the other part with the SD card immediately following that without any further re-booting in-between.

You can actually very well see that you just fell back to the old U-Boot version from your output above looking at the first line of output being the U-Boot version, build date information.

Now that you have said it it sounds very obvious and it worked. I wish the instructions page was more clearly written.

Thank you,