Deprecated Functions#

Deprecated Functions.

Modules#

SE_OTPInit_t

SE_DebugStatus_t

SE_Status_t

Functions#

SE_initPubkey(uint32_t key_type, void *pubkey, uint32_t numBytes, bool signature)
SE_initOTP(SE_OTPInit_t *otp_init)

Function Documentation#

SE_initPubkey#

SE_Response_t SE_initPubkey (uint32_t key_type, void * pubkey, uint32_t numBytes, bool signature)
Parameters
[in]key_type

ID of key type to initialize.

[in]pubkey

Pointer to a buffer that contains the public key or signature. Must be word aligned and have a length of 64 bytes.

[in]numBytes

Length of pubkey buffer (64 bytes).

[in]signature

If true, initialize signature for the specified key type instead of the public key itself.

Init pubkey or pubkey signature.

Initialize public key stored in the SE, or its corresponding signature. The command can be used to write:

  • SE_KEY_TYPE_BOOT – public key used to perform secure boot

  • SE_KEY_TYPE_AUTH – public key used to perform secure debug

Note

  • These keys can not be overwritten, so this command can only be issued once per key per part.

Returns

  • One of the SE_RESPONSE return codes.


Definition at line 803 of file platform/emlib/src/em_se.c

SE_initOTP#

SE_Response_t SE_initOTP (SE_OTPInit_t * otp_init)
Parameters
[in]otp_init

SE_OTPInit_t structure containing the SE configuration.

Initialize SE one-time-programmable (OTP) configuration.

Configuration is performed by setting the desired options in the SE_OTPInit_t structure.

This function can be used to enable secure boot, to configure flash page locking, and to enable anti-rollback protection when using the SE to perform an application upgrade, typically a Gecko bootloader upgrade.

Before secure boot can be enabled, the public key used for secure boot verification must be uploaded using SE_initPubkey().

Warnings

  • This command can only be executed once per device! When the configuration has been programmed it is not possible to update any of the fields.

Returns

  • One of the SE_RESPONSE return codes.


Definition at line 873 of file platform/emlib/src/em_se.c