Part Number: TDA4VM
Tool/software:
Hello TI Adventurers:
Please help... I'm encountering a "Boot failed: -22" during attempts to load and run a very simple application on one of the C66x processors. Main C-code is as follows:
#pragma DATA_SECTION(obs_data, ".data")
#pragma RETAIN(obs_data)
static float obs_data[1000];
int main(void) {
int _count = 0;
while (1) {
_count++;
obs_data[_count % 1000] = _count % 1000;
}
return 0;
}
The C-code is built and linked to a very generic cmd file:
/*
* This file is derived from:
* https://git.ti.com/cgit/processor-sdk/vision_apps/tree/platform/j721e/rtos/c66x_1/linker_mem_map.cmd?h=main
* and
* https://git.ti.com/cgit/processor-sdk/vision_apps/tree/platform/j721e/rtos/c66x_1/j721e_linker_freertos.cmd?h=main
*/
-stack 0x2000 /* SOFTWARE STACK SIZE */
-heap 0x1000 /* HEAP AREA SIZE */
--symbol_map _Hwi_intcVectorTable=Hwi_intcVectorTable
MEMORY
{
/* L2 for C66x_1 [ size 224.00 KB ] */
L2RAM_C66x_1 ( RWIX ) : ORIGIN = 0x00800000 , LENGTH = 0x00038000
/* DDR for C66x_1 for Linux resource table [ size 1024 B ] */
DDR_C66x_1_RESOURCE_TABLE ( RWIX ) : ORIGIN = 0xA6100000 , LENGTH = 0x00001000
/* DDR for C66x_1 for boot section [ size 1024 B ] */
DDR_C66x_1_BOOT ( RWIX ) : ORIGIN = 0xA6200000 , LENGTH = 0x00000400
/* DDR for C66x_1 for code/data [ size 14.00 MB ] */
DDR_C66x_1 ( RWIX ) : ORIGIN = 0xA6201000 , LENGTH = 0x00DFFC00
/* DDR for C66x_1 for Linux IPC [ size 1024.00 KB ] */
DDR_C66x_1_DMA ( RWIX ) : ORIGIN = 0xA6000000 , LENGTH = 0x00100000
/* Memory for IPC Vring's. MUST be non-cached or cache-coherent [ size 32.00 MB ] */
IPC_VRING_MEM : ORIGIN = 0xAA000000 , LENGTH = 0x02000000
/* Memory for remote core logging [ size 256.00 KB ] */
APP_LOG_MEM : ORIGIN = 0xAC000000 , LENGTH = 0x00040000
/* Memory for TI OpenVX shared memory. MUST be non-cached or cache-coherent [ size 63.75 MB ] */
TIOVX_OBJ_DESC_MEM : ORIGIN = 0xAC040000 , LENGTH = 0x03FC0000
/* Memory for remote core file operations [ size 4.00 MB ] */
APP_FILEIO_MEM : ORIGIN = 0xB0000000 , LENGTH = 0x00400000
/* Memory for shared memory buffers in DDR [ size 512.00 MB ] */
DDR_SHARED_MEM : ORIGIN = 0xB8000000 , LENGTH = 0x20000000
/* DDR for c66x_1 for local heap [ size 16.00 MB ] */
DDR_C66X_1_LOCAL_HEAP ( RWIX ) : ORIGIN = 0xDC000000 , LENGTH = 0x01000000
/* DDR for c66x_1 for Scratch Memory [ size 48.00 MB ] */
DDR_C66X_1_SCRATCH ( RWIX ) : ORIGIN = 0xDD000000 , LENGTH = 0x03000000
}
SECTIONS
{
.text:csl_entry:{} > DDR_C66x_1
.text:_c_int00 load > DDR_C66x_1 ALIGN(0x400)
.text: > DDR_C66x_1
.stack: > DDR_C66x_1
.const: > DDR_C66x_1
.data: > DDR_C66x_1
}
The A72 running Debian version 5.10.168-ti-arm64-r118 reports the following:
[ 1988.711638] remoteproc remoteproc12: powering up 4d80800000.dsp
[ 1988.711919] remoteproc remoteproc12: Booting fw image dsp12, size 48448
[ 1988.712618] remoteproc remoteproc12: Boot failed: -22
Would someone please help me understand what's going wrong?