Skip to main content

a2ltool

Github Actions

A tool to edit, merge and update a2l files

Features of a2ltool

  • update the addresses of measurement variables and tunable parameters (characteristics) based on the elf file containing the compiled embedded application
  • merge multiple a2l files into a single file
  • add new measurements or characteristics based on the elf file
  • check a2l files for consistency
  • display XCP connection parameters embedded in the a2l file, if any exist
  • maintain the formatting and ordering of items in the a2l file during manipulation, so that the diff between the original and the updated/modified file is as small as possible
  • Supports files up to a2l version 1.71 (current)

Installation

a2ltool binaries are available on the releases page. You can get pre-built binaries for Windows (x64) and Linux (x64) there.

For any other platform you can compile a2ltool using cargo build --release.

Usage

Refer to the manual for a detailed description of the features and options of a2ltool.

Examples

The following examples show how to use a2ltool for common use cases:

Merge two A2L files

a2ltool file1.a2l --merge file2.a2l --output merged.a2l

Merge multiple A2L files

a2ltool file1.a2l --merge file2.a2l --merge file3.a2l --merge file4.a2l --output merged.a2l

Merge all included files into the main file

a2ltool file1.a2l --merge-includes --output flat.a2l

Update the addresses and other data in an A2L file

a2ltool input.a2l --elffile input.elf --update --output updated.a2l

Update the addresses and other data in an A2L file, while keeping invalid elements

a2ltool input.a2l --elffile input.elf --update --update-mode PRESERVE --output updated.a2l

Update only the addresses in an A2L file, and exit with an error if any other A2L elements are incorrect

a2ltool input.a2l --elffile input.elf --update ADDRESSES --update-mode STRICT --output updated.a2l

Create a new A2L file and add a characteristic from an ELF file to it

a2ltool --create --elffile input.elf --characteristic my_var --output newfile.a2l

Create a new A2L file and add multiple measurements from an ELF file to it using a regular expression

a2ltool --create --elffile input.elf --measurement-regex ".*name_pattern\d\d+*" --output newfile.a2l

Create a new A2L file and add multiple measurements from an ELF file to it using an address range

a2ltool --create --elffile input.elf --measurement-range 0x1000 0x3000 --output newfile.a2l

Change the version of an A2L file, while deleting any incompatible elements

a2ltool input.a2l --a2lversion 1.5.1 --output downgraded.a2l

Check an A2L file for consistency

a2ltool input.a2l --check --strict

Use response files containing command arguments

Assume that the file a2ltool.rsp exists and contains valid arguments for a2ltool.

a2ltool @a2ltool.rsp

About A2L Files

A2L files describe measurement variables and tunable parameters of an embedded device (typically, an automotive ECU).

The consumer of the A2L file typically allows online calibration over a protocol such as XCP and/or offline tuning by generating flashable parameter sets. Several commercial tools are available for this purpose.

The A2L file format is specified by ASAM and is formally called ASAM MCD-2 MC.

License

a2ltool is dual-licensed under the MIT and Apache2 licenses.

Metadata

Release files for a2ltool 3.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for a2ltool 3.4.1
File
a2ltool-3.4.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
a2ltool-3.4.1-py3-none-win32.whl Python 3 none Windows x86-32 Details
a2ltool-3.4.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
a2ltool-3.4.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
a2ltool-3.4.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
a2ltool-3.4.1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 14.1 MB

Release files / a2ltool-3.4.1-py3-none-win_amd64.whl

Download URL a2ltool-3.4.1-py3-none-win_amd64.whl
Size 2.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
2cda6a783d48f4d0df36be704d3e1e32d8eb4358d218afabe9e590df62a0a906
BLAKE2b-256 checksum
How to use checksums
921cb804b0d91ef90510e53a837e096cfc76ebeedf595776f109d03a8ca20775
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / a2ltool-3.4.1-py3-none-win32.whl

Download URL a2ltool-3.4.1-py3-none-win32.whl
Size 2.3 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
6eb9a6bd8666cd7fa21b8ddb69fdb5100869fa1a4fbfe84b297ac58034252226
BLAKE2b-256 checksum
How to use checksums
aeae67a9e125f4f3a14d6417528dfdc57791370db81d33b03303b3d7d465b5e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / a2ltool-3.4.1-py3-none-musllinux_1_2_x86_64.whl

Download URL a2ltool-3.4.1-py3-none-musllinux_1_2_x86_64.whl
Size 2.5 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b7eb2908164d34abfee7f1b6c808ebb0ad230e5f0d391d4c70939e05bb37ce09
BLAKE2b-256 checksum
How to use checksums
7b1b0c51545d3666ee7c0918e9e20e8de71f34bec6d2a55f254826790f73c3ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / a2ltool-3.4.1-py3-none-manylinux_2_28_x86_64.whl

Download URL a2ltool-3.4.1-py3-none-manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
32034da5fb57c0911f6ea5527f6aa2aed1586b245f6a13f588ae5356aa3e4cb2
BLAKE2b-256 checksum
How to use checksums
395d61c44a7f1ab871552385c8b7bdbe75a44ec6d8aa49d93ada6e14ca9bd833
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / a2ltool-3.4.1-py3-none-macosx_11_0_arm64.whl

Download URL a2ltool-3.4.1-py3-none-macosx_11_0_arm64.whl
Size 2.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0c215c9caf6fa637b90372ac21a3413c217efb80b9b69ba4e69c143b4e5b1b06
BLAKE2b-256 checksum
How to use checksums
c22b3204555dcb39b135f02822b4a53dc20d08435b278da0898fb7cd2a50bb73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / a2ltool-3.4.1-py3-none-macosx_10_12_x86_64.whl

Download URL a2ltool-3.4.1-py3-none-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b768c0a74ab7dd162519eb9516000164006626a02b8ff04747b03554160cbf95
BLAKE2b-256 checksum
How to use checksums
95824dd9ac717bfed91f579f863b87c1d80d345453f5304a7f3d3391cbb95613
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release history Release notifications | RSS feed

3.4.2

6 release files

This release

3.4.1 This release

6 release files

3.4.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page