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.1-py3-none-any.whl (74.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for genio_bootrom-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d0b8043757b16fd00bec889f1a7579c066530e0fdc0b1dd7a3f59d5b9b0c0e9
MD5 0293b922b189ca149cf5995f1e9ca685
BLAKE2b-256 85aa680d101cf14d2d92c5163d40b4379d9e8fdcc06644e6e436b345be66067b

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