AM62Ax MCU+ SDK  09.00.00
Datasheet

Introduction

This datasheet provides the performance numbers of various device drivers in MCU PLUS SDK for AM62AX

Generic Setup details

SOC Details Values
Core R5F
Core Operating Speed 800 MHz
Cache Status Enabled
Optimization Details Values
Build Profile Release
R5F Compiler flags -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -Wall -Werror -g -mthumb -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function
R5F Linker flags -Wl,–diag_suppress=10063 -Wl,–ram_model -Wl,–reread_libs
Code Placement HSM RAM (For SBL Stage1), DDR (SBL Stage2 and others)
Data Placement HSM RAM (For SBL Stage1), DDR (SBL Stage2 and others)

Performance Numbers

SBL OSPI NAND performance (HS-FS)

  • Software/Application used : sbl_ospi_nand_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : mcu-r5f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0 c75ss0
  • Size of images loaded by stage1 : 184 KB
  • Size of images loaded by stage2 : 1045 KB
  • Boot Media Clock : 166.667 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 39.073
SBL Stage1: Drivers_open 0.191
SBL Stage1: Board_driversOpen 5.541
SBL Stage1: Sciclient Get Version 9.894
SBL Stage1: App_waitForMcuPbist 0.004
SBL Stage1: App_waitForMcuLbist 7.792
SBL Stage1: App_loadImages 3.689
SBL Stage1: App_loadSelfcoreImage 7.092
SBL Stage2: System_init 1.792
SBL Stage2: Drivers_open 0.224
SBL Stage2: Board_driversOpen 5.543
SBL Stage2: Sciclient Get Version 9.913
SBL Stage2: App_loadImages 2.093
SBL Stage2: App_loadSelfcoreImage 6.912
SBL Stage2: App_loadLinuxImages 31.427
SBL Stage2: App_loadDSPImage 7.284
-------------------------------------— -----------—
SBL : Total time taken 138.471
  • Here the CPU load or section copy takes place from the OSPI memory to DDR, this would be slower that mem to mem copy.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled
  • MCU PBIST is started before the DDR init/ It is done in HW in parallel while the DDR init is completed. Due to this MCU PBIST wait time is low.
  • Out of the ~39 ms taken for System Init is mostly attributed to DDR initialization.

SBL OSPI NAND performance (HS)

  • Software/Application used : sbl_ospi_nand_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : mcu-r5f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0 c75ss0
  • Size of images loaded by stage1 : 184 KB
  • Size of images loaded by stage2 : 1045 KB
  • Boot Media Clock : 166.667 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 38.753
SBL Stage1: Drivers_open 0.193
SBL Stage1: Board_driversOpen 5.547
SBL Stage1: Sciclient Get Version 9.907
SBL Stage1: App_waitForMcuPbist 0.004
SBL Stage1: App_waitForMcuLbist 7.792
SBL Stage1: App_loadImages 3.779
SBL Stage1: App_loadSelfcoreImage 7.186
SBL Stage2: System_init 1.808
SBL Stage2: Drivers_open 0.224
SBL Stage2: Board_driversOpen 5.636
SBL Stage2: Sciclient Get Version 9.908
SBL Stage2: App_loadImages 2.179
SBL Stage2: App_loadSelfcoreImage 7.021
SBL Stage2: App_loadLinuxImages 31.579
SBL Stage2: App_loadDSPImage 7.389
-------------------------------------— -----------—
SBL : Total time taken 138.912
  • Here the CPU load or section copy takes place from the OSPI memory to DDR, this would be slower that mem to mem copy.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled
  • MCU PBIST is started before the DDR init/ It is done in HW in parallel while the DDR init is completed. Due to this MCU PBIST wait time is low.
  • Out of the ~39 ms taken for System Init is mostly attributed to DDR initialization.

SBL EMMC performance (HS-FS)

  • Software/Application used : sbl_emmc_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : mcu-r5f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0 c75ss0
  • Size of images loaded by stage1 : 160 KB
  • Size of images loaded by stage2 : 1045 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 39.504
SBL Stage1: Drivers_open 61.574
SBL Stage1: Board_driversOpen 0.000
SBL Stage1: Sciclient Get Version 9.895
SBL Stage1: App_loadImages 22.280
SBL Stage1: App_loadSelfcoreImage 23.785
SBL Stage2: System_init 1.703
SBL Stage2: Drivers_open 19.520
SBL Stage2: Board_driversOpen 0.000
SBL Stage2: Sciclient Get Version 9.909
SBL Stage2: App_loadImages 21.214
SBL Stage2: App_loadSelfcoreImage 24.195
SBL Stage2: App_loadLinuxImages 39.742
SBL Stage2: App_loadDSPImages 24.483
-------------------------------------— -----------—
SBL : Total time taken 297.809
  • The emmc driver initialization is done as part of Drivers_open.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled
  • Out of the ~39 ms taken for System Init is mostly attributed to DDR initialization.

SBL EMMC performance (HS)

  • Software/Application used : sbl_emmc_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : mcu-r5f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0 c75ss0
  • Size of images loaded by stage1 : 160 KB
  • Size of images loaded by stage2 : 1045 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 38.283
SBL Stage1: Drivers_open 29.208
SBL Stage1: Board_driversOpen 0.000
SBL Stage1: Sciclient Get Version 9.917
SBL Stage1: App_loadImages 22.333
SBL Stage1: App_loadSelfcoreImage 23.871
SBL Stage2: System_init 1.703
SBL Stage2: Drivers_open 19.520
SBL Stage2: Board_driversOpen 0.000
SBL Stage2: Sciclient Get Version 9.910
SBL Stage2: App_loadImages 21.302
SBL Stage2: App_loadSelfcoreImage 24.272
SBL Stage2: App_loadLinuxImages 39.855
SBL Stage2: App_loadDSPImages 24.589
-------------------------------------— -----------—
SBL : Total time taken 264.726
  • The emmc driver initialization is done as part of Drivers_open.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled
  • Out of the ~39 ms taken for System Init is mostly attributed to DDR initialization.

IPC performance

IPC NOTIFY

  • 10000 messages are sent and average one way message latency is measured
Local Core Remote Core Average Message Latency (us)
r5f0-0 mcu-r5f0-0 4.269
r5f0-0 a530-0 3.559
r5f0-0 c75ss0 6.513

IPC RPMSG

  • 10000 messages are sent and average one way message latency is measured
Local Core Remote Core Message Size Average Message Latency (us)
r5f0-0 mcu-r5f0-0 32 1.425
r5f0-0 mcu-r5f0-0 64 2.088
r5f0-0 mcu-r5f0-0 112 3.069
r5f0-0 a530-0 32 0.952
r5f0-0 a530-0 64 1.256
r5f0-0 a530-0 112 1.730
r5f0-0 c75ss0 32 7.664
r5f0-0 c75ss0 64 8.368
r5f0-0 c75ss0 112 9.326