Memory Layout Editor
The Memory Layout Editor of the (X)ETK Configuration Tool enables you to edit the memory layout of the ECU in an intuitive way.
It is divided into different sub-editors:
-
In the Memory Segments editor, you can specify the number of memory segments and their use. The memory layout is presented as a table, one row for each memory segment.
-
In the editor for the Limited Emulation RAM Configuration, you can configure the boundaries for the blocks that shall be used by INCA for emulating calibration variables in the ECU. The blocks used by INCA as default will then be defined in the Calibration Handles editor. During calibration in INCA, these might be changed by INCA to adapt the RAM emulation for the calibrated variables.
This editor is not available for all serial (X)ETKs; whether it is available depends on type and driver version of the (X)ETK device.
For detailed information on limited emulation RAM
RAM that is used to replace (overlay) the FLASH memory in order to make the parameter values changeable functionality, see the PDF document "Serial (X)ETK Calibration Concepts — Limited Emulation RAM", which you can find in the Manuals folder of your INCA installation.
- The Trace
Windows editor is typically only available if you are configuring
a .
It lets you define the trace windows
Item within the configuration of a trace triggered measurement which determines the range that shall be traced. that will be used by the microcontroller itself for sending data to the connected XETK.
To define additional trace windows or deleting trace window definitions, you can select the commands Add New Trace Window or Delete Trace Window from the context menu of the corresponding table row.
If you are defining several trace windows, you should size the trace windows in such a way that they contain all relevant data without allotting unnecessary memory.
-
The Calibration Handles editor is typically only available if you are configuring a serial (X)ETK. Here you can define which RAM blocks shall form the working page in the ECU by activating the overlay mechanism.
You can assign emulation addresses for the calibration handles either manually or by selecting Assign All Handles (Fixed Configuration), Assign All Handles (Dynamic Configuration) or Flash Range Specific from the context menu.
Not all combinations of ETK and controller support the Flash Range Specific calibration. An overview of the supported ETKs and controllers as well as information about the configuration can be found here: Flash Range Specific Calibration Method
This assigns emulation addresses to all calibration handles apart from those whose usage is set to Not Available. The emulation addresses are taken from the data memory segments that are defined in the Memory Segments Editor, starting with the smallest start address.
In addition to assigning the emulation addresses, the context menu item Assign All Handles (Dynamic Configuration) sets the usage of all calibration handles (apart from those with the usage Not Available) to Dynamic Configuration. This usage should be selected if you are using INCA as your measurement and calibration tool, because INCA can modify dynamically the emulation addresses as required. If you are working with another measurement, calibration or bypass tool, select Assign All Handles (Fixed Configuration) instead; this will set the usage of the calibration handles to Fixed Configuration.
Fixed configuration is not available for all device types.
You can reset either the selected handle or all handles (apart from those with the usage Not Available) by selecting Reset Handle or Reset All Handles from the context menu. This removes the emulation address from the corresponding field and sets the status of the calibration handle to Not Used.
Editing the entries in the Memory Layout Editor may lead to invalid settings or conflicts between certain settings. In this case the corresponding fields are underlaid in red. To correct the settings, modify the entries until they are not marked as invalid any more, otherwise it will not be possible to download the settings to the (X)ETK device.
Shows the status of the memory segment. This can be 'OK' or error messages:
OK |
The plausibility check reports no mistakes. |
Overlapping |
The memory segments overlap. |
Unaligned |
The memory segment violates one of the microcontroller's requirements on the relationship between size and start address:
|
Inconsistent |
The concerned memory segment is invalid, e.g. due to its size. |
Unknown |
There is no plausibility check possible due to at least one inconsistent memory segment. |
Invalid address |
The memory segment is using an invalid address (i.e. a memory segment of a certain type has been defined which is physically not existing in the ECU). |
The memory layout is only valid if all memory segments have the status 'OK'. You can only execute a download with a valid memory layout to the (X)ETK device. In the case of a memory segment without the status 'OK', the item Download to is disabled in the Hardware menu.
(Edit field): The name of the memory segment for identification purpose.
You can not assign a memory segment name which is already used.
This field defines the contents of this memory segment. Possible values are:
Code |
Program code located in non-volatile memory |
Data |
Calibration parameters located in non-volatile memory or in the memory of the (X)ETK device. |
Offline Data Flash |
Program data allowed only for offline calibration. Checksum calculation considered. |
Offline Data ROM |
Program data allowed only for offline calibration. Data can no longer be written to the ECU by download. Checksum calculation considered. |
Calibration Variables FLASH | This RAM type is only used with INCA AddOn 'Slewing'. |
SERAM | This RAM type is only used in the AUTOSAR context. |
Reserved |
Reserved memory segments; these segments are ignored by data freeze operations. |
Reserved (Use File) |
The content of the Hex file will be copied to this segment of the Flash memory after the data freeze operation. This option is only available for some serial (X)ETK devices. |
Reserved (Use ECU Flash) |
The data from this segment will be re-written to the Flash memory after the data freeze operation. This option is only available for some serial (X)ETK devices. |
Reserved (Erase) |
The contents will be erased from the corresponding segment of the Flash memory after the data freeze operation. This option is only available for some serial (X)ETK devices. |
Variables |
Measurement data segment located in RAM |
Calibration Variables |
|
Reconfigurable EMU RAM |
Memory segment used for emulation blocks of reconfigurable size. This option is only available for some serial (X)ETK devices. |
Not in ECU |
Values which are available in the Hex file and the MC tool data base but not in the ECU memory. |
This field defines where the memory segment is located:
Internal |
Memory segment is within the microcontroller of the ECU. |
External |
Memory segment is located in the external memory of the ECU or in the memory of the (X)ETK device. |
There are three ways of accessing memory segments:
Ignore |
The memory segment is completely ignored. If you are downloading a configuration to the (X)ETK device and executing an upload again, memory segments with this access type are not part of the memory layout any more. |
Emulation |
The memory segment is emulated within the memory of the (X)ETK device. For serial (X)ETK, this access type is not available. |
Serial |
The memory segment in the ECU is accessed via a serial interface (e.g. JTAG). |
(Edit field): The physical address defines which address the (X)ETK device must use for the access to the memory segment of the ECU. If the Access field has the value 'Ignore', the Physical field is disabled.
(Edit field): Start address of the memory segment. The parameters Start, End and Size are updated respectively when the first two values are modified.
(Edit field): End address of the memory segment. The parameters Start, End and Size are updated respectively when the first two values are modified.
(Edit field): Size of the memory segment. The parameters Start, End and Size are updated respectively when the first two values are modified.
(Edit field): Type in a description for the memory segment.
The description is only used in A2L exports; it will not be downloaded to the (X)ETK device.
(Edit field): The Address of the Software Revision Pattern.
(Read only field): The Pattern for the Software Revision.
Shows the status of the trace window. This can be 'OK' or error messages:
OK |
The plausibility check reports no mistakes. |
Overlapping |
The trace windows overlap. |
Not Serial Accessed |
The referenced memory segment does not have the access type "Serial". |
Inconsistent |
The concerned trace window is invalid, e.g. due to its size. |
Unknown |
There is no plausibility check possible due to at least one inconsistent trace window. |
The trace window is only valid if the following requirements
are fulfilled:
The referenced memory segment is defined in the Memory Segments editor;
The access type of the referenced memory segment is "Serial";
The start and end addresses are located within the same memory segment.
The memory layout is only valid if all memory segments, trace windows and calibration handles have the status 'OK'. You can only execute a download with a valid memory layout to the (X)ETK device. In the case of a memory segment, trace window or calibration handle without the status 'OK' the item Download to is disabled in the Hardware menu.
(Edit field): The physical address defines which address the (X)ETK device must use for the access to the trace window.
(Edit field): Start address of the trace window. The parameters Start, End and Size are updated respectively when the first two values are modified.
The start and end addresses must be located within the same memory segment.
(Edit field): End address of the trace window. The parameters Start, End and Size are updated respectively when the first two values are modified.
The start and end addresses must be located within the same memory segment.
(Edit field): Size of the trace window. The parameters Start, End and Size are updated respectively when the first two values are modified.
Determines the module in the microcontroller for which the trace window is valid, these are typically processing units (cores) accessing the memory and other bus masters, which can trigger data transfers on the internal bus (source tracing). The availabilty of bus masters depends on the microcontroller.
Determines the module in the microcontroller for which the trace window is valid. These are typically parts of the memory which are accessed (destination tracing). The availabilty of bus slaves depends on the microcontroller.
Enable |
Enables address based filtering. Only trace messages touching an address used in the measurement are outputted. |
Disable |
Disables address based filtering. All trace messages inside the trace window are handled. |
Ignore |
No configuration |
Shows the name of the memory segment where the trace window is located.
Shows the status of the limited emulation RAM configuration. This can be 'OK' or error messages:
OK |
The plausibility check reports no errors. |
Error |
The plausibility check reported an error. Details on the error are given in the tooltip of the error icon and in the application log. |
Defines which calibration method will be used for dynamic emulation in INCA:
Fixed Size |
All blocks have a constant size. Typically it has to be the same size for all blocks. |
Reconfigurable Size |
The blocks may have individual and changing sizes; these have to comply with the constraints set in this editor. INCA will use these settings to re-configure the calibration handles if this is required by the calibration task. In case of online access to the X(ETK) device, the changes will be visualized in the XCT after another configuration upload. If you set the calibration method to Reconfigurable Size, the memory layout must include a memory segment of the type Reconfigurable Emu RAM. If this does not yet exist, you must add this memory segment before you can configure the individual size and location of the calibration handles. |
(Edit field): Lowest number allowed as handle ID (e.g. 0).
(Edit field): Highest number allowed as handle ID.
(Edit field): Minimum size of the calibration handles.
(Edit field): Maximum size of the calibration handles.
The possible values for handle number and handle size depend on the abilities of the microcontroller used in the ECU.
Number, status and size of the calibration handles depend on the microcontroller family and/or type. The list of calibration handles for the supported microcontroller is provided by the XETK Configuration Tool.
Therefore, if you change the microcontroller assignment in the Hardware Settings editor, the current set of calibration handles might become invalid. Via the context menu item Create Default Calibration Handles Set a set of calibration handles matching the currently selected microcontroller can be created.
Shows the status of the calibration handle. This can be 'OK' or error messages:
OK |
The plausibility check reports no mistakes. |
Overlapping |
The calibration handles overlap. |
Not Assigned |
This region is currently not activated because there is no emulation address assigned. Measurement, calibration and bypass tools can not use this region for the overlay function (exception: INCA). |
Unaligned |
The relationship between emulation address and size is not correct. For most microcontrollers, the emulation address must be a multiple of the size. |
Invalid Address |
The address is not located completely in a data segment. |
Not used |
No emulation address has been set for the handle; the calibration handle is not be used for the RAM emulation. |
The calibration handle is only valid if the emulation address is located in a memory segment of the type Data which can be accessed by the (X)ETK, i.e. it must be emulated or of type 'Serial access', but not ignored.
The memory layout is only valid if all memory segments, trace windows and calibration handles have the status 'OK'. You can only execute a download with a valid memory layout to the (X)ETK device. In the case of a memory segment, trace window or calibration handle without the status 'OK' the item Download to is disabled in the Hardware menu.
Shows the name of the calibration handle for identification purpose. For some (X)ETK this value cannot be changed.
Consecutive number for the calibration handle. For some (X)ETK this value cannot be changed.
Shows the original address in the ECU which is identifying the RAM representing the calibration handle. For some (X)ETK this value cannot be changed.
Shows the size of the calibration handle. For some (X)ETK this value cannot be changed.
(Edit field): The address where the calibration handle is located when the overlay function is activated.
You can either enter the emulation address manually or select Assign all Handles (Dynamic Configuration) or Assign all Handles (Fixed Configuration) from the context menu.
Select how the calibration handle is to be used:
Dynamic Configuration |
The calibration handles shall be managed by the measurement and calibration tool or the XETK Configuration Tool; the emulation addresses will be assigned by the tool. |
Fixed Configuration |
A fixed emulation address will be used for the calibration handle. When you select this usage from the combo-box, a default emulation address is entered; replace this default address by an appropriate emulation address. The emulation address must be located in a memory segment of the type Data. This setting is not available for all device types. |
Not Available |
The calibration handle is reserved for other purposes and shall not be used for emulation. |
If the Memory Layout Editor contains more than one individual editor (e.g. the Trace Windows Editor and the Calibration Handles Editor), you can minimize or reopen them by clicking on their title bar, or you can modify their size by dragging the title bar up or down.
Note |
---|
If the settings are invalid, e.g. because you have changed the microcontroller type after having set up the memory layout or calibration handles, you can check the context menu for commands for creating default settings (e.g. Create Default Memory Layout or Create Default Calibration Handle Set in the Memory Layout Editor). These commands create valid settings which you can use as starting point for further configuration. |
See also