cancel
Showing results for 
Search instead for 
Did you mean: 

No source available for "g_pfnVectors() at 0x0"

jutoroa
Associate II

Hello,

I'm trying to debug a firmware in production mode using STM32cudeIDE, running on the cortex M4 on the stm32MP157F. When debugger starts it seems g_pfnVectors isn't properly created. When I stops debugger and view the dissambled code I found that it always points on the first line:

No source available for "g_pfnVectors() at 0x0"

Also, I had changed the linker script to be able to allocated more memory for the SDRAM using both memory regions available (at 0x10000000 and 0x30000000):

MEMORY
{
RETRAM_interrupts (xrw) : ORIGIN = 0x00000000, LENGTH = 0x00000600
SRAM1_text (xrw) : ORIGIN = 0x10000000, LENGTH = 256K
SRAM2_data (xrw) : ORIGIN = 0x30020000, LENGTH = 200K
SRAM3_ipc_shm (xrw) : ORIGIN = 0x10040000, LENGTH = 64K
SRAM4 (xrw) : ORIGIN = 0x10050000, LENGTH = 64K
}

Also, here is my definition for the DT's memory reservation :

Spoiler
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
 
/* USER CODE BEGIN reserved-memory */
 
mcuram2:mcuram2@10000000{
compatible = "shared-dma-pool";
reg = <0x10000000 0x40000>;
no-map;
};
 
vdev0vring0:vdev0vring0@10040000{
compatible = "shared-dma-pool";
reg = <0x10040000 0x1000>;
no-map;
};
 
vdev0vring1:vdev0vring1@10041000{
compatible = "shared-dma-pool";
reg = <0x10041000 0x1000>;
no-map;
};
 
vdev0buffer:vdev0buffer@10042000{
compatible = "shared-dma-pool";
reg = <0x10042000 0x4000>;
no-map;
};
 
mcu_rsc_table:mcu_rsc_table@10048000{
compatible = "shared-dma-pool";
reg = <0x10048000 0x8000>;
no-map;
};
 
mcuram:mcuram@30000000{
compatible = "shared-dma-pool";
reg = <0x30000000 0x40000>;
no-map;
};
 
retram:retram@38000000{
compatible = "shared-dma-pool";
reg = <0x38000000 0x10000>;
no-map;
};
 
gpu_reserved:gpu@d4000000{
reg = <0xd4000000 0x4000000>;
no-map;
};
 
optee@de000000{
reg = <0xde000000 0x2000000>;
no-map;
};
/* USER CODE END reserved-memory */
};

It could be that I am overflowing the memory space destined for the sram data?

Also, here is my definition for the remoproc DT:

Spoiler
&m4_rproc{
/*Restriction: "memory-region" property is not managed - please to use User-Section if needed*/
mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
mbox-names = "vq0", "vq1", "shutdown";
status = "okay";
 
/* USER CODE BEGIN m4_rproc */
memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
<&vdev0vring1>, <&vdev0buffer>, <&mcu_rsc_table>;
interrupt-parent = <&exti>;
interrupts = <68 1>;
wakeup-source;
/* USER CODE END m4_rproc */
 
m4_system_resources{
status = "okay";
 
/* USER CODE BEGIN m4_system_resources */
/* USER CODE END m4_system_resources */
};
};

Thank you very much for replying.

Juan.

 

 

0 REPLIES 0