Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Note about installation procedures on Windows 10 64-bit #8

Open
wuwbobo2021 opened this issue Oct 14, 2024 · 0 comments
Open

Note about installation procedures on Windows 10 64-bit #8

wuwbobo2021 opened this issue Oct 14, 2024 · 0 comments

Comments

@wuwbobo2021
Copy link

Because the 64-bit Windows libjtagcore dynamic library doesn't work with pyjtagbs (I've tried it but got some "access violation" prompts), I installed the 32-bit Python 3.8 (removed the newer version of 64-bit Python from environment variables). Yes, the Python interpreter must be 32-bit to call a 32-bit DLL directly.

I extracted pyjtagbs-main.zip, cd into it, executed pip install .;

then I tried to run an example, and got this error message:

E:\pyjtagbs-main\examples>python testing_connections.py
Traceback (most recent call last):
  File "testing_connections.py", line 4, in <module>
    interface = jtagcore.JTAGCore()
  File "E:\Python38-32\lib\site-packages\jtagbs\viveris\jtagcore.py", line 70, in __init__
    self.lib = windll.LoadLibrary(
  File "E:\Python38-32\lib\ctypes\__init__.py", line 451, in LoadLibrary
    return self._dlltype(name)
  File "E:\Python38-32\lib\ctypes\__init__.py", line 363, in __init__
    if '/' in name or '\\' in name:
TypeError: argument of type 'NoneType' is not iterable

which is hard to understand by itself. Looking into the jtagcore.py:

            self.lib = windll.LoadLibrary(               
                find_library(liblocation)
            )

It probably means find_library() returns an empty list, causing the failure in windll.LoadLibrary().

I copied libjtagcore_x86.dll (which can also be found at pyjtagbs-main\jtagbs\viveris) into E:\Python38-32\Lib\site-packages\jtagbs\viveris, and that solved my problem. Is this the recommended way?

PS: It seems like you had been working on switching from libjtagcore to your own Python implementation (jtagraw.py), but haven't implemented jtag_rawrw() which is similar to jtagcore_push_and_pop_chain(). Is this crate helpful? https://docs.rs/jtag-taps/latest/jtag_taps https://github.com/PyO3/maturin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant