pyocd / pyOCD

Open source Python library for programming and debugging Arm Cortex-M microcontrollers
https://pyocd.io
Apache License 2.0
1.11k stars 477 forks source link

[0.27] 'JLinkProbe' object has no attribute '_lock' #911

Closed JuergenHaug closed 4 years ago

JuergenHaug commented 4 years ago

Using version 0.27 and JLink, session.open() throws the error below. The previous version was working fine for me.

with ConnectHelper.session_with_chosen_probe() as session:

Traceback (most recent call last):
  -truncated-
  File "C:\xxx\pycharm\lib\site-packages\pyocd\core\session.py", line 302, in __enter__
    self.open()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\core\session.py", line 420, in open
    self._board.init()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\board\board.py", line 85, in init
    self.target.init()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\core\coresight_target.py", line 160, in init
    seq.invoke()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\utility\sequencer.py", line 213, in invoke
    resultSequence.invoke()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\utility\sequencer.py", line 208, in invoke
    resultSequence = call()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\coresight\dap.py", line 359, in power_up_debug
    self.write_reg(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ | MASKLANE | TRNNORMAL)
  File "C:\xxx\pycharm\lib\site-packages\pyocd\coresight\dap.py", line 348, in write_reg
    self.write_dp(addr, data)
  File "C:\xxx\pycharm\lib\site-packages\pyocd\coresight\dap.py", line 528, in write_dp
    did_lock = self._set_dpbanksel(addr, True)
  File "C:\xxx\pycharm\lib\site-packages\pyocd\coresight\dap.py", line 480, in _set_dpbanksel
    self.lock()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\coresight\dap.py", line 252, in lock
    self.probe.lock()
  File "C:\xxx\pycharm\lib\site-packages\pyocd\probe\debug_probe.py", line 173, in lock
    self._lock.acquire()
AttributeError: 'JLinkProbe' object has no attribute '_lock'
flit commented 4 years ago

Thanks for the report! I'll try to get a fix out soon.