diff --git a/doc/configuration.rst b/doc/configuration.rst index 650c5157b..b4a2ec73c 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -2616,6 +2616,7 @@ Implements: RKUSBDriver: image: 'mybootloaderkey' usb_loader: 'myloaderkey' + offset: 0x100 images: mybootloaderkey: 'path/to/mybootloader.img' @@ -2626,6 +2627,8 @@ Arguments: of an image to bootstrap onto the target - usb_loader (str): optional, key in :ref:`images ` containing the path of a first-stage bootloader image to write + - offset (int): optional, offset (in multiples of 512 bytes) at which the image passed as argument + should be written. If missing, 0x40 is assumed UUUDriver ~~~~~~~~~ diff --git a/labgrid/driver/usbloader.py b/labgrid/driver/usbloader.py index 94d24cb95..7b1d73f34 100644 --- a/labgrid/driver/usbloader.py +++ b/labgrid/driver/usbloader.py @@ -94,6 +94,7 @@ class RKUSBDriver(Driver, BootstrapProtocol): image = attr.ib(default=None) usb_loader = attr.ib(default=None) + offset = attr.ib(default=0x40) def __attrs_post_init__(self): super().__attrs_post_init__() @@ -140,7 +141,7 @@ def load(self, filename=None): try: processwrapper.check_output( self.loader.command_prefix + - [self.tool, 'wl', '0x40', mf.get_remote_path()], + [self.tool, 'wl', hex(int(self.offset)), mf.get_remote_path()], print_on_silent_log=True ) break