mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
modules/flash: Add a connect
parameter to the flash method
Adds a `connect` parameter to the flash method to specifiy whether devlib should attempt to connect to the target after flashing has completed.
This commit is contained in:
parent
6c9f80ff76
commit
745dc9499a
@ -91,7 +91,7 @@ class FlashModule(Module):
|
||||
|
||||
kind = 'flash'
|
||||
|
||||
def __call__(self, image_bundle=None, images=None, boot_config=None):
|
||||
def __call__(self, image_bundle=None, images=None, boot_config=None, connect=True):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
||||
|
@ -54,7 +54,7 @@ class FastbootFlashModule(FlashModule):
|
||||
def probe(target):
|
||||
return target.os == 'android'
|
||||
|
||||
def __call__(self, image_bundle=None, images=None, bootargs=None):
|
||||
def __call__(self, image_bundle=None, images=None, bootargs=None, connect=True):
|
||||
if bootargs:
|
||||
raise ValueError('{} does not support boot configuration'.format(self.name))
|
||||
self.prelude_done = False
|
||||
@ -67,7 +67,8 @@ class FastbootFlashModule(FlashModule):
|
||||
self.logger.debug('flashing {}'.format(partition))
|
||||
self._flash_image(self.target, partition, expand_path(image_path))
|
||||
fastboot_command('reboot')
|
||||
self.target.connect(timeout=180)
|
||||
if connect:
|
||||
self.target.connect(timeout=180)
|
||||
|
||||
def _validate_image_bundle(self, image_bundle):
|
||||
if not tarfile.is_tarfile(image_bundle):
|
||||
|
@ -325,7 +325,7 @@ class VersatileExpressFlashModule(FlashModule):
|
||||
self.timeout = timeout
|
||||
self.short_delay = short_delay
|
||||
|
||||
def __call__(self, image_bundle=None, images=None, bootargs=None):
|
||||
def __call__(self, image_bundle=None, images=None, bootargs=None, connect=True):
|
||||
self.target.hard_reset()
|
||||
with open_serial_connection(port=self.target.platform.serial_port,
|
||||
baudrate=self.target.platform.baudrate,
|
||||
@ -346,7 +346,8 @@ class VersatileExpressFlashModule(FlashModule):
|
||||
msg = 'Could not deploy images to {}; got: {}'
|
||||
raise TargetStableError(msg.format(self.vemsd_mount, e))
|
||||
self.target.boot()
|
||||
self.target.connect(timeout=30)
|
||||
if connect:
|
||||
self.target.connect(timeout=30)
|
||||
|
||||
def _deploy_image_bundle(self, bundle):
|
||||
self.logger.debug('Validating {}'.format(bundle))
|
||||
|
@ -322,7 +322,7 @@ FlashModule
|
||||
|
||||
"flash"
|
||||
|
||||
.. method:: __call__(image_bundle=None, images=None, boot_config=None)
|
||||
.. method:: __call__(image_bundle=None, images=None, boot_config=None, connect=True)
|
||||
|
||||
Must be implemented by derived classes.
|
||||
|
||||
@ -338,6 +338,7 @@ FlashModule
|
||||
:param boot_config: Some platforms require specifying boot arguments at the
|
||||
time of flashing the images, rather than during each
|
||||
reboot. For other platforms, this will be ignored.
|
||||
:connect: Specifiy whether to try and connect to the target after flashing.
|
||||
|
||||
|
||||
Module Registration
|
||||
|
Loading…
x
Reference in New Issue
Block a user