8. Key Performance and Memory Consumption Data

8.1. Key Performance Metrics

Note

Driver performance depends on its configuration. In these cases, the drivers are configured to achieve maximum performance with Functional Safety mechanisms disabled.

Performance is also dependent on the overall system architecture and runtime environment. We have achieved best performance for driver by focusing on a single module.

8.1.1. CAN Driver

Performance Test

Theoretical value

Measured value

Remarks

Transmission time in polling

NA

146 us

Classic CAN : 8 byte : 1 Mbps

Reception time in polling

NA

142 us

Classic CAN : 8 byte : 1 Mbps

Transmission time in Interrupt

NA

123 us

Classic CAN : 8 byte : 1 Mbps

Reception time in Interrupt

NA

119 us

Classic CAN : 8 byte : 1 Mbps

Maximum packets Transmission per second in polling

9010

7945

Classic CAN : 8 byte : 1 Mbps

Maximum packets Transmission per second in polling

7270

5891

CAN FD : 64 byte : 5 Mbps

Maximum packets Transmission per second in Interrupt

9010

8266

Classic CAN : 8 byte : 1 Mbps

Maximum packets Transmission per second in Interrupt

7270

5724

CAN FD : 64 byte : 5 Mbps

8.1.2. CDD SENT Driver

Performance Test

Theoretical value

Measured value

Remarks

STANDARD MODE interrupt execution time

NA

2 us

In STANDARD MODE, the total time it takes for the Cdd_Sent module to process sensor data, send the data to the PDU router.

MTP MODE interrupt execution time

NA

1 us

In MTP MODE, the total time it takes for the Cdd_Sent module to process sensor data, send the data to the PDU router.

MTP MODE trigger transmit time

NA

8064 us

In MTP MODE, the total time it takes for the Cdd_Sent module to trigger the sensor, Waiting for the response, process sensor data, send the data to the PDU router.

8.1.3. LIN Driver

Performance Test

Theoretical value

Measured value

Remarks

Lin Master Response Performance

845312 us

867568 us

Total time taken to send 8 Bytes of data 128 times ~ 1KB

Lin Slave Response Performance

6874 us

7287 us

Total time taken to receive 8 Bytes of data

8.1.4. SPI Driver

Performance Test

Theoretical value in micro seconds

Measured value in micro seconds

Remarks

Transmit 112000 words with 8 bit data width

179200

179208

BaudRate 5MHz, Sync Transmit

Transmit 112000 words with 8 bit data width

179200

179208

BaudRate 5MHz, Async Transmit

Transmit 112000 words with 16 bit data width

358400

358408

BaudRate 5MHz, Sync Transmit

Transmit 112000 words with 16 bit data width

358400

358408

BaudRate 5MHz, Async Transmit

Transmit 112000 words with 8 bit data width

89600

89607

BaudRate 10MHz, Sync Transmit

Transmit 112000 words with 8 bit data width

89600

89607

BaudRate 10MHz, Async Transmit

Transmit 112000 words with 16 bit data width

179200

179207

BaudRate 10MHz, Sync Transmit

Transmit 112000 words with 16 bit data width

179200

179209

BaudRate 10MHz, Async Transmit

Transmit 112000 words with 8 bit data width

17920

23965

BaudRate 50MHz, Sync Transmit

Transmit 112000 words with 8 bit data width

17920

29686

BaudRate 50MHz, Async Transmit

Transmit 112000 words with 16 bit data width

35880

36463

BaudRate 50MHz, Sync Transmit

Transmit 112000 words with 16 bit data width

35840

38379

BaudRate 50MHz, Async Transmit

Transmit 56000 words with 8 bit data width

89600

89605

BaudRate 5MHz, Sync Transmit

Transmit 56000 words with 8 bit data width

89600

89606

BaudRate 5MHz, Async Transmit

Transmit 56000 words with 16 bit data width

179200

179205

BaudRate 5MHz, Sync Transmit

Transmit 56000 words with 16 bit data width

179200

179205

BaudRate 5MHz, Async Transmit

Transmit 56000 words with 8 bit data width

44800

44805

BaudRate 10MHz, Sync Transmit

Transmit 56000 words with 8 bit data width

44800

44805

BaudRate 10MHz, Async Transmit

Transmit 56000 words with 16 bit data width

89600

89605

BaudRate 10MHz, Sync Transmit

Transmit 56000 words with 16 bit data width

89600

89606

BaudRate 10MHz, Async Transmit

Transmit 56000 words with 8 bit data width

8960

11983

BaudRate 50MHz, Sync Transmit

Transmit 56000 words with 8 bit data width

8960

14863

BaudRate 50MHz, Async Transmit

Transmit 56000 words with 16 bit data width

17920

18232

BaudRate 50MHz, Sync Transmit

Transmit 56000 words with 16 bit data width

17920

20036

BaudRate 50MHz, Async Transmit

8.1.5. FLS Driver

Performance Test

Theoretical value (min)

Theoretical value (max)

Measured value

Remarks

Sector erase time (2KB)

3 ms

10 ms

3.520 ms

2048 bytes : 200Mhz

Program 128-bit + 16 ECC bits

62.5 us

625 us

1649 us

16 byte : 200Mhz

Program Sector (2KB)

8 ms

80 ms

8.455 ms

2048 bytes : 200Mhz

Note

The erase and program times are approximate due to unavailability of the flash characterization data. This table will be updated in the next release.

Please note that in the Fls module, once the erase, program or read job is accepted, it is processed through Fls_MainFunction cyclically until the job is finished, thereby adding additional function call overhead time compared to theoretical value.

8.1.6. CDD IPC Driver

Performance Test

Measured value (bytes)

Data transmitted per second

2380968

Note

Please note that this performance result depends on, when the remote core acknowledges the data. This performance result is measured using a single channel in polling mode.

8.1.7. CDD ADC Driver

8.1.7.1. CDD ADC without DMA integration

Performance Test

Theoretical value (max)

Measured value

Remarks

12-bit ADC with SW triggers

3.84 Msps at 57MHz

3.836 Msps (99.909760%) With 3.5 ADC Clock Divider : 57.14MHz

12-bit ADC with HW triggers

3.84 Msps at 57MHz

3.829 Msps (99.735458%) With 3.5 ADC Clock Divider : 57.14MHz

16-bit ADC with SW triggers

1.19 Msps at 57MHz

1.180 Msps (99.198814%) With 3.5 ADC Clock Divider : 57.14MHz

16-bit ADC with HW triggers

1.19 Msps at 57MHz

1.180 Msps (99.145332%) With 3.5 ADC Clock Divider : 57.14MHz

8.1.7.2. CDD ADC with DMA integration

Performance Test

Theoretical value (max)

Measured value

Remarks

12-bit ADC with SW triggers

3.84 Msps at 57MHz

3.836 Msps (99.910042%) With 3.5 ADC Clock Divider : 57.14MHz

12-bit ADC with HW triggers

3.84 Msps at 57MHz

3.829 Msps (99.735458%) With 3.5 ADC Clock Divider : 57.14MHz

16-bit ADC with SW triggers

1.19 Msps at 57MHz

1.180 Msps (99.198814%) With 3.5 ADC Clock Divider : 57.14MHz

16-bit ADC with HW triggers

1.19 Msps at 57MHz

1.180 Msps (99.146255%) With 3.5 ADC Clock Divider : 57.14MHz

8.2. Memory Footprints

Note

The memory footprint values represent only the module-specific driver sections for each example. These are calculated by extracting module-specific memory sections from the build output and categorizing them into standard memory types: .text (code), .data (initialized data), .bss (uninitialized data), and .rodata (read-only data). Memory measurements are captured in bytes with the optimization level set to O2.

8.2.1. CAN

Examples

.text

.data

.bss

.rodata

Can_Example_Classic_FD

15420

0

3672

220

Can_Example_Icom

16972

0

3996

556

Can_Example_loopback

15388

0

3672

220

Can_Example_Wakeup

15420

0

3672

220

8.2.2. DIO

Examples

.text

.data

.bss

.rodata

Dio_Example_Read_Write_All

1046

4

0

12

8.2.3. FLS

Examples

.text

.data

.bss

.rodata

Fls_App_Example

6956

0

200

96

8.2.4. GPT

Examples

.text

.data

.bss

.rodata

Gpt_Example_Timers

2938

0

69

76

Gpt_Example_OneShotMode

2938

0

69

76

Gpt_Example_MixedMode

2900

0

53

52

Gpt_Example_InterruptTimeout

3084

0

53

52

Gpt_Example_ContinuousMode

2938

0

69

76

8.2.5. LIN

Examples

.text

.data

.bss

.rodata

Lin_Example_Init_Sleep_Wakeup

4616

0

28

32

Lin_Example_SendData

4616

0

28

32

Lin_Example_Sleep_Wakeup_Interrupt

4616

0

28

32

8.2.6. MCU

Examples

.text

.data

.bss

.rodata

Mcu_Example_Clock

7438

0

30

928

Mcu_Example_PowerMode

7438

0

30

928

Mcu_Example_Ram

7438

0

30

940

Mcu_Example_Reset

7438

0

30

928

8.2.7. PORT

Examples

.text

.data

.bss

.rodata

Port_Example_Init

2906

0

6

456

8.2.8. SPI

Examples

.text

.data

.bss

.rodata

Spi_Example_Sync_AsyncTransfer

12756

0

948

260

Spi_Example_AsyncTransfer_Interrupt

12802

0

836

284

Spi_Example_SyncTransfer

12438

0

676

164

Spi_Example_External_Loopback

12916

0

424

104

8.2.9. WDG

Examples

.text

.data

.bss

.rodata

Wdg_Example_Interrupt

1658

0

40

44

Wdg_Example_Service

1658

0

40

44

Wdg_Example_Reset

1610

0

40

44

8.2.10. CDD ADC

Examples

.text

.data

.bss

.rodata

Cdd_Adc_Example_SwHwConversion

10886

0

149

552

Cdd_Adc_Example_GlbSwTrig

12788

0

237

952

Cdd_Adc_Example_Ppb_TrigRepeater

11418

0

185

684

Cdd_Adc_Example_TempSensor

7148

0

81

240

Cdd_Adc_Example_DmaTransfer

5116

0

57

160

8.2.11. CDD ECAP

Examples

.text

.data

.bss

.rodata

Cdd_Ecap_Capture_Signal

9148

0

341

176

Cdd_Ecap_HrMode

9590

0

121

52

8.2.12. CDD DMA

Examples

.text

.data

.bss

.rodata

Cdd_Dma_Example_Mem_Transfer

8320

0

29

56

Cdd_Dma_Example_Mem_Transfer_Mpu

8310

0

29

76

8.2.13. CDD I2C

Examples

.text

.data

.bss

.rodata

Cdd_I2c_Interrupt

9094

0

1300

360

Cdd_I2c_Poll

9078

0

1300

360

Cdd_I2c_Target_Loopback

10316

0

332

156

8.2.14. CDD IPC

Examples

.text

.data

.bss

.rodata

Cdd_Ipc_Example_Polling_C29x1

2856

0

9

80

Cdd_Ipc_Example_Interrupt_C29x1

2856

0

9

80

8.2.15. CDD PWM

Examples

.text

.data

.bss

.rodata

Cdd_Pwm_Example_Chopper

38024

0

46

64

Cdd_Pwm_Example_Cmpss_Trip

37542

0

40

16

Cdd_Pwm_Example_DC_EventFilter

37520

0

40

16

Cdd_Pwm_Example_Deadband

38080

0

48

80

Cdd_Pwm_Example_DiodeEmulation

37952

0

44

48

Cdd_Pwm_Example_GlobalLoad_And_Link

38104

0

46

84

Cdd_Pwm_Example_Hrpwm

37874

0

42

36

Cdd_Pwm_Example_TripZone

38128

0

44

48

Cdd_Pwm_Example_UpCountMode

5286

0

177

160

Cdd_Pwm_Example_XCmp_MultipleEdges

37952

0

44

48

8.2.16. CDD SENT

Examples

.text

.data

.bss

.rodata

Cdd_Sent_Standard

4800

0

81

144

Cdd_Sent_MtpMode

4674

0

81

188

Cdd_Sent_Mtp_ExternalTrigger_Source

4912

0

81

188

8.2.17. CDD UART

Examples

.text

.data

.bss

.rodata

Cdd_Uart_Example_Loopback

4930

0

37

64

Cdd_Uart_Example_Read_Interrupt

4930

0

37

64

Cdd_Uart_Example_Write_Interrupt

4930

0

37

64

Cdd_Uart_Example_Write_Polling

4716

0

37

64

8.2.18. CDD XBAR

Examples

.text

.data

.bss

.rodata

Cdd_Xbar_GpioToGpio

6606

0

8

76

Cdd_Xbar_Gpio_interrupt

6560

0

8

56