AM261x MCU+ SDK  10.02.00
HSM Services Example

Introduction

This example demonstrates the use of HSM services.

Three services are available.

  1. UID is a unique identifier for each device. It can be extracted using get uid service.
  2. HSM get version service serves the client with TIFS-MCU version information.
  3. HSM set firewall service is used to configure MPU firewall regions.

Supported Combinations

Parameter Value
CPU + OS r5fss0_0 nortos
Toolchain ti-arm-clang
Boards am261x-som
Example folder /examples/hsm_client/hsm_services/

Steps to Run the Example

Sample output

On successful boot, following message will be seen on terminal.

[HSM_CLIENT] New Client Registered with Client Id = 0
Starting OSPI Bootloader ...
[BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 133.333 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 0 KB
[BOOTLOADER_PROFILE] Cores present :
r5f0-0
[BOOTLOADER PROFILE] System_init : 259us
[BOOTLOADER PROFILE] Drivers_open : 91us
[BOOTLOADER PROFILE] LoadHsmRtFw : 13409us
[BOOTLOADER PROFILE] Board_driversOpen : 62004us
[BOOTLOADER PROFILE] CPU load : 79us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 75848us
Image loading done, switching to application ...
[HSM_CLIENT] New Client Registered with Client Id = 2
[HSM CLIENT] Sending UID Request to HSM Server..
[HSM CLIENT] Device UID Successfully retrived from the HSM Server.
[HSM CLIENT_PROFILE] Time taken by GetUID Request : 38us
[HSM CLIENT] Device UID is : 7CC1C9926C58DE089FD806633FCAE579D65A3DA22E58284FB4F11D610DF00DDDF3BDDD2D2E6B0D6E65EF788CBBD15272A0C4CD9EC4A1893BF4ADB3F38DE5A979[HSM CLIENT] TIFS-MCU 64bit version string = 0
x0015506000a0001
[HSM CLIENT] TIFS-MCU Information
[Soc Type] = AM261X
[Device Type] = HS-FS
[HSM Type] = HSM_V1
[Bin Type] = STANDARD
[TIFS-MCU Version] = 10.0.1
RNG output word -- 0x11835797
RNG output word -- 0xA70FB732
RNG output word -- 0x3872E9E1
RNG output word -- 0x3A6C3BE1
[HSM CLIENT_PROFILE] Time taken by get RNG request : 361us
Firewall request #1 status = 11111111 11111111
Firewall Id = 13
Firewall region number = 3
Start Address = 0x502f0000
End Address = 0x502f0fff
Aid Config = 0x10
Supervisor Read = 1
Supervisor Write = 1
Supervisor Execute = 1
User Read = 1
User Write = 1
User Execute = 1
Non Secure Access = 1
Emulation = 1
Firewall Id = 15
Firewall region number = 3
Start Address = 0x502f0000
End Address = 0x502f0fff
Aid Config = 0x10
Supervisor Read = 1
Supervisor Write = 1
Supervisor Execute = 1
User Read = 1
User Write = 1
User Execute = 1
Non Secure Access = 1
Emulation = 1
Firewall request #2 status = 11111111 11111111
Firewall Id = 5
Firewall region number = 0
Start Address = 0x72000400
End Address = 0x720007ff
Aid Config = 0x20
Supervisor Read = 0
Supervisor Write = 0
Supervisor Execute = 0
User Read = 0
User Write = 0
User Execute = 0
Non Secure Access = 1
Emulation = 1
HSM_V1
#define HSM_V1
HSM Version flag.
Definition: hsmclient_utils.h:81