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.2

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.2
File
a2ltool-3.4.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
a2ltool-3.4.2-py3-none-win32.whl Python 3 none Windows x86-32 Details
a2ltool-3.4.2-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
a2ltool-3.4.2-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
a2ltool-3.4.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
a2ltool-3.4.2-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 14.3 MB

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

Download URL a2ltool-3.4.2-py3-none-win_amd64.whl
Size 2.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
06cca713cd157ec3fb138a26c364d2babaa538525adf485478b4ae7ab1abbf98
BLAKE2b-256 checksum
How to use checksums
6a44676fc822da261369e03a48ac64c23b89ca17d947a2bb1cb3a1c4c6ee7465
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 Sep 29, 2026.

Transparency log

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

Download URL a2ltool-3.4.2-py3-none-win32.whl
Size 2.3 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
4b0d47989bf5db679548718c7409c8a625b4fb1da04b5b744bc6d961f4cfc8a5
BLAKE2b-256 checksum
How to use checksums
e8cfbb01a2080c31eba3c46e59fca45eb88483bc0c53ec8bf7552e196bf9aee4
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 Sep 29, 2026.

Transparency log

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

Download URL a2ltool-3.4.2-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
46b0f148bd3b162351f0587e066b04bdb8dca2292c507b0cd0e0b949b0024a36
BLAKE2b-256 checksum
How to use checksums
68a71e73630a63a5c99b9066e1cd16edfc0ca23500ef6d71ac806453bf7fd280
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 Sep 29, 2026.

Transparency log

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

Download URL a2ltool-3.4.2-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
636fe0d8f4e2e14ab3d6b17b1ab464c7a3d58c7a79241b9783baa42d29db3d3e
BLAKE2b-256 checksum
How to use checksums
5b0b519094f5fc4b91409d8a16e4e8335a44c642452fbb976ca5c87a077b56f9
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 Sep 29, 2026.

Transparency log

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

Download URL a2ltool-3.4.2-py3-none-macosx_11_0_arm64.whl
Size 2.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6bc4a12551641a77b3c6006ad16a6b42244ee6a5eab849b99f4d927bef6b6cd8
BLAKE2b-256 checksum
How to use checksums
a49a7db69eb21a3a3d1befbf8d0192ec5689c35de53830f58a7038f17a20c34a
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 Sep 29, 2026.

Transparency log

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

Download URL a2ltool-3.4.2-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
5ca6c1ca5956c1e118a5293ccce24148f042ed0ea7df9f59e80a8b0f2d618878
BLAKE2b-256 checksum
How to use checksums
562f386213ee3447928efa23e31e9e0a7b0e4b6958bc377e4037a38035b2e8e9
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 Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.4.2 This release

6 release files

3.4.1

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