BBAI64 now can use TI SDK10.0 and debug R5

BBAI-64 USE TI-SDK10.0

Download SDK

build bl31.bin

# linux sdk
cd board-support/trusted-firmware-a-2.10+git/
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed K3_USART=0x0 -j12
cd -

build bl32.bin

cd board-support/optee-os-4.2.0+git/
make CROSS_COMPILE=arm-linux-gnueabihf- CROSS_COMPILE64=aarch64-linux-gnu- CFG_CONSOLE_UART=0x0 PLATFORM=k3-j721e CFG_ARM64_core=y  -j12
cd - 
cp board-support/optee-os-4.2.0+git/out/arm-plat-k3/core/tee-pager_v2.bin board-support/prebuilt-images/bl32.bin

modify Rules.make

#u-boot machine
# UBOOT_MACHINE=j721e_evm_a72_config
UBOOT_MACHINE=j721e_beagleboneai64_a72_defconfig

# Add CROSS_COMPILE and UBOOT_MACHINE for the R5
# UBOOT_MACHINE_R5=j721e_evm_r5_config
UBOOT_MACHINE_R5=j721e_beagleboneai64_r5_defconfig

modify arm64-mmu.c

#if defined (CONFIG_TARGET_J721E_A72_EVM) || defined (CONFIG_TARGET_J721E_A72_BEAGLEBONEAI64)
/* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
#define NR_MMU_REGIONS	(CONFIG_NR_DRAM_BANKS + 6)

build u-boot

make  u-boot
mv board-support/ti-u-boot-2024.04+git/build/a72/u-boot.img_unsigned board-support/ti-u-boot-2024.04+git/build/a72/u-boot.img
mv board-support/ti-u-boot-2024.04+git/build/a72/tispl.bin_unsigned board-support/ti-u-boot-2024.04+git/build/a72/tispl.bin
make u-boot_install

modify k3-j721e-beagleboneai64.dts

  • modify reserved_memory , reference rtos sdk vision_apps/platform/j721e/rtos/k3-j721e-rtos-memory-map.dtsi
  • enable r5 core
    • example , reference linux sdk board-support/ti-linux-kernel-6.6.32+git-ti/arch/arm64/boot/dts/ti/k3-j721e-rtos-memory-map.dtsi
      &main_r5fss0_core0 {
          status = "okay";
          mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core0>;
          memory-region = <&vision_apps_main_r5fss0_core0_dma_memory_region>,
                  <&vision_apps_main_r5fss0_core0_memory_region>,
                  <&vision_apps_main_r5fss0_core0_shared_memory_queue_region>,
                  <&vision_apps_main_r5fss0_core0_shared_memory_bufpool_region>;
      };
    

build linux

make  linux

copy boot img to sd card

reference board-support/ti-u-boot-2024.04+git/doc/board/beagle/j721e_beagleboneai64.rst

-rwxrwx--- 1 root disk 20285952 Feb 27 17:43 Image
drwxrwx--- 2 root disk      512 Jul  4  2024 extlinux
-rwxrwx--- 1 root disk   268978 Feb 27  2024 sysfw.itb
drwxrwx--- 2 root disk      512 Feb 27 17:31 ti
-rwxrwx--- 1 root disk   205897 Feb 27  2024 tiboot3.bin
-rwxrwx--- 1 root disk  1027099 Feb 27  2024 tispl.bin
-rwxrwx--- 1 root disk  1014147 Feb 27  2024 u-boot.img
-rwxrwx--- 1 root disk     1515 Feb 27 17:47 uEnv.txt

boot and run r5 prog

log like as flow

root@j721e-evm:~# /opt/vision_apps/vision_apps_init.sh
[MCU2_0]     10.280540 s: CIO: Init ... Done !!!
[MCU2_0]     10.280613 s: ### CPU Frequency = 1000000000 Hz
[MCU2_0]     10.280656 s: CPU is running FreeRTOS
[MCU2_0]     10.280678 s: APP: Init ... !!!
[MCU2_0]     10.280698 s: SCICLIENT: Init ... !!!
[MCU2_0]     10.280916 s: SCICLIENT: DMSC FW version [10.0.8--v10.00.08 (Fiery Fox)]
[MCU2_0]     10.280967 s: SCICLIENT: DMSC FW revision 0xa
[MCU2_0]     10.280999 s: SCICLIENT: DMSC FW ABI revision 4.0
[MCU2_0]     10.281029 s: SCICLIENT: Init ... Done !!!
[MCU2_0]     10.281055 s: UDMA: Init ... !!!
[MCU2_0]     10.282167 s: UDMA: Init ... Done !!!
[MCU2_0]     10.282235 s: MEM: Init ... !!!
[MCU2_0]     10.282286 s: MEM: Created heap (DDR_LOCAL_MEM, id=0, flags=0x00000004) @ d9000000 of size 15728640 bytes !!!
[MCU2_0]     10.282362 s: MEM: Created heap (L3_MEM, id=1, flags=0x00000000) @ 3600000 of size 262144 bytes !!!
[MCU2_0]     10.282421 s: MEM: Created heap (DDR_CACHE_WT_MEM, id=7, flags=0x00000000) @ d9f00000 of size 1048576 bytes !!!
[MCU2_0]     10.282475 s: MEM: Init ... Done !!!
[MCU2_0]     10.282500 s: IPC: Init ... !!!
[MCU2_0]     10.282554 s: IPC: 8 CPUs participating in IPC !!!
[MCU2_0]     10.282605 s: IPC: Waiting for HLOS to be ready ... !!!
[MCU2_0]     10.282644 s: IPC: HLOS is ready !!!
[MCU2_0]     10.288664 s: IPC: Init ... Done !!!
[MCU2_0]     10.288733 s: APP: Syncing with 7 CPUs ... !!!
[MCU2_0]     10.910003 s: APP: Syncing with 7 CPUs ... Done !!!
[MCU2_0]     10.910096 s: REMOTE_SERVICE: Init ... !!!
[MCU2_0]     10.910630 s: REMOTE_SERVICE: Init ... Done !!!
[MCU2_0]     10.910709 s: FVID2: Init ... !!!
[MCU2_0]     10.910810 s: FVID2: Init ... Done !!!

start openocd for debug

root@j721e-evm:~# openocd -f vm.cfg
Open On-Chip Debugger 0.12.0+dev-01687-gac63cd00d-dirty (2024-08-18-13:28)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselecting 'dapdirect_swd'
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 2500 kHz
Info : [j721e.cpu.sysctrl] starting gdb server on 3333
Info : Listening on port 3333 for gdb connections
Info : [j721e.cpu.mcu_r5.0] starting gdb server on 3334
Info : Listening on port 3334 for gdb connections
Info : [j721e.cpu.mcu_r5.1] starting gdb server on 3335
Info : Listening on port 3335 for gdb connections
Info : [j721e.cpu.main0_r5.0] starting gdb server on 3336
Info : Listening on port 3336 for gdb connections
Info : [j721e.cpu.main0_r5.1] starting gdb server on 3337
Info : Listening on port 3337 for gdb connections
Info : [j721e.cpu.main1_r5.0] starting gdb server on 3338
Info : Listening on port 3338 for gdb connections
Info : [j721e.cpu.main1_r5.1] starting gdb server on 3339
Info : Listening on port 3339 for gdb connections

vscode debug

launch.json as flow

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "R5F2_0_Debug",
            "cwd": "${workspaceFolder}",
            "executable": "./vision_apps/out/J721E/R5F/FREERTOS/debug/vx_app_rtos_linux_mcu2_0.out",
            "request": "attach",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "external",
            "gdbPath":"/usr/bin/gdb-multiarch",
            "gdbTarget":"198.18.39.39:3336"
        },
        {
            "name": "R5F2_1_Debug",
            "cwd": "${workspaceFolder}",
            "executable": "./vision_apps/out/J721E/R5F/FREERTOS/debug/vx_app_rtos_linux_mcu2_1.out",
            "request": "attach",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "external",
            "gdbPath":"/usr/bin/gdb-multiarch",
            "gdbTarget":"198.18.39.39:3337"
        },
        {
            "name": "R5F3_0_Debug",
            "cwd": "${workspaceFolder}",
            "executable": "./vision_apps/out/J721E/R5F/FREERTOS/debug/vx_app_rtos_linux_mcu3_0.out",
            "request": "attach",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "external",
            "gdbPath":"/usr/bin/gdb-multiarch",
            "gdbTarget":"198.18.39.39:3338"
        },
        {
            "name": "R5F3_1_Debug",
            "cwd": "${workspaceFolder}",
            "executable": "./vision_apps/out/J721E/R5F/FREERTOS/debug/vx_app_rtos_linux_mcu3_1.out",
            "request": "attach",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "external",
            "gdbPath":"/usr/bin/gdb-multiarch",
            "gdbTarget":"198.18.39.39:3339"
        }
    ]
}

7 Likes

Thank you very much sharing that will all of us.

1 Like

Thanks for this topic, it will help

This is of great help.

I will try and update here.

Best
Shubham

RTOS-SDK-10.1 Build Guide

Setup Build Environment

# run sdk_builder/scripts/setup_psdk_rtos.sh
source sdk_builder/scripts/setup_psdk_rtos.sh

Extract Rootfs

mkdir -p targetfs
tar -xvf tisdk-adas-image-j721e-evm.tar.xz -C ./targetfs

Modify Build Profile

file:sdk_builder/build_flags.mak

# valid values: release debug all
PROFILE?=debug

Eanbale MCU3_0 and MCU3_1 build

Eanble MCU3_0 and MCU3_1 IPC

file: vision_apps/platform/j721e/rtos/common/app_cfg.h

#define ENABLE_IPC_MPU1_0
//#define ENABLE_IPC_MCU1_0
//#define ENABLE_IPC_MCU1_1
#define ENABLE_IPC_MCU2_0
#define ENABLE_IPC_MCU2_1
#define ENABLE_IPC_MCU3_0
#define ENABLE_IPC_MCU3_1
#define ENABLE_IPC_C6x_1
#define ENABLE_IPC_C6x_2
#define ENABLE_IPC_C7x_1

Enable BUILD_CPU_MCU3_0 and BUILD_CPU_MCU3_1

file: sdk_builder/vision_apps_build_flags.mak

# Build specific CPUs
ifeq ($(SOC),j721e)
BUILD_CPU_MPU1?=yes
BUILD_CPU_MCU1_0?=no
BUILD_CPU_MCU2_0?=yes
BUILD_CPU_MCU2_1?=yes
BUILD_CPU_MCU3_0?=yes
BUILD_CPU_MCU3_1?=yes
BUILD_CPU_C6x_1?=yes
BUILD_CPU_C6x_2?=yes
BUILD_CPU_C7x_1?=yes

Disable ETHFW and BUILD_MCU_BOARD_DEPENDENCIES

ETHFW and BUILD_MCU_BOARD_DEPENDENCIES only fits the J721E_EVM , not BBAI64

BUILD_ENABLE_ETHFW?=no
BUILD_MCU_BOARD_DEPENDENCIES?=no
ETHFW_MONITOR_SUPPORT?=no

Build vision_apps

cd sdk_builder
make sdk_help
make sdk -j12

Get all Prog

all .out in vision_apps/out/J721E

├── vx_app_rtos_linux_mcu2_0.out
├── vx_app_rtos_linux_mcu2_1.out
├── vx_app_rtos_linux_mcu3_0.out
├── vx_app_rtos_linux_mcu3_1.out
├── vx_app_rtos_linux_c6x_1.out
├── vx_app_rtos_linux_c6x_2.out
├── vx_app_rtos_linux_c7x_1.out

Make SD Card

file: sdk_builder/scripts/mk-linux-card.sh

./mk-linux-card.sh /dev/mmcblk1

Boot Files Tree

-rwxrwx--- 1 root disk        1 Jun 28  2024 .psdk_setup
-rwxrwx--- 1 root disk 20285952 Feb 27 17:43 Image
drwxrwx--- 2 root disk      512 Jul  4  2024 extlinux
-rwxrwx--- 1 root disk   268978 Feb 27 18:17 sysfw.itb
drwxrwx--- 2 root disk      512 Feb 27 17:31 ti
-rwxrwx--- 1 root disk   205897 Feb 27 18:17 tiboot3.bin
-rwxrwx--- 1 root disk  1027099 Feb 27 18:17 tispl.bin
-rwxrwx--- 1 root disk  1014147 Feb 27 18:17 u-boot.img
-rwxrwx--- 1 root disk     1515 Feb 27 17:47 uEnv.txt
root@j721e-evm:/run/media/BOOT-mmcblk1p1/ti# ls -al
total 115
drwxrwx--- 2 root disk    512 Feb 27 17:31 .
drwxrwx--- 4 root disk   1536 Jan  1  1970 ..
-rwxrwx--- 1 root disk 115144 Feb 27 17:34 k3-j721e-beagleboneai64.dtb
root@j721e-evm:/run/media/BOOT-mmcblk1p1/ti#
root@j721e-evm:/run/media/BOOT-mmcblk1p1/extlinux# ls -al
total 3
drwxrwx--- 2 root disk  512 Jul  4  2024 .
drwxrwx--- 4 root disk 1536 Jan  1  1970 ..
-rwxrwx--- 1 root disk  713 Feb 27 18:18 extlinux.conf
root@j721e-evm:/run/media/BOOT-mmcblk1p1/extlinux#
root@j721e-evm:/run/media/BOOT-mmcblk1p1/extlinux# cat extlinux.conf 
menu title BeagleBone AI-64 eMMC (extlinux.conf) (swap enabled)
timeout 1
default eMMC (default)
label copy eMMC to microSD
    kernel /Image
    append root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait net.ifnames=0 init=/usr/sbin/init-beagle-flasher
    fdtdir /
    initrd /initrd.img

label eMMC (debug)
    kernel /Image
    append console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p3 ro rootfstype=ext4 rootwait net.ifnames=0
    fdtdir /
    #initrd /initrd.img

label eMMC (default)
    kernel /Image
    append root=/dev/mmcblk1p3 ro rootfstype=ext4 resume=/dev/mmcblk1p2 rootwait net.ifnames=0 quiet
    fdtdir /
    #fdtoverlays /overlays/<file>.dtbo
    #initrd /initrd.img
1 Like

linux sdk need extract rootfs too , and path need modify

# Set EXEC_DIR to install example binaries.
# This will be configured with the setup.sh script.
EXEC_DIR?=targetfs/lib/firmware

#root of the target file system for installing applications
ROOTFS_PART?=targetfs

# Root of the boot partition to install boot binaries
BOOT_PART?=targetfs/boot
1 Like

Posting my complete device tree as follows:
k3-j721e-beagleboneai64.dts (26.6 KB)

1 Like

So you are entirely not using the Beagle firmware? I guess you use the SD card you make to flash the emmc, and then everything runs off that?

1 Like

That’s good Thank you

Yes, I did not use the firmware of the beagleboard, but used the TI SDK firmware completely. Currently, all cores are running well. For the convenience of debugging, it is only started on the SD card, and the eMMC is not flashed.

1 Like

What OS does the TI SDK have on the a72 cores?

The SDK provides a rootfs image built by TI based on Yocto, which does not belong to any distribution.
here is ti linux sdk docs:Processor SDK Linux Software Developer’s Guide — Processor SDK Linux for J721e Documentation

2 Likes

Hello @jiance.zahng

I followed the above steps. However, after copying boot img to sd card (I just copied the tiboot3.bin, tispl.bin, sysfw.itb and u-boot.img to an sd card loaded with latest debian image from beaglebone), I did not get the root@j721-evm, I got the same debian@BeagleBone-AI64. I am doubtful that latest SDK has not been loaded. Also, there was no file named vision_apps_init.sh in vision_apps folder. Please guide,

  1. How can I check if the latest SDK has been loaded.
  2. Do, I have to follow the steps on TI-SDK website [How to create SD card] to create the SD card and then boot.

Having a filesystem of debian from BB-AI64 is effecting this?. Should I also load the filesystem from TI-SDK.

Note: I wan to boot TI-SDK Linux not the RTOS.

Thank you

Best
Shubham

I followed this [LINK] and found:

debian@BeagleBone-AI64:/boot$ ls /usr/lib | grep libtivision
libtivision_apps.so
libtivision_apps.so.8.2.0

it is still running 8.2.0

1 Like

please check you extlinux.conf ,it boot from emmc default , you need modify extlinux.conf boot from sd card.

and tisdk-adas-image-j721e-evm.tar.xz need extral to sdcard rootfs partition, /dev/mmcblk1p2

I did not make a new card according to the TI document. I deleted the P1 partition of the Beagle card (three partitions in total) and replaced it with my own product. Then I cleared the P3 partition and unzipped TI’s tisdk-adas-image-j721e-evm.tar.xz into it. It can be used normally, but you need to modify the root in extlinux.conf to point to P3. If you use TI’s document to make an SD card, there will be only 2 partitions, so the root in extlinux.conf should point to the P2 partition.

Thank you very much @jiance.zahng

I am able to boot. However, SDK components are not running.

When I run vision_apps_init.sh

root@j721e-evm:~# /opt/vision_apps/vision_apps_init.sh 
root@j721e-evm:~# 

An, when I run run_app_load_test.sh

root@j721e-evm:~# /opt/vision_apps/run_app_load_test.sh
!Starting App Load Test!
APP: Init ... !!!
   862.714203 s: MEM: Init ... !!!
   862.714270 s: MEM: Initialized DMA HEAP (fd=5) !!!
   862.714399 s: MEM: Init ... Done !!!
   862.714414 s: IPC: Init ... !!!
file_deref_link: readlink failed for /sys/bus/platform/devices/5c00000.r5f
_rpmsg_char_find_rproc: 5c00000.r5f device is mostly yet to be created!
file_deref_link: readlink failed for /sys/bus/platform/devices/5d00000.r5f
_rpmsg_char_find_rproc: 5d00000.r5f device is mostly yet to be created!
_rpmsg_char_find_rproc: 4d80800000.dsp is either not probed or not a remoteproc!
_rpmsg_char_find_rproc: 4d81800000.dsp is either not probed or not a remoteproc!
_rpmsg_char_find_rproc: 64800000.dsp is either not probed or not a remoteproc!
   862.741420 s: IPC: ERROR: Unable to create TX channels for CPU [mcu2_0] !!!
   862.741430 s: IPC: ERROR: Unable to create TX channels for CPU [mcu2_1] !!!
   862.741435 s: IPC: ERROR: Unable to create TX channels for CPU [c6x_1] !!!
   862.741439 s: IPC: ERROR: Unable to create TX channels for CPU [c6x_2] !!!
   862.741447 s: IPC: ERROR: Unable to create TX channels for CPU [c7x_1] !!!
   862.741455 s: IPC: Init ... Done !!!
APP: ERROR: IPC init failed !!!
REMOTE_SERVICE: Init ... !!!
file_deref_link: readlink failed for /sys/bus/platform/devices/5c00000.r5f
_rpmsg_char_find_rproc: 5c00000.r5f device is mostly yet to be created!
file_deref_link: readlink failed for /sys/bus/platform/devices/5d00000.r5f
_rpmsg_char_find_rproc: 5d00000.r5f device is mostly yet to be created!
_rpmsg_char_find_rproc: 4d80800000.dsp is either not probed or not a remoteproc!
_rpmsg_char_find_rproc: 4d81800000.dsp is either not probed or not a remoteproc!
_rpmsg_char_find_rproc: 64800000.dsp is either not probed or not a remoteproc!
REMOTE_SERVICE: Init ... Done !!!
   862.742205 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
core is 2 The load is 0 percent time is 5 seconds
   862.742238 s: REMOTE_SERVICE_TEST: Started load test for CPU c7x_1 load is 0 !!!
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> c7x_1 (port 21) cmd = 0x00000003, prm_size = 4 bytes
   862.742261 s: REMOTE_SERVICE_TEST: ERROR: Load Test !!!
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> mcu2_0 (port 21) cmd = 0x00000001, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> mcu2_1 (port 21) cmd = 0x00000001, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> c6x_1 (port 21) cmd = 0x00000001, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> c6x_2 (port 21) cmd = 0x00000001, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> c7x_1 (port 21) cmd = 0x00000001, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> mcu2_0 (port 21) cmd = 0x00000005, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> mcu2_1 (port 21) cmd = 0x00000005, prm_size = 0 bytes
REMOTE_SERVICE: TX: FAILED: mpu1_0 -> mcu2_1 (port 21) cmd = 0x00000008, prm_size = 0 bytes
APP IPC TIOVX: Done !!!
!10 Second Cooldown!
^Croot@j721e-evm:~# 

Here is the output from serial console

U-Boot SPL 2021.01-gea96725b (Sep 02 2023 - 15:57:35 +0000)
Model: BeagleBoard.org BeagleBone AI-64 R5
EEPROM not available at 0x50, trying to read at 0x51
Board: BBONEAI-64-B0- rev B0
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
Trying to boot from MMC1
init_env from device 17 not supported!
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.9(release):v2.9.0
NOTICE:  BL31: Built : 15:57:35, Sep  2 2023
I/TC:
I/TC: OP-TEE version: 3.22.0 (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #1 Sat Sep  2 15:57:35 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Fixing SA2UL firewall owner for GP device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot

U-Boot SPL 2021.01-gea96725b (Sep 02 2023 - 15:57:35 +0000)
Model: Texas Instruments K3 J721E SoC
Board: BBONEAI-64-B0- rev B0
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--v08.06.03 (Chill Capybar')
ti_i2c_eeprom_am6_parse_record: Ignoring record id 17
Trying to boot from MMC1


U-Boot 2021.01-gea96725b (Sep 02 2023 - 15:57:35 +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
board_name=[BBONEAI-64-B0-] ...
name_fdt=[k3-j721e-beagleboneai64.dtb] ...
i2c_write: error waiting for data ACK (status=0x116)
pca953x gpio@22: Error reading output register
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
706 bytes read in 15 ms (45.9 KiB/s)
BeagleBone AI-64 microSD (extlinux.conf) Options
1:      BeagleBone AI-64 microSD Recovery
2:      BeagleBone AI-64 copy microSD to eMMC
3:      BeagleBone AI-64 microSD (default)
Enter choice: 3:        BeagleBone AI-64 microSD (default)
Retrieving file: /Image
20285952 bytes read in 874 ms (22.1 MiB/s)
append: root=/dev/mmcblk1p2 ro rootfstype=ext4 rootwait net.ifnames=0 quiet
Retrieving file: /k3-j721e-beagleboneai64.dtb
115144 bytes read in 13 ms (8.4 MiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 000000008ffe0000, end 000000008ffff1c7 ... OK

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Reserved shared memory is enabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
[    1.288005] pcieport 0000:00:00.0: of_irq_parse_pci: failed with rc=-22
[    3.479107] systemd[1]: Failed to start Start psplash boot splash screen.
[FAILED] Failed to start Start psplash boot splash screen.
[DEPEND] Dependency failed for Start psplas…temd progress communication helper.
[FAILED] Failed to start Synchronize System and HW clocks.
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
***************************************************************
***************************************************************
NOTICE: This file system contains the following GPL-3.0 packages:
        adwaita-icon-theme-symbolic
        autoconf
        bash-dev
        bash
        bc
        binutils
        cifs-utils
        coreutils-stdbuf
        coreutils
        cpio
        cpp-symlinks
        cpp
        dosfstools
        elfutils
        findutils
        g++-symlinks
        g++
        gawk
        gcc-symlinks
        gcc
        gdb
        gdbserver
        gettext
        glmark2
        gnu-config
        grub-common
        grub-editenv
        grub-efi
        gzip
        hidapi
        kbd-dev
        kbd-keymaps-pine
        less
        libasm1
        libatomic-dev
        libatomic1
        libbfd
        libdebuginfod1
        libdw1
        libelf1
        libgcc-s-dev
        libgcc1
        libgdbm-compat4
        libgdbm-dev
        libgdbm6
        libgettextlib
        libgettextsrc
        libgmp10
        libidn2-0
        libmpc3
        libmpfr6
        libopcodes
        libqt5charts-examples
        libqt5charts-plugins
        libqt5charts-qmlplugins
        libqt5charts5
        libqt5serialport-examples
        libqt5serialport-plugins
        libqt5serialport-qmlplugins
        libqt5serialport5
        libqt5svg-examples
        libqt5svg-plugins
        libqt5svg-qmlplugins
        libqt5svg5
        libqt5virtualkeyboard-plugins
        libqt5virtualkeyboard-qmlplugins
        libqt5virtualkeyboard5
        libreadline-dev
        libreadline8
        libstdc++-dev
        libstdc++6
        libunistring5
        m4
        make
        nettle
        parted
        piglit
        qt3d-plugins
        qt3d-qmlplugins
        qt3d
        qtbase-examples
        qtbase-plugins
        qtbase-qmlplugins
        qtbase
        qtconnectivity-plugins
        qtconnectivity-qmlplugins
        qtconnectivity
        qtdeclarative-plugins
        qtdeclarative-qmlplugins
        qtdeclarative-tools
        qtdeclarative
        qtgraphicaleffects-qmlplugins
        qtlocation-examples
        qtlocation-plugins
        qtlocation-qmlplugins
        qtlocation
        qtmultimedia-examples
        qtmultimedia-plugins
        qtmultimedia-qmlplugins
        qtmultimedia
        qtquics-qmlplugins.control
        qtquics2-plugins.control
        qtquics2-qmlplugins.control
        qtquics2.control
        qtscript-examples
        qtscript-plugins
        qtscript-qmlplugins
        qtscript
        qtwayland-examples
        qtwayland-plugins
        qtwayland-qmlplugins
        qtwayland
        tar
        which

If you do not wish to distribute GPL-3.0 components please remove
the above packages prior to distribution.  This can be done using
the opkg remove command.  i.e.:
    opkg remove <package>
Where <package> is the name printed in the list above

NOTE: If the package is a dependency of another package you
      will be notified of the dependent packages.  You should
      use the --force-removal-of-dependent-packages option to
      also remove the dependent packages as well
***************************************************************
***************************************************************

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project j721e-evm ttyS2

Arago 2023.10 j721e-evm ttyS2

j721e-evm login: root
root@j721e-evm:~#

Directory tree of vision_apps

root@j721e-evm:/opt/vision_apps# ls -al
total 988
drwxr-xr-x  2 root root  4096 Aug 30 06:45 .
drwxr-xr-x 14 root root  4096 Feb 27  2024 ..
-rw-r--r--  1 root root   345 Aug 30 06:45 app_c7x.cfg
-rwxr-xr-x  1 root root   117 Aug 30 06:45 run_app_arm_fd_exchange.sh
-rwxr-xr-x  1 root root    57 Aug 30 06:45 run_app_c7x.sh
-rwxr-xr-x  1 root root   765 Aug 30 06:45 run_app_load_test.sh
-rwxr-xr-x  1 root root   266 Aug 30 06:45 run_app_viss.sh
-rwxr-xr-x  1 root root   518 Aug 30 06:45 vision_apps_init.sh
-rwxr-xr-x  1 root root 68064 Aug 30 06:45 vx_app_arm_fd_exchange_consumer.out
-rwxr-xr-x  1 root root 68144 Aug 30 06:45 vx_app_arm_fd_exchange_producer.out
-rwxr-xr-x  1 root root 67656 Aug 30 06:45 vx_app_arm_ipc.out
-rwxr-xr-x  1 root root 67640 Aug 30 06:45 vx_app_arm_mem.out
-rwxr-xr-x  1 root root 67632 Aug 30 06:45 vx_app_arm_remote_log.out
-rwxr-xr-x  1 root root 67912 Aug 30 06:45 vx_app_c7x_kernel.out
-rwxr-xr-x  1 root root 70864 Aug 30 06:45 vx_app_conformance.out
-rwxr-xr-x  1 root root 67624 Aug 30 06:45 vx_app_conformance_core.out
-rwxr-xr-x  1 root root 67808 Aug 30 06:45 vx_app_conformance_hwa.out
-rwxr-xr-x  1 root root 67648 Aug 30 06:45 vx_app_conformance_tidl.out
-rwxr-xr-x  1 root root 67720 Aug 30 06:45 vx_app_conformance_video_io.out
-rwxr-xr-x  1 root root 67688 Aug 30 06:45 vx_app_heap_stats.out
-rwxr-xr-x  1 root root 67688 Aug 30 06:45 vx_app_load_test.out
-rwxr-xr-x  1 root root 67944 Aug 30 06:45 vx_app_viss.out

Please help me figure out, what I am missing here.
Can you please also share your uEnv.txt file? just to check if I am missing something.

Note: I am trying to run Linux SDK not the RTOS

Thank you

Best
Shubham

Hi @jiance.zahng

Which Linux image you are using?

  1. Is it from beaglebone debian image
  2. Or, is it from the build_images folder of TI_SDK

Thank you

if you use linux only, now is ok, vision_apps_init.sh only show r5f log by share memory and ipc。
if you run r5f prog, neet copy vx_app_rtos_linux_xxx.out to /lib/firmware/vision_apps_evm soft link as flow:


in fact, all rtos vision_app’s out need copy to rootfs

i found you boot log , u-boot is a old version ,so your u-boot.img and tispl.bin copy is not correct. but, none of this will affect you boot and use linux. you can check if kernel is old version too or not ,by cmd " uname -r ".I suspect you are currently using the u-boot.img from the eMMC, which looks to be an old artifact of the beagle. uEnv.txt you can get from boot-adas-j721e-evm.tar.gz in rtos sdk.