Some OpenECU targets support different configurations of the ECU's application, calibration and RAM memory sizes, allowing design trade offs to be made whilst developing the application. There are two broad classes of ECUs:
Lower-cost that developer ECUs due to the lack of run-time calibration support. These ECUs are intended to be used for fleet trials or production, and are not intended to be used for bench or dyno activities, especially those that require calibration support. Typically, fleet ECUs do not include external RAM.
Higher-cost that fleet ECUs due to support for run-time calibration. These ECUs are intended to be used for development activities such as dyno cell calibration or HIL based testing. Typically, developer ECUs do include external RAM.
Some configurations support running identical software on fleet and developer units. An application can be built, run and calibrated on a developer ECU, then transfered to a fleet ECU of the same family and type as the developer unit, and run unmodified. An example of this would be memory configuration A for the M220, and memory configuration D for the M670. The same application, calibration and RAM memory sizes are available with and without run-time calibration support. An application built for M220 memory configuration A will run on both M220 developer and fleet units without modification.
M110
The following memory configurations are available.
Table 4.1. Memory configurations supported
Configuration | App size (KiB) | Cal size (KiB) | RAM size (KiB) | External RAMrequired? | Run-timecalibration supported? |
---|---|---|---|---|---|
A [a] | 512 | 32 | 32 | N | Y |
B | 512 | 48 | 16 | N | Y |
C | 512 | 16 | 48 | N | Y |
D | 512 | 256 | 64 | N | N |
[a] If an OpenECU target that supports memory configuration is loaded with an application in which no such configuration has been specified, then configuration A will be used as the default. |
M220, M250, M460, M461
The following memory configurations are available.
Table 4.2. Memory configurations supported
Configuration | App size (KiB) | Cal size (KiB) | RAM size (KiB) | External RAM required? | Run-time calibration supported? |
---|---|---|---|---|---|
A [a] | 512 | 256 | 64 | N | N |
512 | 256 | 64 | Y | Y | |
B | 512 | 256 | 832 | Y | Y |
C | 640 | 128 | 192 | Y | Y |
D | 768 | 64 | 768 | Y | Y |
[a] If an OpenECU target that supports memory configuration is loaded with an application in which no such configuration has been specified, then configuration A will be used as the default. |
Most of these configurations require the external RAM available with developer units. If an application using such a memory configuration is loaded onto an ECU with no external tab board RAM available, the ECU will entry reprogramming mode with a flash code of 1-1-7 (repeated resets).
M670
The following memory configurations are available.
Table 4.3. Memory configurations supported
Configuration | App size (KiB) | Cal size (KiB) | RAM size (KiB) | External RAM required? | Run-time calibration supported? |
---|---|---|---|---|---|
A [a] | 3072 | 128 | 128 | N | Y |
B | 3072 | 64 | 192 | N | Y |
C | 3072 | 192 | 64 | N | Y |
D | 3072 | 512 | 256 | N | N |
3072 | 512 | 256 | Y | Y | |
[a] If an OpenECU target that supports memory configuration is loaded with an application in which no such configuration has been specified, then configuration A will be used as the default. |
Other targets
No other targets support memory configuration.