OpenCores
First Prev 2/2 no use no use
RE: adv_jtag_brigde problem with minsoc
by stoytchostoev on Mar 26, 2012
stoytchostoev
Posts: 12
Joined: Oct 18, 2009
Last seen: Apr 3, 2012
Hi Raul,

Thank you for your help.

The problem I had was very trivial ( as probably most of the problems, when realized, are )
I have an additional oscillator running on 66MHz on IC16 8pin DIP socket ( comes as default, I have a Spartan 3E board made by Diligent ). Ones removed I it and left the board running on 50MHz, was able to pass the previous problem.

Now, just running the self test I get an issue below ( this seems to be described in FAQ as problem with running adv_jtag_bridge on x64 arch ).
Not in a self test, am currently getting:

`/opt/gdb_stable/bin/or32-elf-gdb uart.or32`
...
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=or32-elf"...
(gdb) target remote :9999
Remote debugging using :9999
0x00000024 in ?? ()
(gdb)

I will have to compile for x86, in order to isolate if this is an issues with the arch.

( the self test):

`adv_jtag_bridge -t -b. -x3 xpc_usb`

Found Xilinx Platform Cable USB (DLC9)
Found Xilinx Platform Cable USB (DLC9)
XPC USB driver opening cable
firmware version = 0x044C (1100)
cable CPLD version = 0x0012 (18)
Enumerating JTAG chain...

Devices on JTAG chain:
Index Name ID Code IR Length
----------------------------------------------------------------
0: xc2c64a_vq44 0x06E5E093 8
1: XCF04S 0xF5046093 8
2: XCF04S 0xF5046093 8
3: XC3S1600E_FG320 0x21C3A093 6

Target device 3, JTAG ID = 0x21c3a093
Xilinx IDCODE, assuming internal BSCAN mode
(using USER1 instead of DEBUG TAP command)
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!

Regards,

Stoev
RE: adv_jtag_brigde problem with minsoc
by stoytchostoev on Mar 26, 2012
stoytchostoev
Posts: 12
Joined: Oct 18, 2009
Last seen: Apr 3, 2012
Hi,

adv_jtag_bridge is not passing the self test on 32bit arch:
...
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!
RE: adv_jtag_brigde problem with minsoc
by rfajardo on Mar 26, 2012
rfajardo
Posts: 306
Joined: Jun 12, 2008
Last seen: Jan 6, 2020
Hi stoytchostoev,

congratulations, your system already seems to be running correctly.

For the development version, it is expected for the self-test to fail exactly as you described. The reason is that minsoc-dev uses the latest processor code for which the self-test is known to fail.
http://www.minsoc.com/advanced_jtag_bridge_faq#adv_jtag_bridge_self_test_fails (known issues)

I basically told you to use minsoc-dev because the adv_jtag_bridge's driver for your cable has been updated recently and did not make into minsoc-1.0. It was basically extremely slow in the past leading to other problems:
http://www.minsoc.com/advanced_jtag_bridge_faq#adv_jtag_bridge_does_not_connect_to_xpc_usb_why
http://www.minsoc.com/advanced_jtag_bridge_faq#adv_jtag_bridge_ignoring_packet_error_continuing_problem

However, for the best debugging experience, it would suffice if you use minsoc-1.0 and simply download and compile the latest adv_jtag_bridge yourself.

After completing installation os minsoc-1.0 you can proceed like this:
cd minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge
svn update
make
make install

Good luck!
Raul
First Prev 2/2 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.