UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer sberner66
Observer
646 Views
Registered: ‎10-06-2018

Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

Trying to run

int main()
{
    init_platform();
    
    print("Hello World from r5_0\n\r");

    cleanup_platform();
    return 0;
}

and

int main()
{
    init_platform();
sleep(1);  
    print("Hello World from r5_1\n\r");

    cleanup_platform();
    return 0;
}

on both r5 cores via JTAG from SDK, but only get output from r0.

The same experiment works with multiple a53 cores although the output is inconsistent, means if I load "hello world" with different messages on a53_0 and a53_1 I get two times the message of a53_1 (??)

I am also unsuccessful running the second r5 core with remoteproc from linux. Can only run the first core.

What do I miss ?

0 Kudos
1 Solution

Accepted Solutions
Observer sberner66
Observer
491 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

This was a silly problem, both cores were using the same memory.

Need to edit the linker script, can't simply create hello world for r5_0 and r5_1 and run them.

0 Kudos
6 Replies
Observer sberner66
Observer
607 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

test

0 Kudos
Observer sberner66
Observer
522 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

When running the two "hello world" programs on the debugger, r5_0 works normally while r5_1 fails in boot.S. At line 261, ldr r1, [r0], is jumps to the section below, at 0xffffxxxx. This doesn't make any sense because at line 261 there is no jump statement. Seems to me the binary is corrupted or the processor is malfunctioning. Tried on two different ZCU104 boards, same result.

257 isb
258 #if LOCKSTEP_MODE_DEBUG == 0
259 /* enable fault log for lock step */
000001e4: isb sy
260 ldr r0,=RPU_GLBL_CNTL
000001e8: ldr r0, [pc, #+204]
261 ldr r1, [r0]
000001ec: ldr r1, [r0]
262 ands r1, r1, #0x8
263 /* branch to initialization if split mode*/
000001f0: ands r1, r1, #8
264 bne init
265 /* check for boot mode if in lock step, branch to init if JTAG boot mode*/
000001f4: bne +64 ; addr=0x0000023c: init
266 ldr r0,=BOOT_MODE_USER
000001f8: ldr r0, [pc, #+192]
267 ldr r1, [r0]


ffff0010: cdple p14, 10, c11, c13, c15, 7
ffff0014: cdple p14, 10, c11, c13, c15, 7
ffff0018: cdple p14, 10, c11, c13, c15, 7
ffff001c: cdple p14, 10, c11, c13, c15, 7
ffff0020: cdple p14, 10, c11, c13, c15, 7
ffff0024: cdple p14, 10, c11, c13, c15, 7
ffff0028: cdple p14, 10, c11, c13, c15, 7
ffff002c: cdple p14, 10, c11, c13, c15, 7
ffff0030: cdple p14, 10, c11, c13, c15, 7
ffff0034: cdple p14, 10, c11, c13, c15, 7
ffff0038: cdple p14, 10, c11, c13, c15, 7
ffff003c: cdple p14, 10, c11, c13, c15, 7
ffff0040: cdple p14, 10, c11, c13, c15, 7
ffff0044: cdple p14, 10, c11, c13, c15, 7

 

0 Kudos
Highlighted
Observer sberner66
Observer
581 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution
When running the two "hello world" programs on the debugger, r5_0 works normally while r5_1 fails in boot.S. At line 261, ldr r1, [r0], is jumps to the section below, at 0xffffxxxx. This doesn't make any sense because at line 261 there is no jump statement. Seems to me the binary is corrupted or the processor is malfunctioning. Tried on two different ZCU104 boards, same result.

257 isb
258 #if LOCKSTEP_MODE_DEBUG == 0
259 /* enable fault log for lock step */
000001e4: isb sy
260 ldr r0,=RPU_GLBL_CNTL
000001e8: ldr r0, [pc, #+204]
261 ldr r1, [r0]
000001ec: ldr r1, [r0]
262 ands r1, r1, #0x8
263 /* branch to initialization if split mode*/
000001f0: ands r1, r1, #8
264 bne init
265 /* check for boot mode if in lock step, branch to init if JTAG boot mode*/
000001f4: bne +64 ; addr=0x0000023c: init
266 ldr r0,=BOOT_MODE_USER
000001f8: ldr r0, [pc, #+192]
267 ldr r1, [r0]


ffff0010: cdple p14, 10, c11, c13, c15, 7
ffff0014: cdple p14, 10, c11, c13, c15, 7
ffff0018: cdple p14, 10, c11, c13, c15, 7
ffff001c: cdple p14, 10, c11, c13, c15, 7
ffff0020: cdple p14, 10, c11, c13, c15, 7
ffff0024: cdple p14, 10, c11, c13, c15, 7
ffff0028: cdple p14, 10, c11, c13, c15, 7
ffff002c: cdple p14, 10, c11, c13, c15, 7
ffff0030: cdple p14, 10, c11, c13, c15, 7
ffff0034: cdple p14, 10, c11, c13, c15, 7
ffff0038: cdple p14, 10, c11, c13, c15, 7
ffff003c: cdple p14, 10, c11, c13, c15, 7
ffff0040: cdple p14, 10, c11, c13, c15, 7
ffff0044: cdple p14, 10, c11, c13, c15, 7

0 Kudos
Observer sberner66
Observer
560 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

Can it be an interrupt ?

Interrupts are supposed to be disabled ?

0 Kudos
Observer sberner66
Observer
556 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

The control and status register of r5_1, CPSR, indicates that the CPU is in abort mode after the incident,

Hex: 000001d7, Dec: 471, Oct: 0727
Bin: 0000,0000,0000,0000,0000,0001,1101,0111
Size: 4 bytes, readable, writable

The 5 LSBs indicate abort mode.

 

0 Kudos
Observer sberner66
Observer
492 Views
Registered: ‎10-06-2018

Re: Unable to run "hello world" on both r5 cores on ZCU104 with SDK 2018.3

Jump to solution

This was a silly problem, both cores were using the same memory.

Need to edit the linker script, can't simply create hello world for r5_0 and r5_1 and run them.

0 Kudos