Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

The information provided below is independent from any tool chain and any platform. It's about static memory allocation required to support Agnos Framework (there is no dynamic allocation as per coding pattern). Hence, it presents RAM consummation benchmark established from the following system parameters (see Appendixes):

  • MAX_SUPPORTED_AID = 30 (datamngr.h)

  • MAX_KERNEL = 25 (datamngr.h)

  • MAX_AID = 15 (datamngr.h)

  • MAX_COMBINATION_PER_TRANSACTION_TYPE = 65 (datamngr.h)

  • MAX_SIMULTANEOUS_SESSION = 65 (datamngr.h)

  • MAX_DRL_SET = 4 (datamngr.h)

  • ONLINE_BUFFER_SIZE = 4096 (datamngr.h)

  • MAX_SUPPORTED_ADF = 22 (agnostypes.h)

  • AGNOSK compilation symbol = DEFINED (Agnos library)

  • AGNOSCL compilation symbol = DEFINED (Agnos library)

  • AGNOSISR compilation symbol = DEFINED (Agnos library)

  • AGNOSCPL compilation symbol = DEFINED (Agnos library)

  • AGNOSFMSG compilation symbol = DEFINED (Agnos library)

  • SIZE_FOR_EMV_TAGS = 11500 (sharedram.c) to store all tags for a single transaction

  • SIZE_FOR_EMV_UNKNOWNTAGS = 2500 (sharedram.c) to store all unknowns tags for a single transaction

  • FREE_SIZE_RAM = 4096 (sharedram.c) L3 implementation + house keeping in C2 (minimum = 3000). Maybe increased depending on L3 needs

  • SIZE_FOR_PAYPASS_TORN = 2048 (sharedram.c) Torn is no longer supported by Mastercard (Torn support is still required for CUP, Discover, UPI and RuPay Kernels)

  • SIZE_FOR_CL_DATA_OBJECT = 17100 (sharedram.c) set 1 if Contactless Interface is not supported

  • MAX_CHARACTER_PER_LINE(MAX_CHARACTERS) = 16 (display.h)

  • MAX_NB_LANGUAGE = 3 (display.h)

  • MAX_STRING_LENGTH = 60 (display.h)

  • NB_EMV_STRINGS = 34 (display.h)

  • NB_ACQUIRER_STRINGS = 26 (display.h)

  • MAX_NUMBER_ITEMS = 50 (select.h)

  • MAX_ITEM_NAME_LENGTH = 100 (select.h)

  • REPLAY compilation symbol = NOT DEFINED (CAD library)

  • LOG compilation symbol = NOT DEFINED (Platform library)

  • TIME_STAMP compilation symbol = NOT DEFINED (Platform library)

NOTE 1: These values are given as a examples and can change versus platform
NOTE 2: The following table uses estimates for the Win32 MinGW Platform with a GCC compiler using Release Optimizations
NOTE 3: RAM column estimates Heap Memory consumptions

Library

ROM (kB)

RAM (kB)

Comment

GPI

40.2

GPI/Platform

29.3

Shared RAM containing all EMV tags and torn transactions

NOTE: Ensure SIZE_FOR_PAYPASS_TORN is set to 2048

GPI/CAD

< 1

n/a

GPI/HSM

< 1

NOTE: RAM used byCrypto Libraries are excluded because we recommend using Libraries provided by the Platform

GPI/SPED

5.1

String tables and Selection List (contact only)

GPI/Log

5

0 kB when option _AGNOSTRACE_ is disabled

Core Libraries

148.8

55.2

AgnosDB

4.5

4.5

n/a

Agnos

97.1

8.7

Transactional context

AgnosMW

33.8

26.3

Instanciated data model

AgnosEP

13.4

15.7

Working buffers for entry point indicators and kernels services management

Kernels

EMVCo

8.3

Contact Application

EMVCo context for ADF selection management

C-2/MasterCard

6.7

Working buffers for online clean messages management

C-3/Visa

4.5

n/a

C-4/American Express

3.2

n/a

C-5/JCB

2,8

n/a

C-6/Discover

2.5

n/a

C-7/CUP

2

n/a

PURE (mada)

2.5

n/a

EFTPOS

6.8

n/a

Interac

1.8

n/a

Utils

7.5

0

TLV

4.5

0

COM

3

0

Certification Apps (classic)

ACE

3.6

Working buffers for online communication with ACE

Kizis

28.5

Payment and Outcome contexts

Certification Apps (dual chip)

AgnosSP

ACESP

KizisSP

The follwing example

Tool Chain Examples

ROM (kB)

RAM (kB)

Comment

IAR code

275 kB

110 kB

all major kernels along with Kizis provided to TA session

IAR code

220 kB

105 kB

C2, C3, C4 along with Kizis provided to TA session

For example IAR Project on STM32 processor with the following kernels/modules:

[1] = ace2p.a
[2] = agnos.a
[3] = agnosdb.a
[4] = agnosep.a
[5] = agnosmw.a
[6] = c2.a
[7] = c3.a
[8] = c4.a
[9] = c5.a
[10] = c7.a
[11] = com.a
[12] = dpas20.a
[13] = eftpos.a
[14] = emvco.a
[15] = fl.a

→ provides this footprint:

491'597 bytes of read only code memory
304'802 bytes of read only data memory
420'570 bytes of read write data memory

  • No labels