AM263x MCU+ SDK  09.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 am263x-cc
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 QSPI Bootloader ...
[BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 80.000 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 0 KB
[BOOTLOADER_PROFILE] Cores present :
r5f0-0
[BOOTLOADER PROFILE] System_init : 290us
[BOOTLOADER PROFILE] Drivers_open : 75us
[BOOTLOADER PROFILE] LoadHsmRtFw : 14518us
[BOOTLOADER PROFILE] Board_driversOpen : 2971us
[BOOTLOADER PROFILE] CPU load : 130us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 17987us
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 Suceessfully retrived from the HSM Server.
[HSM CLIENT_PROFILE] Time taken by GetUID Request : 84us
[HSM CLIENT] Device UID is : 06D3BF416160CDD6DDF8CB8D7DEE63DFB42EDFE805726C0DE705D76CC586BD03E18B601A6D5854C810CBD00
[HSM CLIENT] TIFS-MCU Information
[Soc Type] = AM263x
[Device Type] = HS-FS
[HSM Type] = HSM_V1
[Bin Type] = STANDARD
[TIFS-MCU Version] = 9.0.0
Firewall request status = 11111111 11111111
Firewall Id = 12
Firewall region number = 2
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 = 13
Firewall region number = 2
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 = 14
Firewall region number = 2
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 = 2
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 = 16
Firewall region number = 2
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 = 17
Firewall region number = 2
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 status = 11111111 11111111
Firewall Id = 8
Firewall region number = 0
Start Address = 0x72000400
End Address = 0x720007ff
Aid Config = 0xe0
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:77