Ehud Eliav

HS2 - JTAG SDK usage.

Recommended Posts

Dear Jon

I have received the HS2 cable, im trying use the SDK by using the DJTG and DMRG libraries .

My project is to connect the HS2 JTAG pins to our chip (its a read chip , not GPGA)

The adept2 recognized the HS2 cable.

I have installed the following: System, Utilities and SDK .

Im using Visual studio 2015 to execute the SDK code example.

The Build (Visual studio) was completed without any error .

Now im receiving the following errors in visual studio while executing:

---------------------------------------------------------------------------------------------------------------------------------

'ConsoleApplication1.exe' (Win32): Loaded 'C:\Users\eeliavx\Documents\Visual Studio 2015\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\djtg.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dmgr.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\dmgr.dll'
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ucrtbased.dll'
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dpcomm.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\dpcomm.dll'
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9317_none_508dca76bcbcfe81\msvcr90.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dmgr.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dpcomm.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dabs.dll'. Module was built without symbols.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Symbols loaded.
The thread 0x9db8 has exited with code 1 (0x1).
The thread 0x661c has exited with code 1 (0x1).
The thread 0x89b4 has exited with code 1 (0x1).
The program '[40600] ConsoleApplication1.exe' has exited with code 1 (0x1).

---------------------------------------------------------------------------------------------------------------------------------

I assume im not sending the expected arguments to the program in visual studio?

can you advise what are the next steps i shall do in order to toggle the JTAG IO pins (TMS,TDO,TDI...)?

any specific document?

Regards

Ehud Eliav

Edited by Ehud Eliav

Share this post


Link to post
Share on other sites

Hi @Ehud Eliav,

Have you used the DJTG and DMRG  SDK examples provided?  Are you using a win 32 application with a win 64 bit architecture? Did you add the additional dependencies for each of the libraries as shown in the "Building an Adept SDK Project in Visual Studio" PDF?

thank you,

Jon

Share this post


Link to post
Share on other sites

Hi Jon

pls. find my answers below:

Have you used the DJTG and DMRG  SDK examples provided? 

[Ehud]yes,  I followed the instructions "Building an Adept SDK Project in Visual Studio.pdf " doc, shall i look into additional documents (Like programmer's reference)?

Are you using a win 32 application with a win 64 bit architecture?

[Ehud] my operating system  is 64 bit ,so yes.

Did you add the additional dependencies for each of the libraries as shown in the "Building an Adept SDK Project in Visual Studio" PDF?

[Ehud] yes i did

In addition - i think the DjtgDemo.cpp file is expecting to receive parameters ,  i didnt find the document describing what shall i send ...

copy from the DjtgDemo.cpp ->"int main(int cszArg, char* rgszArg[]) {"

running step by step... the program exit at the /* Command checking */ section ....

Regards and Thanks 

Ehud 

 

Edited by Ehud Eliav

Share this post


Link to post
Share on other sites

Hi @Ehud Eliav,

Sorry for the confusion on my first question. I was wondering if you were able to run the sample demos provided for each library?

Here:    \ digilent.adept.sdk_v2.4.2\samples\djtg\DjtgDemo and here:    \digilent.adept.sdk_v2.4.2\samples\dmgr\EnumDemo or Here:  \digilent.adept.sdk_v2.4.2\samples\dmgr\GetInfoDemo

What fpga are you trying to connect to through the JTAG-HS2?

thank you,

Jon

Share this post


Link to post
Share on other sites

Thanks Jon

Regarding your question: Im connecting the HS2 to our own chip (real silicon chip that has JTAG interface) its not FPGA.

but for the first setup, to understand how to use the API functions the HS2 is only connected to oscilloscope (i can watch the JTAG signals to verify the TDO, TMS are toggling...) he is not connected to any device, 

additional question :The "VDD " pin is voltage supplied by the HS2 outside? i measure there zero volts...

Ehud

Edited by Ehud Eliav

Share this post


Link to post
Share on other sites

Hi @Ehud Eliav,

In the reference manual for the JTAG-HS2 is states:

The PC powers the JTAG-HS2 through the USB port and will recognize it as a Digilent programming cable when connected to a PC, even if the cable is not attached to the target board. The HS2 has a separate Vdd pin to supply the JTAG signal buffers. The high speed 24mA three-state buffers allow target boards to drive the HS2 with signal voltages from 1.8V to 5V and bus speeds of up to 30MBit/sec. To function correctly the HS2’s Vdd pin must be tied to the same voltage supply that drives the JTAG port on the target board.

thank you,

Jon

Share this post


Link to post
Share on other sites

Hi Jon

thanks for your support!

i have managed to drive the JTAG pins.

1. Can you recommend on Digilent component that has JTAG interface so i will be able to connect it to the HS2 to verify communication with my script?

2.Do you know of a guidance how to wrap the Digilent SDK environment with Python ? (i have a Python based test environment and would like to integrate the API into it)

Ehud

 

 

 

 

 

 

 

Edited by Ehud Eliav

Share this post


Link to post
Share on other sites

Hi @Ehud Eliav,

All of our Adept 2 SDK libraries and examples are in C++. I am pretty sure you can port the libraries to work with python. I would look at the Waveforms SDK here as a starting point as Waveforms uses the Adept 2 SDK API and I believe they have some ported over python libraries. Unfortunately, we currently do not have the bandwidth to port the Adept 2 SDK libraries and examples to Python.  Since JTAG is an establish and set protocol I would suggest to use a verified board that has the same JTAG setup that you are using on your custom board.

cheers,

Jon

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now