Associate III
March 8, 2023
Solved
No source available for "g_pfnVectors() at 0x0"
- March 8, 2023
- 5 replies
- 3955 views
Hello,
I'm trying to debug a firmware in production mode using STM32cudeIDE, but 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:
00000000: bge.n 0xffffffbabut the address 0xffffffba is not assigned to my firmware; if I go to this point I got the following message:
ffffffba: Failed to execute MI command:
-data-disassemble -s 4294967226 -e 4294967319 -- 3
Error message from debugger back end:
Cannot access memory at address 0xffffffbaHave you any suggestion on how to solve this issue??
Here the memory definition of linker script:
MEMORY
{
RETRAM_interrupts (xrw) : ORIGIN = 0x00000000, LENGTH = 0x00000298
RAM2_ipc_shm (xrw) : ORIGIN = 0x00001000, LENGTH = 0x00011000
FLASH_text (rx) : ORIGIN = 0x10000000, LENGTH = 0x00040000
RAM1_data (xrw) : ORIGIN = 0x10040000, LENGTH = 0x00020000
}and here's DT's memory reservation :
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
retram: retram@0x38000000 {
compatible = "shared-dma-pool";
reg = <0x38000000 0x10000>;
no-map;
};
mcuram: mcuram@0x30000000 {
compatible = "shared-dma-pool";
reg = <0x30000000 0x60000>;
no-map;
};
mcuram2: mcuram2@0x10000000 {
compatible = "shared-dma-pool";
reg = <0x10000000 0x60000>;
no-map;
};
vdev0vring0: vdev0vring0@00001000 {
compatible = "shared-dma-pool";
reg = <0x00001000 0x2000>;
no-map;
};
vdev0vring1: vdev0vring1@00003000 {
compatible = "shared-dma-pool";
reg = <0x00003000 0x2000>;
no-map;
};
vdev0buffer: vdev0buffer@00005000 {
compatible = "shared-dma-pool";
reg = <0x00005000 0x4000>;
no-map;
};
mcu_rsc_table: mcu_rsc_table@00009000 {
compatible = "shared-dma-pool";
reg = <0x00009000 0x8000>;
no-map;
};
};I also added a screenshot of the debugger if could be useful
Thanks for replying
Marco.
