TDA4VM: uboot boot linux kernel abnormal and affects the mcu1_0 running status.

Part Number: TDA4VM

Tool/software:

Hi, Ti expert

SDK version: 0902/0806
Board: tda4 evm

My boot process is like this:

atf_optee.appimage and  tiubootspl_linux.appimage can boot successfully, but when uboot boot linux_kernel from mmcsd, during the kernel booting, mcu1_0 maybe crash (becase when kernel booting there are no message output from mcu uart(muc1_0 used) . and  kernel prints some error messages)

This is kernel log:
=> NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE:  BL31: Built : 15:48:38, Jan 24 2023
I/TC: 
I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Thu Jan 12 00:27:56 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 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
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 2023.04-ti-ti-gf9b966c67473 (Nov 27 2023 - 16:11:04 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
ti_i2c_eeprom_am6_parse_record: Ignoring record id 17
Detected: J7X-BASE-CPB rev A
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted


U-Boot 2023.04-ti-ti-gf9b966c67473 (Nov 27 2023 - 16:11:04 +0000)

SoC:   J721E SR1.1 GP
Model: Texas Instruments K3 J721E SoC
Board: J721EX-PM2-SOM rev A
DRAM:  2 GiB (effective 4 GiB)
Core:  123 devices, 35 uclasses, devicetree: separate
Flash: 0 Bytes
MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
Loading Environment from nowhere... OK
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
Detected: J7X-BASE-CPB rev A
cdns,sierra serdes@5000000: PHY not found 0x7364 vs 0x0
Sierra init failed:-22
Net:   eth0: ethernet@46000000port@1
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
1541 bytes read in 30 ms (49.8 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
1 bytes read in 29 ms (0 Bytes/s)
Already setup.
GPIO: 'gpio@22_17' not found
Command 'gpio' failed: Error -22
GPIO: 'gpio@22_16' not found
Command 'gpio' failed: Error -22
k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
Failed to load '/lib/firmware/j7-mcu-r5f0_1-fw'
1564352 bytes read in 111 ms (13.4 MiB/s)
Load Remote Processor 2 with data@addr=0x82000000 1564352 bytes: Success!
322804 bytes read in 48 ms (6.4 MiB/s)
Load Remote Processor 3 with data@addr=0x82000000 322804 bytes: Success!
Failed to load '/lib/firmware/j7-main-r5f1_0-fw'
Failed to load '/lib/firmware/j7-main-r5f1_1-fw'
998192 bytes read in 82 ms (11.6 MiB/s)
Load Remote Processor 6 with data@addr=0x82000000 998192 bytes: Success!
998192 bytes read in 82 ms (11.6 MiB/s)
Load Remote Processor 7 with data@addr=0x82000000 998192 bytes: Success!
13504656 bytes read in 306 ms (42.1 MiB/s)
Load Remote Processor 8 with data@addr=0x82000000 13504656 bytes: Success!
19376640 bytes read in 991 ms (18.6 MiB/s)
114992 bytes read in 35 ms (3.1 MiB/s)
Working FDT set to 88000000
3589 bytes read in 30 ms (116.2 KiB/s)
11541 bytes read in 31 ms (363.3 KiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
ERROR: reserving fdt memory region failed (addr=880000000 size=27000000 flags=4)
   Loading Device Tree to 000000008fee0000, end 000000008fffffff ... OK
Working FDT set to 8fee0000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
[    0.000000] Linux version 6.1.80-ti-g2e423244f8c0 (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Wed Mar 20 14:43:33 UTC 2024
[    0.000000] Machine model: Texas Instruments J721e EVM
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x00000008e0000000, size 512 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a0000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a0100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a1000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a1100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a2000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 31 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a2100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a4000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 31 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a4100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a6000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a6100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a7000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a7100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c66-dma-memory@a8000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c66-memory@a8100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c66-dma-memory@a9000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c66-memory@a9100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000ac000000, size 96 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-dma-memory@ac000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000b2000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c71-dma-memory@b2000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000b2100000, size 95 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-c71-memory@b2100000, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: initialized node vision_apps_shared-memories, compatible id dma-heap-carveout
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000d8000000, size 192 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-lo@d8000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000e4000000, size 8 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-queues@e4000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000e4800000, size 24 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-buffers@e4800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000880000000, size 624 MiB
[    0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-hi@880000000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
[    0.000000]   node   0: [mem 0x000000009e800000-0x00000000b7ffffff]
[    0.000000]   node   0: [mem 0x00000000b8000000-0x00000000d7ffffff]
[    0.000000]   node   0: [mem 0x00000000d8000000-0x00000000e5ffffff]
[    0.000000]   node   0: [mem 0x00000000e6000000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008a6ffffff]
[    0.000000]   node   0: [mem 0x00000008a7000000-0x00000008ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s41064 r8192 d32664 u81920
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: Spectre-v3a
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: detected: ARM erratum 1742098
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032192
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=33423791-02 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 2.
[    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[    0.000000] Memory: 1695672K/4194304K available (11712K kernel code, 1258K rwdata, 3812K rodata, 1984K init, 438K bss, 1974344K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 960 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001900000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @8a7800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000008a7030000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008a7040000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.010516] Console: colour dummy device 80x25
[    0.016225] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.029563] pid_max: default: 32768 minimum: 301
[    0.035484] LSM: Security Framework initializing
[    0.041455] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.050923] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.061927] cblist_init_generic: Setting adjustable number of callback queues.
[    0.071174] cblist_init_generic: Setting shift to 1 and lim to 1.
[    0.079000] cblist_init_generic: Setting adjustable number of callback queues.
[    0.088232] cblist_init_generic: Setting shift to 1 and lim to 1.
[    0.096113] rcu: Hierarchical SRCU implementation.
[    0.102235] rcu:     Max phase no-delay instances is 1000.
[    0.109130] Platform MSI: msi-controller@1820000 domain created
[    0.116963] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.128764] EFI services will not be available.
[    0.134694] smp: Bringing up secondary CPUs ...
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
[    0.151302] Detected PIPT I-cache on CPU1
[    0.151381] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
[    0.151397] GICv3: CPU1: using allocated LPI pending table @0x00000008a7050000
[    0.151432] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
[    0.151490] smp: Brought up 1 node, 2 CPUs
[    0.188171] SMP: Total of 2 processors activated.
[    0.194176] CPU features: detected: 32-bit EL0 Support
[    0.200742] CPU features: detected: CRC32 instructions
[    0.207336] CPU: All CPU(s) started at EL2
[    0.212562] alternatives: applying system-wide alternatives
[    0.220787] devtmpfs: initialized
[    0.233884] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.246355] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.264457] pinctrl core: initialized pinctrl subsystem
[    0.271541] DMI not present or invalid.
[    0.276856] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.285177] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.294323] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.304331] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.314488] audit: initializing netlink subsys (disabled)
[    0.321513] audit: type=2000 audit(0.172:1): state=initialized audit_enabled=0 res=1
[    0.321793] thermal_sys: Registered thermal governor 'step_wise'
[    0.331412] thermal_sys: Registered thermal governor 'power_allocator'
[    0.339169] cpuidle: using governor menu
[    0.352608] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.361311] ASID allocator initialised with 65536 entries
[    0.379677] platform a40000.pinctrl: Fixed dependency cycle(s) with /bus@100000/pinctrl@a40000/mcu-cpsw-cpts
[    0.394216] KASLR disabled due to lack of seed
[    0.403386] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.412063] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.420065] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.428732] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.436733] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.445399] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.453403] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.462069] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.470951] k3-chipinfo 43000014.chipid: Family:J721E rev:SR2.0 JTAGID[0x1bb6402f] Detected
[    0.482629] iommu: Default domain type: Translated 
[    0.488859] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.497006] SCSI subsystem initialized
[    0.501989] usbcore: registered new interface driver usbfs
[    0.509013] usbcore: registered new interface driver hub
[    0.515807] usbcore: registered new device driver usb
[    0.522528] pps_core: LinuxPPS API ver. 1 registered
[    0.528867] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.540538] PTP clock support registered
[    0.545641] EDAC MC: Ver: 3.0.0
[    0.550291] FPGA manager framework
[    0.554681] Advanced Linux Sound Architecture Driver Initialized.
[    0.562939] clocksource: Switched to clocksource arch_sys_counter
[    0.570874] VFS: Disk quotas dquot_6.6.0
[    0.575908] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.588315] Carveout Heap: Exported 512 MiB at 0x00000000b8000000
[    0.596178] NET: Registered PF_INET protocol family
[    0.602638] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.613915] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.624875] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.634778] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.645032] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.655791] TCP: Hash tables configured (established 32768 bind 32768)
[    0.664272] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.672905] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.682216] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.689808] RPC: Registered named UNIX socket transport module.
[    0.697381] RPC: Registered udp transport module.
[    0.703386] RPC: Registered tcp transport module.
[    0.709389] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.717615] NET: Registered PF_XDP protocol family
[    0.723740] PCI: CLS 0 bytes, default 64
[    0.729150] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.740584] Initialise system trusted keyrings
[    0.746416] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.757093] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.764885] NFS: Registering the id_resolver key type
[    0.771361] Key type id_resolver registered
[    0.776702] Key type id_legacy registered
[    0.781850] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.790410] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.824173] Key type asymmetric registered
[    0.829404] Asymmetric key parser 'x509' registered
[    0.835662] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.845204] io scheduler mq-deadline registered
[    0.851000] io scheduler kyber registered
[    0.858916] pinctrl-single 4301c000.pinctrl: 94 pins, size 376
[    0.867026] pinctrl-single 11c000.pinctrl: 173 pins, size 692
[    0.875247] pinctrl-single a40000.pinctrl: 512 pins, size 2048
[    0.887106] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
[    0.897547] arm-smmu-v3 36600000.iommu: ias 48-bit, oas 48-bit (features 0x00001faf)
[    0.907827] arm-smmu-v3 36600000.iommu: allocated 65536 entries for cmdq
[    0.916759] arm-smmu-v3 36600000.iommu: allocated 32768 entries for evtq
[    0.926699] arm-smmu-v3 36600000.iommu: msi_domain absent - falling back to wired irqs
[    0.940460] loop: module loaded
[    0.945388] megasas: 07.719.03.00-rc1
[    0.952008] tun: Universal TUN/TAP device driver, 1.6
[    0.959033] VFIO - User Level meta-driver version: 0.3
[    0.966125] usbcore: registered new interface driver usb-storage
[    0.974203] i2c_dev: i2c /dev entries driver
[    0.980381] sdhci: Secure Digital Host Controller Interface driver
[    0.988278] sdhci: Copyright(c) Pierre Ossman
[    0.993999] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.001650] ledtrig-cpu: registered to indicate activity on CPUs
[    1.009440] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.017873] usbcore: registered new interface driver usbhid
[    1.024994] usbhid: USB HID core driver
[    1.030528] optee: probing for conduit method.
[    1.036227] optee: revision 3.19 (d6c5d003)
[    1.036401] optee: dynamic shared memory is enabled
[    1.048237] optee: initialized driver
[    1.054498] Initializing XFRM netlink socket
[    1.059995] NET: Registered PF_PACKET protocol family
[    1.066496] Key type dns_resolver registered
[    1.072171] registered taskstats version 1
[    1.077419] Loading compiled-in X.509 certificates
[    1.091055] ti-sci 44083000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
[    1.212016] omap_i2c 42120000.i2c: bus 0 rev0.12 at 400 kHz
[    1.219932] pca953x 1-0020: supply vcc not found, using dummy regulator
[    1.228464] pca953x 1-0020: using no AI
[    1.255799] pca953x 1-0022: supply vcc not found, using dummy regulator
[    1.264325] pca953x 1-0022: using AI
[    1.269657] gpio-480 (CTRL_PM_I2C_OE): hogged as output/high
[    1.277126] gpio-481 (MCASP/TRACE_MUX_S0): hogged as output/low
[    1.284929] gpio-482 (MCASP/TRACE_MUX_S1): hogged as output/high
[    1.293049] omap_i2c 2000000.i2c: bus 1 rev0.12 at 400 kHz
[    1.301548] omap_i2c 2020000.i2c: bus 2 rev0.12 at 400 kHz
[    1.309260] pca953x 3-0020: supply vcc not found, using dummy regulator
[    1.317792] pca953x 3-0020: using no AI
[    1.343518] omap_i2c 2030000.i2c: bus 3 rev0.12 at 400 kHz
[    1.350921] ti-sci-intr 42200000.interrupt-controller: Interrupt Router 137 domain created
[    1.361640] ti-sci-intr bus@100000:interrupt-controller@a00000: Interrupt Router 131 domain created
[    1.373343] ti-sci-intr 310e0000.interrupt-controller: Interrupt Router 213 domain created
[    1.384173] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 209 created
[    1.402895] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235
[    1.415264] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
[    1.423713] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66346100, num_proxies:64
[    1.435129] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[440,150] sci-dev-id:211
[    1.447808] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
[    1.456258] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66346100, num_proxies:64
[    1.466226] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 192, base_baud = 6000000) is a 8250
[    1.478087] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 193, base_baud = 3000000) is a 8250
[    1.489144] printk: console [ttyS2] enabled
[    1.489144] printk: console [ttyS2] enabled
[    1.499701] printk: bootconsole [ns16550a0] disabled
[    1.499701] printk: bootconsole [ns16550a0] disabled
[    1.512751] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 194, base_baud = 3000000) is a 8250
[    1.524016] 2840000.serial: ttyS6 at MMIO 0x2840000 (irq = 195, base_baud = 3000000) is a 8250
[    2.558950] ti-sci 44083000.system-controller: Mbox timedout in resp(caller: ti_sci_cmd_put_clock+0x18/0x24)
[    2.571243] ti-sci 44083000.system-controller: Mbox send fail -110
[    2.578952] ti-sci-clk 44083000.system-controller:clock-controller: unprepare failed for dev=103, clk=0, ret=-110
This is uboot env.txt:
addr_fit=0x90000000
arch=arm
args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
args_ufs=setenv devtype scsi;setenv bootpart 1:1; run ufs_finduuid; setenv bootargs console = ${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${scsirootfstype}; setenv devtype scsi; setenv bootpart 1:1
baudrate=115200
board=j721e
board_name=j721e
board_rev=A
board_serial=0250
board_software_revision=01
boot=mmc
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_rprocs=if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then rproc init; run boot_rprocs_mmc; fi;
boot_rprocs_mmc=env set rproc_id; env set rproc_fw; env set secure_suffix; if test ${secure_rprocs} -eq 1; then env set secure_suffix -sec; fi; for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i; else env set rproc_fw $i${secure_suffix}; run rproc_load_and_boot_one; env set rproc_id; env set rproc_fw; fi; done
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=ti_mmc mmc0 mmc1 usb0 pxe dhcp 
bootcmd=run envboot; run distro_bootcmd;
bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fd;
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcmd_ti_mmc=run findfdt; run init_${boot}; if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1; then run main_cpsw0_qsgmii_phyinit; fi; run boot_rprocs; if test ${boot_fit} -eq 1; then run get_fit_${boot}; run get_fit_overlaystring; run run_fit; else; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern; fi;
bootcmd_usb0=devnum=0; run usb_boot
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootm_size=0x10000000
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyS2,115200n8
cpu=armv8
default_device_tree=ti/k3-j721e-common-proc-board.dtb
dfu_alt_info_emmc=rawemmc raw 0 0x800000 mmcpart 1; rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; u-env.raw raw 0x3400 0x100 mmcpart 1; sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
dfu_alt_info_mmc=boot part 1 1; rootfs part 1 2; tiboot3.bin fat 1 1; tispl.bin fat 1 1; u-boot.img fat 1 1; uEnv.txt fat 1 1; sysfw.itb fat 1 1
dfu_alt_info_nand=NAND.tiboot3 part 0 1; NAND.tispl part 0 2; NAND.tiboot3.backup part 0 3; NAND.u-boot part 0 4; NAND.u-boot-env part 0 5; NAND.u-boot-env.backup part 0 6; NAND.file-system part 0 7
dfu_alt_info_ospi=tiboot3.bin raw 0x0 0x080000; tispl.bin raw 0x080000 0x200000; u-boot.img raw 0x280000 0x400000; u-boot-env raw 0x680000 0x020000; sysfw.itb raw 0x6c0000 0x100000; rootfs raw 0x800000 0x3800000
dfu_alt_info_ospi_nand=ospi_nand.tiboot3 part 1; ospi_nand.tispl part 2; ospi_nand.u-boot part 3; ospi_nand.env part 4; ospi_nand.env.backup part 5; ospi_nand.rootfs part 6; ospi_nand.phypattern part 7
dfu_alt_info_ram=tispl.bin ram 0x80080000 0x200000; u-boot.img ram 0x81000000 0x400000
distro_bootcmd=scsi_need_init=; for target in ${boot_targets}; do run bootcmd_${target}; done
dorprocboot=1
dtboaddr=0x89000000
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if run loadbootscript; then run bootscript; else if run loadbootenv; then echo Loaded env from ${bootenvfile}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi; fi; fi;
ethaddr=34:08:e1:59:4a:91
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=fde95b50
fdtoverlay_addr_r=0x89000000
findfdt=setenv name_fdt ${default_device_tree}; if test $board_name = j721e; then setenv name_fdt ti/k3-j721e-common-proc-board.dtb; fi; if test $board_name = AUTOX_CMS_V1_0; then setenv name_fdt ti/k3-j721e-autox-cms-1-0.dtb; fi; setenv fdtfile ${name_fdt}
finduuid=part uuid ${boot} ${bootpart} uuid
get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${name_fdt}
get_fdt_ufs=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
get_fit_config=setexpr name_fit_config gsub / _ conf-${fdtfile}
get_fit_mmc=load mmc ${bootpart} ${addr_fit} ${bootdir}/${name_fit}
get_fit_overlaystring=for overlay in $name_overlays; do; setexpr name_fit_overlay gsub / _ conf-${overlay}; setenv overlaystring ${overlaystring}'#'${name_fit_overlay}; done;
get_kern_mmc=load mmc ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
get_kern_ufs=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
get_overlay_mmc=fdt address ${fdtaddr}; fdt resize 0x100000; for overlay in $name_overlays; do; load mmc ${bootpart} ${dtboaddr} ${bootdir}/dtb/ti/${overlay} && fdt apply ${dtboaddr}; done;
get_overlay_ufs=fdt address ${fdtaddr}; fdt resize 0x100000; for overlay in $name_overlays; do; load scsi ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && fdt apply ${dtboaddr}; done;
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_main_cpsw0_qsgmii_phy=gpio set gpio@22_17; gpio clear gpio@22_16
init_mmc=run args_all args_mmc
init_ufs=ufs init; scsi scan; run args_ufs
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
main_cpsw0_qsgmii_phyinit=if test $board_name = J721EX-PM1-SOM || test $board_name = J721EX-PM2-SOM || test $board_name = j721e; then do_main_cpsw0_qsgmii_phyinit=1; else do_main_cpsw0_qsgmii_phyinit=0; fi; if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1 && test ${dorprocboot} -eq 1 && test ${boot} = mmc; then run init_main_cpsw0_qsgmii_phy; fi;
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; devnum=${mmcdev}; devtype=mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if run loadimage; then run args_mmc; if test ${boot_fit} -eq 1; then run run_fit; else run mmcloados; fi; fi; fi;
mmcdev=1
mmcloados=if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run get_fdt_mmc; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
name_fit=fitImage
name_kern=Image
partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rd_spec=-
rdaddr=0x88080000
rproc_fw_binaries= 1 /lib/firmware/j7-mcu-r5f0_1-fw 2 /lib/firmware/j7-main-r5f0_0-fw 3 /lib/firmware/j7-main-r5f0_1-fw 4 /lib/firmware/j7-main-r5f1_0-fw 5 /lib/firmware/j7-main-r5f1_1-fw 6 /lib/firmware/j7-c66_0-fw 7 /lib/firmware/j7-c66_1-fw 8 /lib/firmware/j7-c71_0-fw
rproc_load_and_boot_one=if load mmc ${bootpart} $loadaddr ${rproc_fw}; then if rproc load ${rproc_id} ${loadaddr} ${filesize}; then rproc start ${rproc_id}; fi; fi
run_fit=run get_fit_config; bootm ${addr_fit}#${name_fit_config}${overlaystring}
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then part uuid ${devtype} ${devnum}:${distro_bootpart} distro_bootpart_uuid ; run scan_dev_for_boot; fi; done; setenv devplist
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binae
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
scsi_boot=run scsi_init; if scsi dev ${devnum}; then devtype=scsi; run scan_dev_for_boot_part; fi
scsi_init=if ${scsi_need_init}; then scsi_need_init=false; scsi scan; fi
scsirootfstype=ext4 rootwait
secure_rprocs=0
serial#=0000000000000250
soc=k3
stderr=serial@2800000
stdin=serial@2800000
stdout=serial@2800000
ubifs_boot=if ubi part ${bootubipart} ${bootubioff} && ubifsmount ubi0:${bootubivol}; then devtype=ubi; devnum=ubi0; bootfstype=ubifs; distro_bootpart=${bootubivol}; run scan_dev_for_boot; ubifsumount; fi
ufs_finduuid=part uuid scsi ${bootpart} uuid
update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
vendor=ti


All atf_optee and tiubootspl_linux.appimage build from prebuild/

How to solve this problem?
Best Regards
Eason
  • Hi Eason,

    Are you able to login into the kernel or is it so that the kernel is crashing(ie:just hangs) ?

    Also , once SBL loads , then the DM runs on MCU1_0 and it doesn't print any logs(hence no more logs on MCU UART). Then all the logs corresponding to ATF/OPTEE,uboot,tispl and linux kernel will start occuring in the main uart.So ,it isn't really that mcu1_0 is crashing.

    Regards

    Gokul

  • Hi Gokul

    Are you able to login into the kernel or is it so that the kernel is crashing(ie:just hangs) ?

    Can not able to login into kernel,the kernle alway print 

    [    2.571243] ti-sci 44083000.system-controller: Mbox send fail -110
    [    2.578952] ti-sci-clk 44083000.system-controller:clock-controller: unprepare failed for dev=103, clk=0, ret=-110

    If DM runs on MCU1_0, when SBL load mcu1_0 app, and then mcu1_0 load A cores,  this will cause the original mcu1_0 app to fail because DM has already started running.
    But in fact, I don't want the original mcu1_0 app to fail. How to solve this?

    Best Regards
    Eason

  • Hi Eason,

    Actually , the MCU1_0 app will run the boot task and DM as parallel threads.

    Can you help us with the booting steps you followed and how you obtained the tiubootspl_linux.appimage ?

    Also are you using a custom board.

  • Hi,Gokul

    Actually , the MCU1_0 app will run the boot task and DM as parallel threads.

    But in my test(like above),when linux_kernel booting, mcu1_0 will "carsh"

    Also are you using a custom board.

    I use Ti tda4_evm board, no "custom board"

    Can you help us with the booting steps you followed and how you obtained the tiubootspl_linux.appimage ?

    Fine, This is step:

    Startup reference project of mcu1_0: "can_boot_app mcu rtos", and boot from mmcsd. Use follow HLOS image:

    how you obtained the tiubootspl_linux.appimage ?

    use this constructappimageshlos.sh:

    #!/bin/bash
    
    # User specifies location of HLOS binaries and the specific OS
    ##############################################################
    
    # MY_BOARD options are: j721e_evm or j7200_evm
    #MY_BOARD=$1
    
    # OS options are: linux or qnx
    OS=linux
    
    # must change it!!
    PATH_TO_UBOOT= ...
    
    # Linux-specific paths
    # --------------------
    
    # First, the directory where the needed Linux binaries are located needs to be defined.
    # This directory should already contain the bl31.bin, bl32.bin,
    # base-board.dtb (k3-j72*-common-proc-board.dtb), and Image files
    
    # Linux build directory containing all the locally-built Linux-related binaries
    LINUX_BUILD_DIR_PATH=USER_DEFINED_PATH
    
    # QNX-specific paths
    # ------------------
    # First, the directory where the needed QNX binaries are located needs to be defined.
    # This directory should already contain the bl31.bin, bl32.bin, and qnx-ifs files
    QNX_PREBUILT_DIR_PATH=USER_DEFINED_PATH
    
    # The TOOLCHAIN_PATH_GCC_ARCH64 should be set up as environment variable
    # in QNX setup
    if [ -z "${TOOLCHAIN_PATH_GCC_ARCH64}" ];
    then
        TOOLCHAIN_PATH_GCC_ARCH64=~/qnx700/host/linux/x86_64/usr/bin
    fi
    
    ##############################################################
    
    # TI packages paths needed for generation of the appimages
    SDK_INSTALL_PATH=${PWD}/../../../../../..
    PDK_INSTALL_PATH="${SDK_INSTALL_PATH}/pdk_jacinto_09_02_00_30/packages"
    SBL_REPO_PATH="${PDK_INSTALL_PATH}/ti/boot/sbl"
    MULTICORE_APPIMAGE_GEN_TOOL_PATH="${SBL_REPO_PATH}/tools/multicoreImageGen/bin"
    SBL_OUT2RPRC_GEN_TOOL_PATH="${SBL_REPO_PATH}/tools/out2rprc/bin"
    MULTICOREAPP_BIN_PATH=${PWD}/my_binary
    if [ ! -d "$MULTICOREAPP_BIN_PATH" ]; then
        mkdir -p "$MULTICOREAPP_BIN_PATH"
    fi
    LDS_PATH=${PWD}/${OS}
    
    # Defines which appimages this script will create
    #if [ $OS == "linux" ]; then
    #    GenFiles=("atf_optee" \
    #              "tidtb_linux" \
    #              "tikernelimage_linux"
    #             );
    #fi
    
    if [ $OS == "linux" ]; then
        GenFiles=("atf_optee" \
                  "tiubootspl_linux"
                 );
    fi
    
    if [ $OS == "qnx" ]; then
        GenFiles=("atf_optee" \
                  "ifs_qnx"
                 );
    fi
    
    # Preserve original working directory
    pushd $PWD > /dev/null
    
    if [ $OS == "linux" ]; then
        cd $LINUX_BUILD_DIR_PATH
    	cp $LINUX_PREBUILT_DIR/bl31.bin .
    	cp $LINUX_PREBUILT_DIR/bl32.bin .
    
    	cp $LINUX_PREBUILT_DIR/Image .
    	cp $LINUX_PREBUILT_DIR/k3-j721e-common-proc-board.dtb base-board.dtb
        #cd $LINUX_PREBUILT_DIR_PATH
    	cp $PATH_TO_UBOOT/u-boot-spl.bin ./u-boot-spl.bin
    fi
    if [ $OS == "qnx" ]; then
        cd $QNX_PREBUILT_DIR_PATH
    fi
    
    # Generate all the appimage files (as defined in GenFiles array)
    for i in "${GenFiles[@]}"
    do
        echo "Generating $i image"
        if [ $OS == "linux" ]; then
            aarch64-none-linux-gnu-ld -T $LDS_PATH/$i.lds -o $MULTICOREAPP_BIN_PATH/$i.elf
        fi
        if [ $OS == "qnx" ]; then
            ${TOOLCHAIN_PATH_GCC_ARCH64}/aarch64-unknown-nto-qnx7.0.0-ld -T $LDS_PATH/$i.lds -o $MULTICOREAPP_BIN_PATH/$i.elf
        fi
        $SBL_OUT2RPRC_GEN_TOOL_PATH/out2rprc.exe $MULTICOREAPP_BIN_PATH/$i.elf $MULTICOREAPP_BIN_PATH/$i.rprc
        $MULTICORE_APPIMAGE_GEN_TOOL_PATH/MulticoreImageGen LE 55 \
            $MULTICOREAPP_BIN_PATH/$i.appimage 0 $MULTICOREAPP_BIN_PATH/$i.rprc
    done
    
    # Restore shell to original working directory
    popd > /dev/null
    

    cp test.txt  mcusw/mcuss_demos/boot_app_mcu_rtos/main_domain_apps/scripts/hlos/linux/tiubootspl_linux.lds

    0118.test.txt
    /*
     * tiubootspl_linux.lds - simple linker file for stand-alone Linux kernel booting
     *
     * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
     *
     * Use of this source code is governed by a BSD-style license that can be
     * found in the LICENSE.txt file.
     */
    OUTPUT_FORMAT("elf64-littleaarch64")
    OUTPUT_ARCH(aarch64)
    TARGET(binary)
    INPUT(u-boot-spl.bin)
    SECTIONS
    {
     . = 0x0000000080080000;
     spl = .;
     .spl : { u-boot-spl.bin }
    }

    If you still can't understand how to generate tiubootspl_linux.appimage , I can give you my demo project.

    BTW, Is there any way to start uboot without using SPL?

    Best Regards
    Eason

  • Hi eason,

    Is there a specific reason you are trying to use BOOTAPP with Uboot.Can you try using the development workflow mentioned for booting.

  • Hi Gokul
    Thanks for you reply.

    Is there a specific reason you are trying to use BOOTAPP with Uboot

    For some functional features of our product, we must need uboot.

     

    Can you try using the development workflow mentioned for booting

    Ok, Thanks, I will try it.

    Best Regards
    Eason

  • Hi,Gokul
    Oh! Sorry!  I can't use this method.
    I must boot mcu1_0 app frist.
    If I use the "development workflow" method, I have to start A core first and then mcu1_0 last.

    Best Regards
    Eason

  • Hi, Gokul
    Did you see the kernel boot log?

    What is the reason that cause " 

    [ 2.571243] ti-sci 44083000.system-controller: Mbox send fail -110
    [ 2.578952] ti-sci-clk 44083000.system-controller:clock-controller: unprepare failed for dev=103, clk=0, ret=-110 "

    ?

    My mcu1_0 have "resource_table"

    Best Regards
    Eason