github.com/usbarmory/armory-boot@v0.0.0-20240307133412-208c66a380b9/cmd/armory-boot-usb/README.md (about)

     1  Introduction
     2  ============
     3  
     4  This tool implements a minimal set of the Serial Download Protocol (SDP), used
     5  on NXP i.MX SoC application processors, to load an executable image over USB.
     6  
     7  The tool is aimed at [USB armory Mk II](https://github.com/usbarmory/usbarmory/wiki) users but should work
     8  with all SoCs from the i.MX series capable of USB HID based SDP (only tested
     9  devices are listed as supported, Pull Requests are welcome to expand this set).
    10  
    11  The [mfgtools](https://github.com/NXPmicro/mfgtools) and
    12  [imx_usb_loader](https://github.com/boundarydevices/imx_usb_loader) projects
    13  also implement similar functionality.
    14  
    15  Serial Download Protocol
    16  ========================
    17  
    18  The `armory-boot-usb` command line utility allows to load an imx executable
    19  through USB using [SDP](https://github.com/usbarmory/usbarmory/wiki/Boot-Modes-(Mk-II)#serial-download-protocol-sdp),
    20  useful for testing or initial provisioning purposes.
    21  
    22  You can automatically download, compile and install the utility, under your
    23  GOPATH, as follows:
    24  
    25  ```
    26  go install github.com/usbarmory/armory-boot/cmd/armory-boot-usb@latest
    27  ```
    28  
    29  Alternatively you can manually compile it from source:
    30  
    31  ```
    32  git clone https://github.com/usbarmory/armory-boot
    33  cd armory-boot && make armory-boot-usb
    34  ```
    35  
    36  The utility can be cross compiled for Windows as follows:
    37  
    38  ```
    39  make armory-boot-usb.exe
    40  ```
    41  
    42  Pre-compiled binaries for Linux and Windows are released
    43  [here](https://github.com/usbarmory/armory-boot/releases).
    44  
    45  The utility is meant to be used on devices running in
    46  [USB SDP mode](https://github.com/usbarmory/usbarmory/wiki/Boot-Modes-(Mk-II)):
    47  
    48  ```
    49  sudo armory-boot-usb -i armory-boot.imx
    50  found device 15a2:0080 Freescale SemiConductor Inc  SE Blank 6ULL
    51  parsing armory-boot.imx
    52  loading DCD at 0x00910000 (952 bytes)
    53  loading imx to 0x9000f400 (2182144 bytes)
    54  jumping to 0x9000f400
    55  serial download complete
    56  ```
    57  
    58  Authors
    59  =======
    60  
    61  Andrea Barisani  
    62  andrea.barisani@withsecure.com | andrea@inversepath.com  
    63  
    64  License
    65  =======
    66  
    67  armory-boot | https://github.com/usbarmory/armory-boot  
    68  Copyright (c) WithSecure Corporation
    69  
    70  These source files are distributed under the BSD-style license found in the
    71  [LICENSE](https://github.com/usbarmory/armory-boot/blob/master/LICENSE) file.