31.4.2.1 Sequences
For executing a set of instructions, it is more efficient to load them into the CRYPTO module and run them as a sequence. This is done
by writing the instructions into CRYPTO_SEQ0-CRYPTO_SEQ4, and marking the end of the instruction sequence with either an END
or an EXEC instruction. The END simply means end-of-instructions, while writing EXEC means end-of-instructions and execute imme-
diately.
The five registers allow up to 20 instructions to be loaded. To start execution, either end the instructions with an EXEC instruction, or set
SEQSTART in CRYPTO_CMD. CRYPTO will then execute the instructions, starting in CRYPTO_SEQ0, and ending at the first END
instruction. SEQRUNNING in CRYPTO_STATUS is set while the sequence is running, and the interrupt flag SEQDONE in CRYPTO_IF
will be set when the sequence has completed.
A sequence can be stopped by issuing the SEQSTOP command in the CRYPTO_CMD register. This command also clears the state of
ongoing CRYPTO instructions including DMA and BUFC access. Check SEQRUNNING in CRYPTO_STATUS after issuing the SEQ-
STOP command flag to make sure any ongoing sequence/transfer has completed before accessing data registers again.
Reference Manual
CRYPTO - Crypto Accelerator
silabs.com
| Building a more connected world.
Rev. 1.1 | 1030