Skip to content

Commit

Permalink
Imporoved reset function bahavior and notified PyOCD about supported …
Browse files Browse the repository at this point in the history
…features.
  • Loading branch information
Gargy007 committed Jan 29, 2021
1 parent 3d21eff commit 0b2f4e8
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions pyocd_pemicro/pemicro_probe.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ def is_open(self):

@property
def capabilities(self):
return {self.Capability.SWO}
return {self.Capability.SWO, self.Capability.MANAGED_AP_SELECTION, self.Capability.BANKED_DP_REGISTERS, self.Capability.MANAGED_DPBANKSEL}

def open(self):
try:
Expand Down Expand Up @@ -224,24 +224,27 @@ def set_clock(self, frequency):

def reset(self):
try:
# Just do read operation to flush last operation before reset
# Obviously the Flush doesn't work as excepted :-(
self.read_ap(0)
self._pemicro.flush_any_queued_data()

# If it's neccessary, change the reset delay
delay = int(1000 * max(self.session.options.get('reset.hold_time'), self.session.options.get('reset.post_delay')))
if delay is not self._reset_delay_ms:
self._pemicro.set_reset_delay_in_ms(delay)
self._reset_delay_ms = delay
# delay = int(1000 * max(self.session.options.get('reset.hold_time'), self.session.options.get('reset.post_delay')))
# if delay is not self._reset_delay_ms:
# self._pemicro.set_reset_delay_in_ms(delay)
# self._reset_delay_ms = delay

# Try to force reset Hardware
self._pemicro.reset_target()
# # Try to force reset Hardware
# self._pemicro.reset_target()

# Resume the MCU from Halt state
self._pemicro.resume_target()
#self._pemicro.resume_target()

# self.assert_reset(asserted=True)
# sleep(self.session.options.get('reset.hold_time'))
# self.assert_reset(asserted=False)
# sleep(self.session.options.get('reset.post_delay'))
self.assert_reset(asserted=True)
sleep(self.session.options.get('reset.hold_time'))
self.assert_reset(asserted=False)
sleep(self.session.options.get('reset.post_delay'))

except PEMicroException as exc:
six.raise_from(self._convert_exception(exc), exc)
Expand Down

0 comments on commit 0b2f4e8

Please sign in to comment.