Memory Region commands#
Modules#
Enumerations#
enum
SL_SE_MEMORY_REGION_SECURITY_LEVEL_PLAINTEXT = 0
SL_SE_MEMORY_REGION_SECURITY_LEVEL_ENC_ONLY
SL_SE_MEMORY_REGION_SECURITY_LEVEL_ENC_AUTH
}
Security level of a memory (code or data) region.
Functions#
sl_status_t
sl_se_code_region_get_config(sl_se_command_context_t *cmd_ctx, sl_se_code_region_config_t *regions_array, unsigned int start_region_idx, unsigned int region_array_size)
sl_status_t
sl_se_code_region_apply_config(sl_se_command_context_t *cmd_ctx, sl_se_code_region_config_t *regions_array, unsigned int start_region_idx, unsigned int region_array_size)
sl_status_t
sl_se_code_region_set_active_banked(sl_se_command_context_t *cmd_ctx, unsigned int region_idx) SL_DEPRECATED_API_SDK_2025_6
Deprecated function.
sl_status_t
sl_se_code_region_erase(sl_se_command_context_t *cmd_ctx, unsigned int region_idx)
sl_status_t
sl_se_code_region_partial_erase(sl_se_command_context_t *cmd_ctx, unsigned int region_idx, uint32_t block_offset, uint32_t num_blocks)
sl_status_t
sl_se_code_region_write(sl_se_command_context_t *cmd_ctx, unsigned int region_idx, uint32_t offset, const void *data, uint32_t num_bytes, sl_se_crypto_operation_t *decryption_info, sl_se_crypto_operation_t *integrity_check)
sl_status_t
sl_se_code_region_close(sl_se_command_context_t *cmd_ctx, unsigned int region_idx, uint32_t version)
sl_status_t
sl_se_code_region_get_version(sl_se_command_context_t *cmd_ctx, unsigned int region_idx, uint32_t *version)
sl_status_t
sl_se_data_region_get_location(sl_se_command_context_t *cmd_ctx, void **address, size_t *size)
sl_status_t
sl_se_data_region_write(sl_se_command_context_t *cmd_ctx, void *address, const void *data, size_t num_bytes)
sl_status_t
sl_se_data_region_erase(sl_se_command_context_t *cmd_ctx, void *start_address, size_t num_sectors)
Macros#
#define
SL_SE_MAX_CODE_REGIONS 8
The maximum number of code regions available on the device.
Enumeration Documentation#
sl_se_memory_region_security_level_t#
sl_se_memory_region_security_level_t
Security level of a memory (code or data) region.
Enumerator | |
---|---|
SL_SE_MEMORY_REGION_SECURITY_LEVEL_PLAINTEXT | |
SL_SE_MEMORY_REGION_SECURITY_LEVEL_ENC_ONLY | |
SL_SE_MEMORY_REGION_SECURITY_LEVEL_ENC_AUTH |
Function Documentation#
sl_se_code_region_get_config#
sl_status_t sl_se_code_region_get_config (sl_se_command_context_t * cmd_ctx, sl_se_code_region_config_t * regions_array, unsigned int start_region_idx, unsigned int region_array_size)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
sl_se_code_region_config_t * | N/A | regions_array | |
unsigned int | N/A | start_region_idx | |
unsigned int | N/A | region_array_size |
sl_se_code_region_apply_config#
sl_status_t sl_se_code_region_apply_config (sl_se_command_context_t * cmd_ctx, sl_se_code_region_config_t * regions_array, unsigned int start_region_idx, unsigned int region_array_size)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
sl_se_code_region_config_t * | N/A | regions_array | |
unsigned int | N/A | start_region_idx | |
unsigned int | N/A | region_array_size |
sl_se_code_region_set_active_banked#
sl_status_t sl_se_code_region_set_active_banked (sl_se_command_context_t * cmd_ctx, unsigned int region_idx)
Deprecated function.
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx |
Use sl_se_code_region_apply_config instead. Enable or disable bank swapping between two consecutive code regions
sl_se_code_region_erase#
sl_status_t sl_se_code_region_erase (sl_se_command_context_t * cmd_ctx, unsigned int region_idx)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx |
sl_se_code_region_partial_erase#
sl_status_t sl_se_code_region_partial_erase (sl_se_command_context_t * cmd_ctx, unsigned int region_idx, uint32_t block_offset, uint32_t num_blocks)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx | |
uint32_t | N/A | block_offset | |
uint32_t | N/A | num_blocks |
sl_se_code_region_write#
sl_status_t sl_se_code_region_write (sl_se_command_context_t * cmd_ctx, unsigned int region_idx, uint32_t offset, const void * data, uint32_t num_bytes, sl_se_crypto_operation_t * decryption_info, sl_se_crypto_operation_t * integrity_check)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx | |
uint32_t | N/A | offset | |
const void * | N/A | data | |
uint32_t | N/A | num_bytes | |
sl_se_crypto_operation_t * | N/A | decryption_info | |
sl_se_crypto_operation_t * | N/A | integrity_check |
sl_se_code_region_close#
sl_status_t sl_se_code_region_close (sl_se_command_context_t * cmd_ctx, unsigned int region_idx, uint32_t version)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx | |
uint32_t | N/A | version |
sl_se_code_region_get_version#
sl_status_t sl_se_code_region_get_version (sl_se_command_context_t * cmd_ctx, unsigned int region_idx, uint32_t * version)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
unsigned int | N/A | region_idx | |
uint32_t * | N/A | version |
sl_se_data_region_get_location#
sl_status_t sl_se_data_region_get_location (sl_se_command_context_t * cmd_ctx, void ** address, size_t * size)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
void ** | N/A | address | |
size_t * | N/A | size |
sl_se_data_region_write#
sl_status_t sl_se_data_region_write (sl_se_command_context_t * cmd_ctx, void * address, const void * data, size_t num_bytes)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
void * | N/A | address | |
const void * | N/A | data | |
size_t | N/A | num_bytes |
sl_se_data_region_erase#
sl_status_t sl_se_data_region_erase (sl_se_command_context_t * cmd_ctx, void * start_address, size_t num_sectors)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_se_command_context_t * | N/A | cmd_ctx | |
void * | N/A | start_address | |
size_t | N/A | num_sectors |