Processor halt in __libc_init_array assembler function


I'm working with dual ARM Corte-A9 in FPGA Zynq7000. I have three diferents hw with same software ( .elf and same files configuration linker script ). My problem is that SW works fine only in one hw (1 of 3). In other case, the processor halt in __libc_init_array function.

- The application runs in DDR PS memory (1023 MB)

- The aplication baseaddr is 0x100000

- In linker script, the stack size is 100 MB

The content of the __libc_init_array function is:


__libc_init_array (void)

size_t count;

sixe_t i;

count = __preinit_array_end - __preinit_array_start;

for(i=0; i < count;i++)



coun = __init_array_end - __init_array_start;

for(i=0; i < count; i++)

__init_array_start[i]();    // The ARM halt here when I = 10.


Can someone help me?

How can I debug this issue?

Why only works in one HW?

Thanks a lot.



More questions in this forum