OpenRemap Docs

layout

An ECU file is not one uniform blob. It has "neighbourhoods": empty flash pages, the code the ECU runs, the calibration area where the tuning tables (maps) live, and small ID blocks holding the software and hardware numbers.

layout reads a file and draws you the map of those neighbourhoods — where each one starts and ends.

Think of it as looking at the floor plan of the file before you start working inside it. It is a read-only tool; it never changes the file.

When do I need it?

  • When you want to understand a file's structure — before scanning for maps or reverse-engineering.
  • When analyze shows a layout you want to inspect in detail.
  • When you work with an ECU family you do not knowlayout needs no manufacturer database; it segments purely from the data itself.

One honest caveat: the labels are the tool's best guess with a confidence value — not verified names. "Calibration" here means "dense in tuning tables", not "this is definitely tunable".

Try it (2 minutes)

openremap layout my-file.bin

You will see a table like this (shortened):

  my-file.bin  •  1,048,576 bytes  •  3 region(s)  •  1 ident block(s)

     Start       End        Size          Kind    Fill    Ent   Tbls   Conf
  0x000000  0x080000     524,288        erased    0xC3   0.00      0   0.95
  0x080000  0x0C0000     262,144          code       —   6.75      0   0.70
  0x0C0000  0x100000     262,144   calibration       —   4.93     55   0.68
  0x0CC51B  0x0CC57C          97         ident       —   1.07      0   0.50

This example shows the classic layout of a Bosch EDC15 file: an erased first half (that family's erase byte is 0xC3), code in the middle, and the calibration area with its ID records on top.

Understanding the answer

Kind In plain words
erased Empty flash — pages of one repeated byte (the family's "erase byte", often FF)
code The ECU's program — busy data with no tuning tables
calibration The tunable area — dense with maps
ident Small readable blocks — software/hardware numbers, VIN
mixed No clear signal — low confidence

The Conf column is how sure the tool is about that label. Ent is a data-busyness measure (higher = more "random-looking" = code-like). Tbls is how many high-confidence tables were found in the region.

For developers

The same segmentation is one method of openremap.api:

Way of using it Where to look Example
Terminal (CLI) layout — CLI openremap layout my-file.bin
Python code layout — API api.call("layout", {"path": "my-file.bin"})
Any language (JSON-RPC) layout — API a request with "method": "layout"

Where to go next

You want to… Go to
See every flag and the JSON output layout — CLI
Call layout from your own code layout — API
Find the tuning tables inside those regions scan-maps
See layout as one section of the full report analyze