Skip to main content

Tool to bootstrap the flashing on MediaTek Genio SoCs

Project description

Genio Bootrom

genio-bootrom is a Python wrapper around a proprietary binary executable. It allows developers to transfer a given binary payload to a Genio SoC via a USB virtual serial port. The binary payload is usually a download agent that bootstraps the board and then enables flash storage programming.

The download agent binaries can be different for each SoC or board, and are not included in this module.

Installation

You can install the package from PyPI:

pip install genio-bootrom

In most workflows, genio-bootrom is used as part of the genio-tools package:

pip install genio-tools

Usage

This module can be launched directly as a command-line tool, or imported as a Python module. For example, the following command sends the payload bl2.bin to the connected Genio SoC:

genio-bootrom -a 0x201000 -m aarch64 -b bl2.bin

The following arguments are available:

  • -b <path-to-binary>: Assign the path to the binary payload to transfer to the Genio SoC. Default value: ./lk.bin.
  • -a <bootstrap-addr-hex>: Set the hexadecimal bootstrapping address of the payload. Default is 0x0, which automatically detects the SoC bootstrapping address.
  • -m <arch>: <arch> should be aarch64 or aarch32. This assigns the instruction set used in the binary payload. Defaults to aarch64.
  • -l: List all detected USB download port device IDs from Genio SoCs. Windows only.
  • -d <device-id>: Assign the USB download port device ID if there are multiple download port devices. Windows only.

This module is designed to be part of the Genio Tools package. Please refer to the IoT Yocto Develop Guide for more detailed usage and workflow examples.

Release Notes

Version 1.2

Released on 2025/12/29, version 1.2 provides the following updates:

  1. Support for Genio 520 and Genio 720 SoCs.

  2. (Windows only) Added two arguments to enable multiple device enumeration and selection:

    • -l to list all matching Boot ROM USB serial devices with device IDs.
    • -d to select which USB download port to connect to using the device ID.
  3. Fixed a genio-flash error when using the -P argument to assign an image directory.

  4. Print logs to STDOUT unbuffered to address out-of-order logs when launching from another process.

Version 1.1.12

Version 1.1.12 adds support for Python 3.12.

Version 1.1

Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genio_bootrom-1.2.3-py3-none-any.whl (94.1 kB view details)

Uploaded Python 3

File details

Details for the file genio_bootrom-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: genio_bootrom-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 94.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for genio_bootrom-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 de1e8bad86699c3298f52eb64018d7a3152fb9b01803a2d84a322ff059956a1a
MD5 caf8c1ae6054266180deb43253c97df8
BLAKE2b-256 de2e8f70d4a5d54d22a4afdfe3ebb8b1b19c9dad14b1df807f31f1fb06d8b1ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page