Fuses API#

This module contains support for Fuses manipulation.

Fuses#

Module handling the operations on fuses.

class spsdk.fuses.fuses.BlhostFuseOperator(mboot)#

Bases: FuseOperator

Blhost fuse operator.

Blhost fuse operator initialization.

NAME: Optional[str] = 'blhost'#
classmethod get_fuse_script(family, fuses, revision='latest')#

Get fuses script.

Return type:

str

classmethod get_fuse_write_cmd(index, value, lock=False, verify=False)#

Get fuse write command.

Return type:

str

read_fuse(index)#

Read a single fuse value.

Parameters:

index (int) – Index of a fuse

Return type:

int

Returns:

Fuse value

write_fuse(index, value, lock=False)#

Write a single fuse.

Parameters:
  • index (int) – Index of a fuse

  • value (int) – Fuse value to be written

  • lock (bool) – Lock fuse after write

Return type:

None

class spsdk.fuses.fuses.FuseOperator#

Bases: object

Fuse operator abstract class.

NAME: Optional[str] = None#
abstract classmethod get_fuse_script(family, fuses, revision='latest')#

Get fuse script.

Return type:

str

abstract classmethod get_fuse_write_cmd(index, value, lock=False, verify=False)#

Get write command for a single fuse.

Return type:

str

classmethod get_operator_type(name)#

Get operator type by its name.

Return type:

Type[FuseOperator]

abstract read_fuse(index)#

Read a single fuse value.

Parameters:

index (int) – Index of a fuse

Return type:

int

Returns:

Fuse value

abstract write_fuse(index, value, lock=False)#

Write a single fuse.

Parameters:
  • index (int) – Index of a fuse

  • value (int) – Fuse value to be written

  • lock (bool) – Lock fuse after write

Return type:

None

class spsdk.fuses.fuses.FuseScript(family, revision, feature, index=None, fuses_key='fuses')#

Bases: object

Class for generating scripts for writing fuses.

Initialize FuseScript object.

generate_file_header()#

Generate file header.

Return type:

str

generate_script(attributes_object, info_only=False)#

Generate script for writing fuses.

This method generates a script for writing fuses based on the provided attributes object. The script includes the file header and the commands for setting the fuse values.

Special attributes: - __str_value: Value with double underscore represents attribute of the object.

Parameters:
  • attributes_object (object) – An object containing the attributes used to set the fuse values.

  • info_only (bool) – If True, only the information about the fuses is generated.

Return type:

str

Returns:

The generated script for writing fuses.

static get_object_value(value, attributes_object)#

Return object value if attributes object has attribute with the value name.

Return type:

Any

write_script(filename, output_dir, attributes_object)#

Write script to file.

Return type:

str

Returns:

The path to the generated script file.

class spsdk.fuses.fuses.Fuses(family, revision='latest', fuse_operator=None)#

Bases: object

Handle operations over fuses.

Fuses class to control fuses operations.

create_fuse_script()#

The function creates the blhost/nxpele script to burn fuses.

Return type:

str

Returns:

Content of blhost/nxpele script file.

property fuse_operator: FuseOperator#

Fuse operator property.

property fuse_operator_type: Type[FuseOperator]#

Operator type based on family.

classmethod generate_config_template(family, revision='latest')#

Generate fuses configuration template.

Parameters:
  • family (str) – Family for which the template should be generated.

  • revision (str) – Family revision of chip.

Return type:

str

get_config(diff=False)#

The function creates the configuration.

Parameters:

diff (bool) – If set, only changed registers will be placed in configuration.

Return type:

dict[str, Any]

classmethod get_fuse_operator_type(family, revision='latest')#

Get operator type based on family.

Return type:

Type[FuseOperator]

classmethod get_init_regs(family, revision='latest')#

Get initialized fuse registers.

Return type:

FuseRegisters

static get_supported_families()#

Return list of supported families.

Return type:

list[str]

classmethod get_validation_schemas(family, revision='latest')#

Create the validation schema.

Parameters:
  • family (str) – Family description.

  • revision (str) – Chip revision specification, as default, latest is used.

Return type:

list[dict[str, Any]]

Returns:

List of validation schemas.

classmethod get_validation_schemas_family()#

Get list of validation schemas for family key.

Return type:

list[dict[str, Any]]

Returns:

Validation list of schemas.

load_config(config)#

Loads the fuses configuration from dictionary.

Parameters:

config (dict[str, Any]) – The configuration of fuses.

Return type:

None

classmethod load_from_config(config)#

Create fuses object from given configuration.

Parameters:

config (dict[str, Any]) – The configuration of fuses.

Return type:

Self

read_all()#

Read all fuses from connected device.

Return type:

None

read_single(name, check_locks=True)#

Read single fuse from device.

Parameters:
  • name (str) – Fuse name or uid.

  • check_locks (bool) – Check value of lock fuse before reading

Return type:

int

write_multiple(names)#

Write multiple fuses to the device.

Parameters:

names (list[str]) – List of fuse names or uids.

Return type:

None

write_single(name, lock=False)#

Write single fuse to the device.

Parameters:
  • name (str) – Fuse name or uid.

  • lock (bool) – Set lock after write.

Return type:

None

class spsdk.fuses.fuses.NxpeleFuseOperator(ele_handler)#

Bases: FuseOperator

NXP ele fuse operator.

Nxp ele fuse operator initialization.

NAME: Optional[str] = 'nxpele'#
classmethod get_fuse_script(family, fuses, revision='latest')#

Get fuse write command.

Return type:

str

classmethod get_fuse_write_cmd(index, value, lock=False, verify=False)#

Get write command for a single fuse.

Return type:

str

read_fuse(index)#

Read a single fuse value.

Parameters:

index (int) – Index of a fuse

Return type:

int

Returns:

Fuse value

write_fuse(index, value, lock=False)#

Write a single fuse.

Parameters:
  • index (int) – Index of a fuse

  • value (int) – Fuse value to be written

  • lock (bool) – Lock fuse after write

Return type:

None

exception spsdk.fuses.fuses.SPSDKFuseConfigurationError(desc=None)#

Bases: SPSDKError

SPSDK Fuse configuration failure.

Initialize the base SPSDK Exception.

exception spsdk.fuses.fuses.SPSDKFuseOperationFailure(desc=None)#

Bases: SPSDKError

SPSDK Fuse operation failure.

Initialize the base SPSDK Exception.

spsdk.fuses.fuses.mboot_operation_decorator(func)#

Decorator to handle a method with mcuboot operation.

Return type:

Callable