Hi TI,
I want to load and start remoteprocs (MCU2_0, MCU2_1, MCU3_0, MCU3_1, C66_1, C66_2, C71) via Linux. the lib/firmware directory looks like this:
lrwxrwxrwx 1 felix felix 43 Sep 15 09:29 j7-c66_0-fw -> vision_apps_evm/vx_app_rtos_linux_c6x_1.out lrwxrwxrwx 1 felix felix 43 Sep 15 09:29 j7-c66_1-fw -> vision_apps_evm/vx_app_rtos_linux_c6x_2.out lrwxrwxrwx 1 felix felix 43 Sep 15 09:29 j7-c71_0-fw -> vision_apps_evm/vx_app_rtos_linux_c7x_1.out lrwxrwxrwx 1 felix felix 41 Sep 15 10:25 j7-main-r5f0_0-fw -> ipc_echo_test_freertos_mcu2_0_debug.xer5f lrwxrwxrwx 1 felix felix 44 Sep 15 09:28 j7-main-r5f0_1-fw -> vision_apps_evm/vx_app_rtos_linux_mcu2_1.out lrwxrwxrwx 1 felix felix 41 Sep 15 11:53 j7-main-r5f1_0-fw -> ipc_echo_test_freertos_mcu3_0_debug.xer5f lrwxrwxrwx 1 felix felix 41 Sep 15 11:53 j7-main-r5f1_1-fw -> ipc_echo_test_freertos_mcu3_1_debug.xer5f lrwxrwxrwx 1 felix felix 49 Sep 15 09:28 j7-mcu-r5f0_0-fw -> pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f
All firmware binaries include a .resource_table section, which is needed when booting these cores via Linux. (MCU3_1 fw as an example):
felix@felix-virtual-machine:~/ti-processor-sdk-linux-j7-evm-08_00_00_08/targetNFS/lib/firmware$ readelf -l ipc_echo_test_freertos_mcu3_1_debug.xer5f Elf file type is EXEC (Executable file) Entry point 0x0 There are 10 program headers, starting at offset 2344688 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000038 0x00000000 0x00000000 0x00df0 0x00df0 R E 0x8 LOAD 0x001000 0xa5100000 0xa5100000 0x0008c 0x0008c R 0x1000 LOAD 0x001400 0xa5100400 0xa5100400 0x00000 0x80000 RW 0x400 LOAD 0x001400 0xa5400000 0xa5400000 0x00000 0x181400 RW 0x80 LOAD 0x001400 0xa5581400 0xa5581400 0x005a0 0x005a0 R 0x8 LOAD 0x002000 0xa5582000 0xa5582000 0x00000 0x33c58 RW 0x2000 LOAD 0x002000 0xa55b5c58 0xa55b5c58 0x16298 0x16298 R E 0x8 LOAD 0x018300 0xa55cbf00 0xa55cbf00 0x00000 0x03a80 RW 0x80 LOAD 0x018300 0xa5ffac00 0xa5ffac00 0x00000 0x01400 R 0x4 LOAD 0x018300 0xa5ffc000 0xa5ffc000 0x00000 0x04000 RW 0x8 Section to Segment mapping: Segment Sections... 00 .freertosrstvectors .bootCode .startupCode .startupData .text.hwi .text.cache .text.mpu .text.boot .data_buffer .bss.devgroup* 01 .resource_table 02 .tracebuf 03 ipc_data_buffer __llvm_prf_cnts 04 .cinit 05 .bss 06 .text .const 07 .data 08 .irqStack .fiqStack .abortStack .undStack .svcStack 09 .stack
However, when booting, Linux stops here logBootIssue.txt .
So MCU2_0, MCU2_1, C66_1, C66_2 and C71 are loaded and started via U-Boot, and MCU3_0 and MCU3_1 are loaded and started via Linux. Linux Boot stops when it is trying to start MCU3_1.
When adding MCU3_0 and MCU3_1 also to the U-Boot start process I get this log: logBoot.txt
Here, Linux boots fine, but I get some error at around [ 19.124293]. Again, the application loaded on MCU3_0 and MCU3_1 are default ipc_echo_test_freertos applications.
To me it seems, that there is something broken concerning the booting of MCU3_0 and MCU3_1.
Can you please help me on that issue?
Thanks and best regards,
Felix