TDA4VM Debian 11.3 Flasher does not produce a functional eMMC

Hello,
I just received a BBAI-64 and discovered that the actual TDA4VM Debian 11.3 Flasher does not produce a functional eMMC, wheras the older TDA4VM Debian 11.2 Flasher produces a working eMMC…
Is this known? Am I missing something?
Thanks a lot for your help,
Regards Bernd

Hi @bernd can you please share the exact file you used, along with what happened or didn’t happen…

Edit;

Some Background, as i haven’t heard back yet…

There is an issue with the factory u-boot, unless you update u-boot on the eMMC, future images can fail to boot. This is why i made sure to set these directions up:

https://beagleboard.org/update-ai64/

You can overide the boot order and bypass the older u-boot in eMMC via:

  • Hold Reset and Boot
  • Insert Power
  • let off Reset
  • Bootrom will load from microSD
  • let off Boot

Working with the team at TI we did fix two very major issues with the default image… Lockup of R5 on bootup, and bad memory timings… Any image prior to 2022-11-01 will have these issues…

You can check the version of u-boot via:

sudo beagle-version | grep bootloader
bootloader:[/dev/mmcblk0boot0]:[tiboot3.bin]:[U-Boot SPL 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)]

If it’s Oct or Nov, it’s new enough.

Regards,

Hi @RobertCNelson,
I tried several flasher images according to your suggestions:

  • bbai64-emmc-flasher-debian-11.5-xfce-arm64-2022-11-01-10gb.img.xz:
    Flashes the emmc, but after rebooting and/or power-cycling, the BBAI64 doesn’t boot (only the Power LED is on and stays on)

  • bbai64-emmc-flasher-debian-11.3-xfce-arm64-2022-06-14-10gb.img.xz:
    Flashes the emmc, but after rebooting and/or power-cycling, the BBAI64 doesn’t boot (only the Power LED is on and stays on)

  • bbai64-emmc-flasher-debian-11.2-xfce-arm64-2022-01-14-8gb.img.xz:
    Works well… after rebooting and/or power-cycling I am able to update/upgrade the image according to BeagleBoard.org - update-ai64

I ordered an FTDI serial adapter with the corresponding cable set which should arrive on Monday/Tuesday - I should be able to tell you more on Tuesday/Wednesday…

Thanks a lot for your help,
have a nice weekend,
Bernd

We are testing the boards with this version and it works fine here.

It does take a fairly long time to write it to emmc. I use the RPi imager to burn the SD, it works very well.

Are you holding down the correct keys while powering it on. If memory is correct the first time flashing it took several tries to get it to boot from SD after that it has been fine loading the emmc.

Mine worked fine the first time I flashed it with bbai64-emmc-flasher-debian-11.3-xfce-arm64-2022-06-14-10gb.img.xz. But I have not been able to flash it again and it will not boot if I leave the sdcard installed.

This happens when u-boot (r5 binary) does not match between the microSD and eMMC…

You can remove u-boot from the eMMC via this u-boot command…

=> run emmc_erase_boot0

Then your microSD will boot…

edit: if you post your (serial) boot log we can see what happened.

Regards,

I’m a newbie. How do i run that command?

Thru the UART0 header

Grab the FTDI adapter: (schematic is available on the order page, if you want to put one together…)
https://www.digikey.com/en/products/detail/digi-key-electronics/BBCAI/10187731

and FTDI cable:
https://www.digikey.com/en/products/detail/ftdi-future-technology-devices-international-ltd/TTL-232R-3V3/1836393

or any similar:
https://elinux.org/Beagleboard:BeagleBone_Black_Serial

U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)
Model: BeagleBoard.org BeagleBone AI-64 R5
Board: BBONEAI-64-B0- rev B0
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
Trying to boot from MMC1
init_env from device 17 not supported!
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.5(release):0588523
NOTICE:  BL31: Built : 23:19:52, Nov 10 2022

U-Boot SPL 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)
Model: Texas Instruments K3 J721E SoC
Board: BBONEAI-64-B0- rev B0
SYSFW ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
ti_i2c_eeprom_am6_parse_record: Ignoring record id 17
Trying to boot from MMC1


U-Boot 2021.01-g8bafcf50 (Nov 10 2022 - 23:19:52 +0000)

SoC:   J721E SR1.1 GP
Model: Texas Instruments K3 J721E SoC
Board: BBONEAI-64-B0- rev B0
DRAM:  4 GiB
Flash: 0 Bytes
MMC:   sdhci@4f80000: 0, sdhci@4fb0000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
ti_i2c_eeprom_am6_parse_record: Ignoring record id 17
Net:   eth0: ethernet@46000000port@1
Press SPACE to abort autoboot in 2 seconds
=>
=> run emmc_erase_boot0

You can also verify with this boot procedure…

  • Insert microSD
  • Hold BOOT and RESET
  • Insert power
  • Lift off “RESET”
  • Wait till LED
  • Lift off “BOOT”

Thru Linux

From Linux, you can also do… (this assumes your board booted), as root:

echo '0' >> /sys/class/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 count=32 bs=128k

It’s what the script uses to write tiboot3.bin…

Verify version:

debian@BeagleBone:~$ sudo beagle-version | grep bootloader
bootloader:[/dev/mmcblk0boot0]:[tiboot3.bin]:[U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk0]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/tiboot3.bin]:[U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/tispl.bin]:[U-Boot SPL 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
bootloader:[/dev/mmcblk1]:[/boot/firmware/u-boot.img]:[U-Boot 2021.01-g8084fe5a (Nov 16 2022 - 15:40:32 +0000)]
debian@BeagleBone:~$ sudo dpkg -l | grep bb-beagle-version
ii  bb-beagle-version                           1.20221117.0-0~bullseye+20221117                     arm64        beagleboard.org beagle-version

Regards,

1 Like

That worked. Thanks a bunch!

That worked for me too - clearing the eMMC (run emmc_erase_boot0) from uBoot…

Thanks a lot for your help!