7.7.21. Freeze frame configuration (pff_Configuration)

Specifies the amount of volatile (RAM) and non-volatile (flash) memory allocated for freeze frame storage.

7.7.21.1. Supported targets

All targets

7.7.21.2. Required license

EXT_DIAG (Extended diagnostics library). (See Section 2.3, “Licensed Features”.)

7.7.21.3. Description

Specifies the amount of volatile (RAM) and non-volatile (flash) memory allocated for freeze frame storage.

7.7.21.4. Inports

None.

7.7.21.5. Outports

None.

7.7.21.6. Mask parameters

  • Total non-volatile memory allocation to store freeze frames (bytes)

    This field specifies how much of non-volatile memory is allocated to storing instances of freeze frames. The allocation will be exclusively used for freeze frame storage. An appropriate size should be chosen to contain your application needs.

    Captured freeze frames are stored in non-volatile memory using a file system. Each captured freeze frame is stored in an individual file. There is an overhead associated with each file stored in NVM. This overhead is 20 bytes plus whatever is required to round up to a multiple of 8 bytes. Thus on a freeze frame of 100 bytes, the overhead would be 20 bytes, whereas on a freeze frame of 101 bytes, the overhead would be 27. This overhead forms part of the total non-volatile memory allocation to store freeze frames, for instance if the application stores 10 freeze frame files each consisting of a 100 bytes of data the total NVM allocation specified here should be at least 1200 bytes.

    Range: [0, 65535] bytes

    Value type:Integer
    Calibratable:No
  • RAM buffer size for buffering freeze frame data prior to writing to NVM (bytes)

    RAM is allocated statically (at build time) in OpenECU. The specified RAM buffer size is used to store instances of freeze frames prior to writing to non-volatile memory. As such this field should at a minimum equal or exceed the largest freeze frame data size of all freeze frames in the application. Writing data to NVM is carried out in the background task as it takes time to complete. Should your application need to capture multiple freeze frame instances within a short interval this buffer should be sized appropriately to ensure the freeze frames are successfully written to NVM.

    Note: an under sized RAM buffer may result in freeze frame instances not being captured.

    Note: DM4 and DM25 of J1939 specify a max freeze frame data size of 1785 bytes.

    Range: [0, 8191] bytes

    Value type:Integer
    Calibratable:No
  • Maximum number of J1979 freeze frame instances to store in NVM

    This field specifies an upper limit on how many captured J1979 freeze frame instances can be stored in non-volatile memory (NVM).

    Range: [0, 254]

    Value type:Integer
    Calibratable:No
  • Maximum number of J1939 DM4 freeze frame instances to store in NVM

    This field specifies an upper limit to how many captured DM4 freeze frame instances can be stored in non-volatile memory.

    Range: [0, 137]

    Value type:Integer
    Calibratable:No
  • Maximum number of J1939 DM25 freeze frame instances to store in NVM

    This field specifies an upper limit to how many captured DM25 freeze frame instances can be stored in non-volatile memory.

    Range: [0, 254]

    Value type:Integer
    Calibratable:No
  • Maximum number of UDS snapshot instances to store in NVM

    This field specifies an upper limit to how many captured UDS snapshot instances can be stored in non-volatile memory.

    Range: [0, 254]

    Value type:Integer
    Calibratable:No

7.7.21.7. Notes

None.