AM62x MCU+ SDK  09.00.00
Datasheet

Introduction

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

Generic Setup details

SOC Details Values
Core R5F
Core Operating Speed 400 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

AM62X-SK SBL OSPI performance (HS-FS)

  • Software/Application used : sbl_ospi_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 184 KB
  • Size of images loaded by stage2 : 940 KB
  • Boot Media Clock : 166.667 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 6.441
SBL Stage1: Drivers_open 0.208
SBL Stage1: Board_driversOpen 27.571
SBL Stage1: Sciclient Get Version 9.927
SBL Stage1: App_waitForMcuPbist 0.005
SBL Stage1: App_waitForMcuLbist 7.689
SBL Stage1: App_loadImages 3.535
SBL Stage1: App_loadSelfcoreImage 6.279
SBL Stage2: System_init 2.825
SBL Stage2: Drivers_open 0.266
SBL Stage2: Board_driversOpen 27.055
SBL Stage2: Sciclient Get Version 9.967
SBL Stage2: App_loadImages 1.967
SBL Stage2: App_loadSelfcoreImage 6.557
SBL Stage2: App_loadLinuxImages 29.163
-------------------------------------— -----------—
SBL : Total time taken 139.425
  • The time taken for Board_driversOpen is mostly for the PHY tuning of OSPI. If this needs to be further reduced, one can pre-train the PHY, note down delay values and set it directly instead of the tuning procedure.
  • 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.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled

AM62X-SK SBL OSPI performance (HS-SE)

  • Software/Application used : sbl_ospi_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 184 KB
  • Size of images loaded by stage2 : 940 KB
  • Boot Media Clock : 166.667 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 6.606
SBL Stage1: Drivers_open 0.207
SBL Stage1: Board_driversOpen 27.693
SBL Stage1: Sciclient Get Version 9.927
SBL Stage1: App_waitForMcuPbist 0.005
SBL Stage1: App_waitForMcuLbist 7.689
SBL Stage1: App_loadImages 3.619
SBL Stage1: App_loadSelfcoreImage 6.367
SBL Stage2: System_init 2.818
SBL Stage2: Drivers_open 0.266
SBL Stage2: Board_driversOpen 27.103
SBL Stage2: Sciclient Get Version 9.957
SBL Stage2: App_loadImages 2.045
SBL Stage2: App_loadSelfcoreImage 6.642
SBL Stage2: App_loadLinuxImages 29.258
-------------------------------------— -----------—
SBL : Total time taken 140.206
  • The time taken for Board_driversOpen is mostly for the PHY tuning of OSPI. If this needs to be further reduced, one can pre-train the PHY, note down delay values and set it directly instead of the tuning procedure.
  • 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.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled

AM62X-SK LP 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 : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 182 KB
  • Size of images loaded by stage2 : 895 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 37.270
SBL Stage1: Drivers_open 0.207
SBL Stage1: Board_driversOpen 0.088
SBL Stage1: Sciclient Get Version 9.925
SBL Stage1: App_waitForMcuPbist 0.005
SBL Stage1: App_waitForMcuLbist 7.689
SBL Stage1: App_loadImages 5.520
SBL Stage1: App_loadSelfcoreImage 10.788
SBL Stage2: System_init 2.845
SBL Stage2: Drivers_open 0.269
SBL Stage2: Board_driversOpen 0.089
SBL Stage2: Sciclient Get Version 9.976
SBL Stage2: App_loadImages 2.427
SBL Stage2: App_loadSelfcoreImage 11.338
SBL Stage2: App_loadLinuxImages 52.860
-------------------------------------— -----------—
SBL : Total time taken 151.302
  • 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 ~35 ms taken for System Init is mostly attributed to DDR initialization.

AM62X-SK LP SBL OSPI NAND performance (HS-SE)

  • Software/Application used : sbl_ospi_nand_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 182 KB
  • Size of images loaded by stage2 : 895 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 45.202
SBL Stage1: Drivers_open 0.209
SBL Stage1: Board_driversOpen 0.088
SBL Stage1: Sciclient Get Version 9.925
SBL Stage1: App_waitForMcuPbist 0.005
SBL Stage1: App_waitForMcuLbist 7.689
SBL Stage1: App_loadImages 5.602
SBL Stage1: App_loadSelfcoreImage 10.865
SBL Stage2: System_init 2.835
SBL Stage2: Drivers_open 0.269
SBL Stage2: Board_driversOpen 0.088
SBL Stage2: Sciclient Get Version 9.961
SBL Stage2: App_loadImages 2.514
SBL Stage2: App_loadSelfcoreImage 11.431
SBL Stage2: App_loadLinuxImages 52.995
-------------------------------------— -----------—
SBL : Total time taken 159.683
  • 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
  • Out of the ~35 ms taken for System Init is mostly attributed to DDR initialization.

AM62X-SK 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 : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 157 KB
  • Size of images loaded by stage2 : 940 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 6.668
SBL Stage1: Drivers_open 50.067
SBL Stage1: Board_driversOpen 0
SBL Stage1: Sciclient Get Version 9.928
SBL Stage1: App_loadImages 23.087
SBL Stage1: App_loadSelfcoreImage 24.984
SBL Stage2: System_init 2.669
SBL Stage2: Drivers_open 19.541
SBL Stage2: Board_driversOpen 0.001
SBL Stage2: Sciclient Get Version 9.975
SBL Stage2: App_loadImages 21.374
SBL Stage2: App_loadSelfcoreImage 26.255
SBL Stage2: App_loadLinuxImages 50.493
-------------------------------------— -----------—
SBL : Total time taken 245.066
  • 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
  • System Init is mostly attributed to DDR initialization.

AM62X-SK SBL EMMC performance (HS-SE)

  • Software/Application used : sbl_emmc_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 157 KB
  • Size of images loaded by stage2 : 940 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 6.861
SBL Stage1: Drivers_open 60.652
SBL Stage1: Board_driversOpen 0.000
SBL Stage1: Sciclient Get Version 9.928
SBL Stage1: App_loadImages 23.162
SBL Stage1: App_loadSelfcoreImage 25.043
SBL Stage2: System_init 2.666
SBL Stage2: Drivers_open 19.542
SBL Stage2: Board_driversOpen 0.001
SBL Stage2: Sciclient Get Version 10.001
SBL Stage2: App_loadImages 21.468
SBL Stage2: App_loadSelfcoreImage 26.326
SBL Stage2: App_loadLinuxImages 50.596
-------------------------------------— -----------—
SBL : Total time taken 256.246
  • The emmc driver initialization is done as part of Drivers_open. It takes more than 750ms. This needs more investigation.
  • The time taken for Sciclient Get Version can be avoided if the version check is disabled
  • System Init is mostly attributed to DDR initialization.

AM62X-SK LP 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 : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 157 KB
  • Size of images loaded by stage2 : 895 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 36.179
SBL Stage1: Drivers_open 25.260
SBL Stage1: Board_driversOpen 0.000
SBL Stage1: Sciclient Get Version 9.929
SBL Stage1: App_loadImages 23.180
SBL Stage1: App_loadSelfcoreImage 25.072
SBL Stage2: System_init 2.676
SBL Stage2: Drivers_open 19.546
SBL Stage2: Board_driversOpen 0.001
SBL Stage2: Sciclient Get Version 9.972
SBL Stage2: App_loadImages 21.393
SBL Stage2: App_loadSelfcoreImage 26.299
SBL Stage2: App_loadLinuxImages 49.668
-------------------------------------— -----------—
SBL : Total time taken 249.180
  • 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
  • System Init is mostly attributed to DDR initialization.

AM62X-SK LP SBL EMMC performance (HS-SE)

  • Software/Application used : sbl_emmc_linux_multistage, ipc_rpmsg_echo_linux, linux and HSM App Images
  • Cores booted by stage1 SBL : m4f0-0 r5f0-0
  • Cores booted by stage2 SBL : hsm-m4f0-0 r5f0-0 a530-0
  • Size of images loaded by stage1 : 157 KB
  • Size of images loaded by stage2 : 895 KB
  • Boot Media Clock : 200.000 MHz
Boot time breakdown Time (ms)
SBL Stage1: System_init 36.164
SBL Stage1: Drivers_open 26.775
SBL Stage1: Board_driversOpen 0.000
SBL Stage1: Sciclient Get Version 9.927
SBL Stage1: App_loadImages 23.284
SBL Stage1: App_loadSelfcoreImage 25.177
SBL Stage2: System_init 2.676
SBL Stage2: Drivers_open 19.542
SBL Stage2: Board_driversOpen 0.001
SBL Stage2: Sciclient Get Version 9.970
SBL Stage2: App_loadImages 21.511
SBL Stage2: App_loadSelfcoreImage 26.418
SBL Stage2: App_loadLinuxImages 50.718
-------------------------------------— -----------—
SBL : Total time taken 252.168
  • 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
  • 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 m4f0-0 1.605

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 m4f0-0 32 2.273
r5f0-0 m4f0-0 64 3.296
r5f0-0 m4f0-0 112 4.823