Appendix 4. Memory configurations

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:

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

Developer ECUs

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]5123232NY
B5124816NY
C5121648NY
D51225664NN

[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] 51225664NN
51225664YY
B512256832YY
C640128192YY
D76864768YY

[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] 3072128128NY
B307264192NY
C307219264NY
D3072512256NN
3072512256YY

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