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 13 Current »

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 only estimates Heap Memory consumptions

Library

ROM (kB)

RAM (kB)

Comment (Heap Consumption)

GPI

26.5

40.2

GPI/Platform

6

29.3

Shared RAM containing all EMV tags and torn transactions
NOTE: Ensure SIZE_FOR_PAYPASS_TORN is set to 2048

GPI/CAD

7.7

< 1

n/a

GPI/HSM

3.4

< 1

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

GPI/SPED

7.7

5.1

String tables and Selection List (contact only)

GPI/Log

1.7

5

0 kB when option _AGNOSTRACE_ is disabled

Core Libraries

148.8

55.2

AgnosDB

4.5

4.5

Tag Lookup Tables

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

235.7

41.1

EMVCo

7.7

8.3

Contact Application, most Heap used by Candidate List variable

C-2/MasterCard

38.3

6.7

Most Heap used by Tag List Management (~3kB)
NOTE: Heap have decreased significantly once Torn Support have been deprecated

C-3/Visa

14.9

4.5

n/a

C-4/American Express

28.8

3.2

n/a

C-5/JCB

26.5

2,8

n/a

C-6/Discover

25.9

2.5

n/a

C-7/CUP

20

2

n/a

PURE (mada)

42.7

2.5

n/a

EFTPOS

15

6.8

n/a

Interac Flash

15.9

1.8

n/a

Utils

7.5

0

TLV

4.5

0

COM

3

0

Total (Classic Architecture)

418.5

136.5

AgnosSP (Serial Protocol)

44.5

13

Total (Dual Chip Architecture)

463

149.5

Total + AgnosSP

NOTE: Unused Kernels can be substracted from Total
NOTE: AgnosSP is only required for Dual Chip Architectures (i.e., Agnos residing inside a seperate Secured Element accessible through a serialized communication channel)

Level 2 Certification Applications:

L2 Application

ROM (kB)

RAM (kB)

Comment

Classic Architecture

74.3

47.4

ACE

18

4.4

Working buffers for online communication with ACE

Kizis

56.3

43

Payment and Outcome contexts

Dual Chip Architecture

77.7

28.1

NOTE: Requires AgnosSP

ACESP

51.7

20.1

KizisSP

26

8.1

NOTE: Level 2 Applications are required during Certifications and must be added to the Total(s) from the previous section. They should be removed during Terminal Integration/Deployment Phases

Memory Consumption Examples

The follwing sample estimates are for the STMicroelectronics STM32 Processor using the IAR Workbench IDE:

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