OpenCores
no use no use 1/1 no use no use
Debuggin or1200 error
by whitedaemon on Apr 24, 2012
whitedaemon
Posts: 2
Joined: Mar 22, 2010
Last seen: Feb 26, 2021
Hello, my name is jonathan and this is my first post.

I implemented orpsoc on Atlys board and I have incorporated advanced debug interface, when I try to debug, I get:

Test mode:

IDCODE sanity test passed, chain OK!
*** Doing self-test ***
Stall or1k - CPU(s) stalled.
SRAM test:
expected 11112222, read 11112222
expected 33334444, read 33334444
expected 55556666, read 55556666
expected 77778888, read 77778888
expected 9999aaaa, read 9999aaaa
expected bbbbcccc, read bbbbcccc
expected ddddeeee, read ddddeeee
expected ffff0000, read ffff0000
expected dedababa, read dedababa
SRAM test passed
Testing CPU0 (or1k) - writing instructions
Setting up CPU0
Starting CPU0!
Read npc = 00000010 ppc = 00000028 r1 = 00000005
Expected npc = 00000010 ppc = 00000028 r1 = 00000005
Read npc = 00000028 ppc = 00000028 r1 = 00000008
Expected npc = 00000010 ppc = 00000028 r1 = 00000008
Read npc = 00000024 ppc = 00000020 r1 = 0000000b
Expected npc = 00000028 ppc = 00000024 r1 = 0000000b
Read npc = 00000020 ppc = 00000020 r1 = 00000018
Expected npc = 00000024 ppc = 00000020 r1 = 00000018
Read npc = 0000001c ppc = 00000018 r1 = 00000031
Expected npc = 00000020 ppc = 0000001c r1 = 00000031
Read npc = 00000020 ppc = 0000001c r1 = 00000032
Expected npc = 00000024 ppc = 00000020 r1 = 00000032
Read npc = 00000010 ppc = 00000028 r1 = 00000063
Expected npc = 00000014 ppc = 00000010 r1 = 00000063
Read npc = 00000010 ppc = 00000028 r1 = 00000063
Expected npc = 00000028 ppc = 00000024 r1 = 00000065
Read npc = 00000010 ppc = 00000028 r1 = 00000094
Expected npc = 00000010 ppc = 00000028 r1 = 000000c9
result = deaddef0
Self-test FAILED *** Bailing out!


I read that it is Ok. But when I skip -t option and try to debug:




(gdb) target remote :9999
Remote debugging using :9999
0x00000024 in ?? ()
(gdb) file led
led.bin led.c led.exe led_debug.elf led_final.bin
(gdb) file led_debug.elf
A program is being debugged already.
Are you sure you want to change the file? (y o n) y
Leyendo símbolos desde /home/jonathan/Master/Proyecto/programas/led_debug.elf...hecho.
(gdb) load
Loading section .vectors, size 0x2000 lma 0x0
Conexión remota cerrada



Devices on JTAG chain:
Index Name ID Code IR Length
----------------------------------------------------------------
0: XC6SLX45 0x34008093 6

Target device 0, JTAG ID = 0x34008093
Xilinx IDCODE, assuming internal BSCAN mode
(using USER1 instead of DEBUG TAP command)
IDCODE sanity test passed, chain OK!
No watchpoint hardware found, HWP server not starting
JTAG bridge ready!
ERROR! WB bus error during burst write, address 0x400 (index 0x400), retrying!
CRC ERROR! match bit after write is 0 (computed CRC 0x3f047490)Retry count exceeded! Abort!

Can anyone help me?

Sorry I can't write english very well. Thank you in advance!
RE: Debuggin or1200 error
by afr1g11 on Apr 25, 2012
afr1g11
Posts: 31
Joined: Oct 12, 2011
Last seen: Jun 28, 2013
These are the same errors that I'm currently getting when I try to load linux onto orsoc ... I've contacted the guy who ported orsoc to de2-115 and he's confirmed that he's re-built orsoc from scratch and is now having the same problems which was not the case when he had first ported orsoc.

The possible cause could be the latest release of or1200 rtl ... release 3, i think ... that has some known bugs in the debug interface ... if you've checked out the latest release from repository, then the self-test failure is expected as well as the CRC errors you're getting ...

A possible remedy could be to use the previous releases of or1200 along with GDB 6.8 ... I didn't have the time to try them myself so I wouldn't know if this actually solves the problem or not ...

Do let me know whether reverting to the previous releases of or1200 solves the issue or not.

Regards,
AR

RE: Debuggin or1200 error
by nyawn on Apr 26, 2012
nyawn
Posts: 173
Joined: Dec 19, 2008
Last seen: May 31, 2023
The error during the self-test is a known bug in the OR1200v3 CPU. I believe it is related to using hardware single-step near branch instructions. I characterized it a while ago, but I've never heard any of the maintainers make a move to fix it. Maybe the or_debug_proxy works around it in software somehow, I haven't had the time to investigate.
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.