Flashing evk image on RSB3730

I’m trying to do SDCARD boot on an RSB3730 board.

I have the flash image “imx-boot-imx8mmrsb3730a2-4G.bin-flash_evk” taken from this archive: Dropbox - 2023-03-01 - Simplify your life

I tried flashing the SDCARD with dd command as follows:
dd if=./imx-boot-imx8mmrsb3730a2-4G.bin-flash_evk of=/dev/sda bs=1k seek=33 conv=fsync

The dd command works and the SDCARD is bootable. I switch SW1 to SDCARD boot (both dip switches on the ON position).

This is what I see on the serial port:

U-Boot SPL 2020.04-3730A2AIM30LIVA1031+g86dbc21280 (Mar 01 2023 - 03:46:17 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
"Synchronous Abort" handler, esr 0x96000000
elr: 00000000007e9b3c lr : 00000000007ea4a0
x 0: 000000000000ffff x 1: 0000000042200470
x 2: 0000000000300000 x 3: 007f000000000940
x 4: 0000000000000000 x 5: 0000000000000000
x 6: 0000000000000000 x 7: 0000000000000001
x 8: 0000000000000001 x 9: 0000000000000002
x10: 0000000000000001 x11: 0000000000000001
x12: 0000000000000001 x13: 0000000000000000
x14: 000000000090e558 x15: 0000000000013da4
x16: 00000000007ea674 x17: 00000000000000ff
x18: 000000000091de80 x19: 0000000042200550
x20: 0000000042200550 x21: 0000000030b60000
x22: 000000000000016a x23: 00000000007f26c8
x24: 00000000007f0000 x25: 00000000deadbeef
x26: 0000000000000005 x27: 0000000072000000
x28: 0000000000000000 x29: 000000000091dc90

Code: b9402260 34000540 f9400663 b4000423 (f9400060) 
Resetting CPU ...

resetting ...

The board then resets and the message is repeated.

Another thing I tried is to copy the bootloader from the eMMC device (/dev/mmcblk2) into the SDCARD device (/dev/mmcblk1), via dd command. This works, and the device boots as expectedly from device MMC1.

Am I doing something wrong here? How can I flash the provided image on an SDCARD using a Linux computer?

Thank you,
Ricc

Hi~,

The file you used is the uboot image. Could you download full image file from the link below for testing?
3730A2AIM30LIVA1031_iMX8MM_4G_2023-03-01.img.gz (dropbox.com)

Hello Jems,
I tried the linked image file, and the result is the same.

For clarity, these are the commands I used:

dd if=/dev/zero of=/dev/sda bs=10M count=2
dd if=./3730A2AIM30LIVA1031_iMX8MM_4G_2023-03-01.img of=/dev/sda bs=1M count=10

I also tried without limiting the copy:

dd if=./3730A2AIM30LIVA1031_iMX8MM_4G_2023-03-01.img of=/dev/sda bs=1M

But that also didn’t work. The only thing that I managed to make work so far is cloning the contents of the on board eMMC to an SDCARD.

To exclude issues with dd command on the host machine, I then re-cloned it from the first SDCARD to another SDCARD, which also worked fine.

Is something wrong with my dd commands, maybe?

Hello,
it seems that the images provided in the Dropbox simply will not work on my board, P/N: RSB-3730CQ-XHA1E, S/N: AKK4867123.

This is a hex comparison between the “working” eMMC image (on the left) and the “non working” SDCARD image (on the right):

From there, we can see the commits they (likely) have been built from.

If I go on the uboot-imx repository on Github (the following is from gitk, but it’s in line with origin), I see that the commit 0396762320 is this:

(apparently, as a new user, I can’t show you the screenshot. Here’s an imgur link instead: Imgur: The magic of the Internet)

The images provided in the dropbox are from commit 86dbc21280A, an older commit. Pretty big red flag.

I recompiled uboot-imx and replaced the binaries in the mkimage folder. It works fine(ish) now:

U-Boot SPL 2020.04 (Jan 08 2024 - 08:48:36 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
NOTICE:  BL31: v2.2(release):rel_imx_5.4.70_2.3.0-0-gf1d7187f2-dirty
NOTICE:  BL31: Built : 05:23:53, Mar  1 2023


U-Boot 2020.04-3730A2AIM30LIVA1031+g86dbc21280 (Mar 01 2023 - 03:46:17 +0000)

CPU:   i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 51C
Reset cause: POR
Model: NXP i.MX8MM RSB3730A2
DRAM:  4 GiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Fail to setup video link
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF f1d7187
  - U-Boot 2020.04-3730A2AIM30LIVA1031+g86dbc21280

SF: Detected w25q64dw with page size 256 Bytes, erase size 4 KiB, total 8 MiB
eth0 MAC addr = 0xCC:0x82:0x7F:0x3E:0x26:0x1E
switch to partitions #0, OK
mmc1 is current device
HW BOARD ID:1
flash target is MMC:1
Net:   eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0 
u-boot=> 
u-boot=> 
u-boot=>

Maybe the supplied binaries are meant for an older version of board?

Hi~

I use the same version A1031 for testing and it can boot into Linux kernel:
Boot log:
U-Boot SPL 2020.04-3730A2AIM30LIVA1031+g86dbc21280 (Mar 01 2023 - 08:38:19 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
NOTICE: BL31: v2.2(release):rel_imx_5.4.70_2.3.0-0-gf1d7187f2-dirty
NOTICE: BL31: Built : 08:38:03, Mar 1 2023

U-Boot 2020.04-3730A2AIM30LIVA1031+g86dbc21280 (Mar 01 2023 - 08:38:19 +0000)

CPU: i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 43C
Reset cause: POR
Model: NXP i.MX8MM RSB3730A2
DRAM: 2 GiB
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC… *** Warning - bad CRC, using default environment

Fail to setup video link
In: serial
Out: serial
Err: serial

BuildInfo:

  • ATF f1d7187
  • U-Boot 2020.04-3730A2AIM30LIVA1031+g86dbc21280

SF: Detected w25q64dw with page size 256 Bytes, erase size 4 KiB, total 8 MiB
eth0 MAC addr = 0xCC:0x82:0x7F:0x3B:0xBE:0xE8
switch to partitions #0, OK
mmc1 is current device
HW BOARD ID:0
flash target is MMC:1
Net: eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
u-boot=>

Boot into Linux kernel: The rootfs is mount at mmcblk1p2.

Hi Jems,
on my board, U-Boot SPL does not work at the commit you are using (86dbc21280). It only works from commit 0396762320.

U-Boot itself works fine at 86dbc21280, but SPL needs the memory timing patch found in 0396762320.

Do you confirm that we’re using the same board revision with the same Micron LPDDR4 chip?

From the BGA numbers, it looks like my board has these: https://www.micron.com/products/dram/lpdram/part-catalog/mt53e1g32d2fw-046-wt
.

Hi Rick,

Could you use VA1045 version image for testing?
RSB-3730 Release Note - ESS-WIKI (advantech.com.tw)

Best Regards,
Jems

1 Like

Hello Jems,
thanks for the update.

I see you fixed the links in your wiki to point to the correct version of the image.

I tried the new images, and I can confirm that everything works now:

U-Boot SPL 2020.04-3730A2AIM30LIVA1045+g0396762320 (May 06 2023 - 09:01:17 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
NOTICE:  BL31: v2.2(release):rel_imx_5.4.70_2.3.0-0-gf1d7187f2-dirty
NOTICE:  BL31: Built : 12:22:50, May  6 2023


U-Boot 2020.04-3730A2AIM30LIVA1045+g0396762320 (May 06 2023 - 09:01:17 +0000)

CPU:   i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 33C
Reset cause: POR
Model: NXP i.MX8MM RSB3730A2
DRAM:  4 GiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Fail to setup video link
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF f1d7187
  - U-Boot 2020.04-3730A2AIM30LIVA1045+g0396762320

SF: Detected w25q64dw with page size 256 Bytes, erase size 4 KiB, total 8 MiB
eth0 MAC addr = 0xCC:0x82:0x7F:0x3E:0x26:0x1E
switch to partitions #0, OK
mmc1 is current device
HW BOARD ID:1
flash target is MMC:1
Net:   eth0: ethernet@30be0000
cannot get the partion info for misc
idx 0, ptn 0 name='gpt' start=0 len=2048
idx 1, ptn 0 name='' start=0 len=0
idx 2, ptn 0 name='all' start=0 len=62521344
idx 3, ptn 0 name='bootloader' start=66 len=8192
idx 4, ptn 1 name='boot' start=2048 len=62517248
Cannot find partition 4080
do_raw_read failed, ret 1
read_bootctl, bcb_rw_block read failed
read command failed
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0 
u-boot=>

Thanks again for your support.

Bye,
Rick

2 Likes