Secure Bootloader Sample Reference Function Documentation
BL_AttestInitialize
BL_AttestStatus_t BL_AttestInitialize()
Location: bl_attestation.h:106
BL_AttestAcceptKey
BL_AttestStatus_t BL_AttestAcceptKey(BL_AttestKeyType_t keyType, size_t privKeySize, size_t pubKeySize)
Location: bl_attestation.h:115
Parameters
Direction | Name | Description |
---|---|---|
|
keyType |
The type of key being injected. |
|
privKeySize |
The size in bytes of the private key buffer. |
|
pubKeySize |
The maximum size of the buffer to hold the public key. |
Return
BL_AttestFindPublicKeyHash
BL_AttestStatus_t BL_AttestFindPublicKeyHash(uint8_t * hash)
Location: bl_attestation.h:123
Parameters
Direction | Name | Description |
---|---|---|
|
hash |
A buffer to hold the hash, no checking is performed on the size. |
Return
BL_AttestInjectKey
BL_AttestStatus_t BL_AttestInjectKey(uint8_t * key, size_t keySize, BL_AttestKeyType_t type, uint8_t * publicKey, size_t publicKeyMaxSize, size_t * publicKeySize)
Location: bl_attestation.h:140
Parameters
Direction | Name | Description |
---|---|---|
|
key |
The key to be stored or NULL if the key should be generated. |
|
keySize |
The number of bytes in the provided key, or zero. |
|
type |
the type of the key being provided or requested. |
|
publicKey |
The buffer into which the public key should be written. |
|
publicKeyMaxSize |
the maximum size of the provided buffer in bytes. |
|
publicKeySize |
The actual size of the returned key in bytes. |
Return
BL_AttestGetToken
BL_AttestStatus_t BL_AttestGetToken(uint8_t * challenge, BL_AttestationChallengeSize_t challengeSize, uint8_t * token, size_t * tokenSize)
Location: bl_attestation.h:153
Parameters
Direction | Name | Description |
---|---|---|
|
challenge |
The challenge request from the caller. |
|
challengeSize |
The requested challenge size. |
|
token |
The buffer into which the token should be written. |
|
tokenSize |
This provides the maximum size of the token buffer as well as returns the actual size of the returned token. |
Return
BL_AttestGetTokenSize
BL_AttestStatus_t BL_AttestGetTokenSize(BL_AttestationChallengeSize_t challengeSize, size_t * tokenSize)
Location: bl_attestation.h:164
Parameters
Direction | Name | Description |
---|---|---|
|
challengeSize |
The requested challenge size. |
|
tokenSize |
This returns the actual size of any returned token. |
Return
BL_CheckRemapAddressSpace
uint32_t BL_CheckRemapAddressSpace(uint32_t base, uint32_t address)
Location: bl_check.h:87
Parameters
Direction | Name | Description |
---|---|---|
|
base |
The base address of the application being checked. |
|
address |
The given address in either bootloader or application space. |
Return
BL_CheckGetApplicationSize
uint32_t BL_CheckGetApplicationSize(uint32_t address)
Location: bl_check.h:95
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The address of the base of the vector table. |
Return
BL_CheckRelocatedApplicationSize
uint32_t BL_CheckRelocatedApplicationSize(uint32_t address)
Location: bl_check.h:103
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The address of the base of the vector table. |
Return
BL_CheckIfImageUpdateAvailable
BL_UpdateType_t BL_CheckIfImageUpdateAvailable()
Location: bl_check.h:116
- The address must be properly aligned and within a sensible range.
- The stack pointer resides in RAM, is 64 bit aligned, allows 10 words.
- The reset ISR follows the vector table
address The address to check for a valid image. extent The maximum extent of the area holding the image. Return
Type of image update available in download area.
BL_CheckIfSecureImageUpdateAvailable
bool BL_CheckIfSecureImageUpdateAvailable()
Location: bl_check.h:132
- The address must be properly aligned and within a sensible range.
- The stack pointer resides in RAM, is 64 bit aligned, allows 10 words.
- The reset ISR follows the vector table.
- The full certificate chain must be authenticated.
updateType The type of update being requested. address The address to check for a valid image. extent The maximum extent of the area holding the image. Return
True if the image has security signature, false otherwise.
BL_CheckFindSecondaryImageLocation
void BL_CheckFindSecondaryImageLocation(uint32_t primaryBase, uint32_t primaryExtent, uint32_t * secondaryBase, uint32_t * secondaryExtent)
Location: bl_check.h:144
Parameters
Direction | Name | Description |
---|---|---|
|
primaryBase |
The base address of the primary image, used to locate the secondary one. |
|
primaryExtent |
The maximum extent of the primary application; |
|
secondaryBase |
|
|
secondaryExtent |
|
BL_ConfigIsValid
BL_ConfigStatus_t BL_ConfigIsValid(BL_AppConfiguration_t * configBase)
Location: bl_configuration.h:85
Parameters
Direction | Name | Description |
---|---|---|
|
configBase |
Defines the base address of the configuration block. |
Return
BL_ConfigCertificateAddress
uint32_t BL_ConfigCertificateAddress(BL_AppConfiguration_t * configBase, BL_LoaderCertType_t cert)
Location: bl_configuration.h:93
Parameters
Direction | Name | Description |
---|---|---|
|
configBase |
Defines the base address of the configuration block. |
|
cert |
A requested certificate. |
Return
BL_CryptoInitialize
BL_CryptoStatus_t BL_CryptoInitialize()
Location: bl_crypto.h:92
Return
BL_CryptoGetBootSeed
uint8_t * BL_CryptoGetBootSeed()
Location: bl_crypto.h:103
Return
BL_CryptoHash
BL_CryptoStatus_t BL_CryptoHash(uint8_t * buffer, uint32_t base, uint32_t length)
Location: bl_crypto.h:112
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer to which the should be written. |
|
base |
The base address of the memory to be hashed. |
|
length |
The length in bytes of the memory to be hashed. |
Return
BL_CryptoRSAKeySize
uint16_t BL_CryptoRSAKeySize(BL_CryptoRSAKeyType_t type, bool public)
Location: bl_crypto_rsa.h:78
Parameters
Direction | Name | Description |
---|---|---|
|
type |
The type of the key to calculate the size for. |
|
public |
Flag indicating the key being considered is public or private. |
Return
BL_CryptoRSASerialiseKey
BL_CryptoStatus_t BL_CryptoRSASerialiseKey(BL_CryptoRSAKeyType_t type, mbedtls_rsa_context * pKey, uint8_t * buffer, size_t length, bool public)
Location: bl_crypto_rsa.h:90
Parameters
Direction | Name | Description |
---|---|---|
|
type |
The type of the key to be serialized. |
|
pKey |
a pointer to a RSA context containing a key. |
|
buffer |
The buffer into which the key should be written. |
|
length |
The length of the buffer receiving the serialized key. |
|
public |
True if the public components of the key should be saved. |
Return
BL_CryptoRSADeserialiseKey
BL_CryptoStatus_t BL_CryptoRSADeserialiseKey(BL_CryptoRSAKeyType_t type, mbedtls_rsa_context * pKey, uint8_t * buffer, size_t length, bool public)
Location: bl_crypto_rsa.h:103
Parameters
Direction | Name | Description |
---|---|---|
|
type |
The type of the key to be deserialized. |
|
pKey |
a pointer to a RSA context containing a key. |
|
buffer |
The buffer from which the key should be read. |
|
length |
The length of the buffer holding the serialized key. |
|
public |
True if the public components of the key should be extracted. |
Return
BL_CryptoRSAGenerateKey
BL_CryptoStatus_t BL_CryptoRSAGenerateKey(BL_CryptoRSAKeyType_t keyType, mbedtls_rsa_context * pKey)
Location: bl_crypto_rsa.h:113
Parameters
Direction | Name | Description |
---|---|---|
|
keyType |
The type of the key to be generated. |
|
pKey |
A pointer to an uninitialised rsa context to hold the key. |
Return
BL_CryptoRSASignHash
BL_CryptoStatus_t BL_CryptoRSASignHash(BL_CryptoRSAKeyType_t keyType, mbedtls_rsa_context * pKey, uint8_t * sign, size_t signLength, uint8_t * hash, size_t hashLength)
Location: bl_crypto_rsa.h:127
Parameters
Direction | Name | Description |
---|---|---|
|
keyType |
The type of the RSA key to be used when signing the message. |
|
pKey |
A pointer to a private key. |
|
sign |
The resultant signature for the message. |
|
signLength |
The length of the buffer to which the signature is written. |
|
hash |
The resultant hash of the message. |
|
hashLength |
The length of the buffer holding the hash. |
Return
BL_CryptoRSASignMessage
BL_CryptoStatus_t BL_CryptoRSASignMessage(BL_CryptoRSAKeyType_t keyType, mbedtls_rsa_context * pKey, uint8_t * msg, size_t msgLength, uint8_t * sign, size_t signLength, uint8_t * hash, size_t hashLength)
Location: bl_crypto_rsa.h:149
Parameters
Direction | Name | Description |
---|---|---|
|
keyType |
The type of the RSA key to be used when signing the message. |
|
pKey |
A pointer to a private key. |
|
msg |
A pointer to a buffer holding the message to be signed. |
|
msgLength |
The length of the message to be signed. |
|
sign |
The resultant signature for the message. |
|
signLength |
The length of the buffer to which the signature is written. |
|
hash |
The resultant hash of the message. |
|
hashLength |
The length of the buffer holding the hash. |
Return
NOTE: This method is suitable for signing small messages which are held in RAM, if larger messages need to be handled it may be more suitable to perform the hashing separately using BL_CryptoHash and then sign the hash in isolation using BL_CryptoRSASignHashRSA.
BL_CryptoRSAVerifyMessage
BL_CryptoStatus_t BL_CryptoRSAVerifyMessage(mbedtls_rsa_context * pKey, uint8_t * sign, uint8_t * hash, size_t hashLength)
Location: bl_crypto_rsa.h:162
Parameters
Direction | Name | Description |
---|---|---|
|
pKey |
A pointer to a private key. |
|
sign |
The signature to be verified. |
|
hash |
The hash of the original message which has been signed. |
|
hashLength |
The length of the hash. |
Return
BL_EATPopulate
BL_EATStatus_t BL_EATPopulate(uint8_t * challenge, size_t size)
Location: bl_eat.h:98
Parameters
Direction | Name | Description |
---|---|---|
|
challenge |
A pointer to the challenge buffer. |
|
size |
The size of the challenge in bytes. |
Return
BL_EATSize
size_t BL_EATSize(size_t challengeSize)
Location: bl_eat.h:105
Parameters
Direction | Name | Description |
---|---|---|
|
challengeSize |
The size in bytes fo the challenge accompanying the EAT. |
Return
BL_FCSInitialize
BL_FCSStatus_t BL_FCSInitialize(uint8_t * buffer, size_t length, BL_FCS_t fcs)
Location: bl_fcs.h:86
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A buffer of bytes to be FCS'd. |
|
length |
The number of bytes. |
|
fcs |
The expected FCS value. |
Return
BL_FCSQuery
BL_FCSAlgorithm_t BL_FCSQuery()
Location: bl_fcs.h:92
Return
BL_FCSAuthenticationRequired
bool BL_FCSAuthenticationRequired()
Location: bl_fcs.h:99
Return
BL_FCSSelect
BL_FCSStatus_t BL_FCSSelect(BL_FCSAlgorithm_t algo)
Location: bl_fcs.h:108
Parameters
Direction | Name | Description |
---|---|---|
|
algo |
Selected from BL_FCSAlgorithm_t. |
Return
BL_FCSCheck
BL_FCSStatus_t BL_FCSCheck(uint8_t * buffer, size_t length, BL_FCS_t fcs)
Location: bl_fcs.h:119
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A buffer of bytes to calculate a FCS over. |
|
length |
The number of bytes. |
|
fcs |
The expected FCS value. |
Return
BL_FCSCalculate
BL_FCSStatus_t BL_FCSCalculate(uint8_t * buffer, size_t length, BL_FCS_t * fcs)
Location: bl_fcs.h:130
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A buffer of bytes to calculate a FCS over. |
|
length |
The number of bytes. |
|
fcs |
The calculated FCS value. |
Return
BL_FCSAccumulateCRC
uint32_t BL_FCSAccumulateCRC(uint8_t * buffer, size_t length)
Location: bl_fcs.h:141
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A buffer of bytes to calculate a CRC on. |
|
length |
The number of bytes. |
NOTE: This is expected to be used for RAM buffers where the use of the flash copier can't be used. The CRC engine should be initialised prior to calling this function.
BL_EncryptInitialize
BL_EncryptionStatus_t BL_EncryptInitialize(const uint8_t * label, size_t length)
Location: bl_file_encryption.h:85
Parameters
Direction | Name | Description |
---|---|---|
|
label |
A label value to be used when creating the derived key. |
|
length |
The length of the label in bytes. |
Return
BL_EncryptResetEncryption
BL_EncryptionStatus_t BL_EncryptResetEncryption(const uint8_t * iv)
Location: bl_file_encryption.h:96
Parameters
Direction | Name | Description |
---|---|---|
|
iv |
The new initial value, must be a pointer to a buffer of BL_ENCRYPT_KEY_SIZE_BYTES bytes. |
BL_EncryptResetDecryption
BL_EncryptionStatus_t BL_EncryptResetDecryption(const uint8_t * iv)
Location: bl_file_encryption.h:106
Parameters
Direction | Name | Description |
---|---|---|
|
iv |
The new initial value, must be a pointer to a buffer of BL_ENCRYPT_KEY_SIZE_BYTES bytes. |
BL_EncryptEncryptBuffer
BL_EncryptionStatus_t BL_EncryptEncryptBuffer(uint8_t * buffer, size_t length)
Location: bl_file_encryption.h:117
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer to be encrypted. |
|
length |
The length of the buffer being encrypted. |
Return
NOTE: The length must be a a multiple of 16 bytes otherwise an error will be reported.
BL_EncryptDecryptBuffer
BL_EncryptionStatus_t BL_EncryptDecryptBuffer(uint8_t * buffer, size_t length)
Location: bl_file_encryption.h:128
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer to be decrypted. |
|
length |
The length of the buffer being decrypted. |
Return
NOTE: The length must be a a multiple of 16 bytes otherwise an error will be reported.
BL_EncryptComplete
BL_EncryptionStatus_t BL_EncryptComplete()
Location: bl_file_encryption.h:134
Return
BL_FlashInitialize
void BL_FlashInitialize()
Location: bl_flash.h:55
BL_FlashSaveSector
FlashStatus_t BL_FlashSaveSector(uint8_t * address, size_t length, uint8_t * buffer)
Location: bl_flash.h:67
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The address in flash to save the buffer. |
|
length |
The number of bytes to save. |
|
buffer |
A pointer to a buffer of data to be written. |
Return
NOTE: The start address is expected to start on a sector boundary.
BL_ImageInitialize
BL_ImageType_t BL_ImageInitialize(uint8_t * address, size_t length, uint32_t crc)
Location: bl_image.h:98
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The base address of the image being loaded. |
|
length |
The length of the image in bytes. |
|
crc |
the crc of the image being loaded. |
Return
BL_ImageAddress
uint32_t BL_ImageAddress(uint32_t address)
Location: bl_image.h:107
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The address in an image. |
Return
BL_ImageAddressRange
void BL_ImageAddressRange(uint8_t * address, size_t length, BL_ImageSplitRange_t * range)
Location: bl_image.h:118
Parameters
Direction | Name | Description |
---|---|---|
|
address |
An address within an image that may need to be adjusted. |
|
length |
the length of the address range. |
|
range |
A split range object that indicates where the address range needs to be split. |
BL_ImageCopyMemoryRange
void BL_ImageCopyMemoryRange(uint8_t * dst, BL_ImageSplitRange_t * range)
Location: bl_image.h:127
Parameters
Direction | Name | Description |
---|---|---|
|
dst |
The destination buffer. |
|
range |
The range defining the source locations. |
BL_ImageSaveBlock
BL_ImageStatus_t BL_ImageSaveBlock(BL_ImageOperation_t * operation)
Location: bl_image.h:135
Parameters
Direction | Name | Description |
---|---|---|
|
operation |
Defines the address and length of the block to be saved. |
Return
BL_ImageVerify
BL_ImageStatus_t BL_ImageVerify()
Location: bl_image.h:144
Return
BL_ImageAuthenticate
BL_ImageStatus_t BL_ImageAuthenticate(BL_ImageType_t imageType, uint32_t * address, size_t length, bool verifyImages)
Location: bl_image.h:157
Parameters
Direction | Name | Description |
---|---|---|
|
imageType |
The type of the image being authenticated. |
|
address |
The base address of the image to be authenticated. |
|
length |
The size of the area in bytes. |
|
verifyImages |
Flag indicating that the s/w images must be validated. |
Return
BL_ImageAuthenticateCurrent
BL_ImageStatus_t BL_ImageAuthenticateCurrent()
Location: bl_image.h:167
Return
BL_ImageIsValid
bool BL_ImageIsValid(uint32_t address, size_t length)
Location: bl_image.h:176
Parameters
Direction | Name | Description |
---|---|---|
|
address |
The address of the image in flash. |
|
length |
The length of the image in bytes. |
Return
BL_ImageSaveAddress
uint32_t BL_ImageSaveAddress(BL_ImageType_t imageType, uint32_t address)
Location: bl_image.h:185
Parameters
Direction | Name | Description |
---|---|---|
|
imageType |
The type of the image being authenticated. |
|
address |
The requested address |
Return
BL_ImageStartApplication
void BL_ImageStartApplication(uint32_t imageBaseAddress)
Location: bl_image.h:192
Parameters
Direction | Name | Description |
---|---|---|
|
imageBaseAddress |
The base address of the image to be started |
BL_LoaderPerformFirmwareLoad
void BL_LoaderPerformFirmwareLoad()
Location: bl_loader.h:147
BL_LoaderCertificateAddress
uint32_t BL_LoaderCertificateAddress(BL_LoaderCertType_t cert)
Location: bl_loader.h:154
Parameters
Direction | Name | Description |
---|---|---|
|
cert |
A requested certificate. |
Return
BL_CBORInitialize
BL_CBORStatus_t BL_CBORInitialize(uint8_t * buffer, size_t size)
Location: bl_mini_cbor.h:73
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer to render to. |
|
size |
The size of the buffer in bytes. |
Return
BL_CBORReset
BL_CBORStatus_t BL_CBORReset()
Location: bl_mini_cbor.h:80
Return
BL_CBORUsed
BL_CBORStatus_t BL_CBORUsed(size_t * size)
Location: bl_mini_cbor.h:88
Parameters
Direction | Name | Description |
---|---|---|
|
size |
Pointer to size_t object to receive the number of used bytes. |
Return
BL_CBORCurrent
uint8_t * BL_CBORCurrent()
Location: bl_mini_cbor.h:95
Return
BL_CBORAddInteger
BL_CBORStatus_t BL_CBORAddInteger(uint32_t value)
Location: bl_mini_cbor.h:104
Parameters
Direction | Name | Description |
---|---|---|
|
value |
The value to render to the buffer.. |
Return
BL_CBORAddBuffer
BL_CBORStatus_t BL_CBORAddBuffer(uint8_t * value, uint32_t size)
Location: bl_mini_cbor.h:113
Parameters
Direction | Name | Description |
---|---|---|
|
value |
A pointer to an array of bytes to be added. |
|
size |
The size of the buffer to add. |
Return
BL_CBORAddMap
BL_CBORStatus_t BL_CBORAddMap(uint32_t numItems)
Location: bl_mini_cbor.h:121
Parameters
Direction | Name | Description |
---|---|---|
|
numItems |
The number of items that will be in the map. |
Return
BL_CBORAddMapPair
BL_CBORStatus_t BL_CBORAddMapPair(uint32_t tag, uint8_t * value, uint32_t size)
Location: bl_mini_cbor.h:131
Parameters
Direction | Name | Description |
---|---|---|
|
tag |
The key value to add. |
|
value |
a pointer to a buffer of data to write. |
|
size |
The number of butes in the value being written. |
Return
BL_CBORSizeInteger
size_t BL_CBORSizeInteger(uint32_t value)
Location: bl_mini_cbor.h:140
Parameters
Direction | Name | Description |
---|---|---|
|
value |
The value to size. |
Return
BL_CBORSizeBuffer
size_t BL_CBORSizeBuffer(uint32_t size)
Location: bl_mini_cbor.h:148
Parameters
Direction | Name | Description |
---|---|---|
|
size |
The number of bytes in the buffer being renedered. |
Return
BL_CBORSizeMap
size_t BL_CBORSizeMap(uint32_t numItems)
Location: bl_mini_cbor.h:156
Parameters
Direction | Name | Description |
---|---|---|
|
numItems |
the number of items in the map. |
Return
BL_CBORSizeMapPair
size_t BL_CBORSizeMapPair(uint32_t tag, uint32_t size)
Location: bl_mini_cbor.h:165
Parameters
Direction | Name | Description |
---|---|---|
|
tag |
The key value. |
|
size |
The size of the buffer associated with the value. |
Return
BL_RecoveryInitialize
void BL_RecoveryInitialize()
Location: bl_recovery.h:57
BL_SecureBootInitialize
blSecureBootStatus_t BL_SecureBootInitialize()
Location: bl_secure_boot.h:81
Return
BL_SecureBootAuthenticate
blSecureBootStatus_t BL_SecureBootAuthenticate(uint32_t opkey1, uint32_t opkey2, uint32_t opcontent, bool verifyImages, uint32_t relocation)
Location: bl_secure_boot.h:95
Parameters
Direction | Name | Description |
---|---|---|
|
opkey1 |
The address of the first key certificate. |
|
opkey2 |
The address of the second key certificate. |
|
opcontent |
The address of a content certificate. |
|
verifyImages |
Flag indicating if full verification is to be done. |
|
relocation |
The address of the s/w images in memory if not accurate in the content certificate. |
Return
BL_FStoreInitialize
BL_FStoreStatus_t BL_FStoreInitialize()
Location: bl_simple_filer.h:110
Return
BL_FStoreMakeFilesystem
BL_FStoreStatus_t BL_FStoreMakeFilesystem()
Location: bl_simple_filer.h:116
Return
BL_FStoreFileSize
uint32_t BL_FStoreFileSize(BL_FSFileId_t id)
Location: bl_simple_filer.h:123
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreFileExists
bool BL_FStoreFileExists(BL_FSFileId_t id)
Location: bl_simple_filer.h:130
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreFileCanRead
bool BL_FStoreFileCanRead(BL_FSFileId_t id)
Location: bl_simple_filer.h:137
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreFileCanWrite
bool BL_FStoreFileCanWrite(BL_FSFileId_t id)
Location: bl_simple_filer.h:144
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreFileCanDelete
bool BL_FStoreFileCanDelete(BL_FSFileId_t id)
Location: bl_simple_filer.h:151
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreWrite
BL_FStoreStatus_t BL_FStoreWrite(BL_FSFileId_t id, uint8_t * buffer, uint16_t size, uint16_t flags)
Location: bl_simple_filer.h:162
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
|
buffer |
A pointer to a RAM buffer containing the file contents. |
|
size |
The size of the buffer in bytes. |
|
flags |
The set of flags associated with the file. |
Return
BL_FStoreRead
BL_FStoreStatus_t BL_FStoreRead(BL_FSFileId_t id, uint8_t * buffer, uint16_t * maxsize)
Location: bl_simple_filer.h:174
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
|
buffer |
A pointer to a RAM buffer to write the file contents. |
|
maxsize |
The maximum size of the buffer in bytes. On exit, this value is updated to reflect the actual number of bytes read. |
Return
BL_FStoreDelete
BL_FStoreStatus_t BL_FStoreDelete(BL_FSFileId_t id)
Location: bl_simple_filer.h:183
Parameters
Direction | Name | Description |
---|---|---|
|
id |
The file identifier. |
Return
BL_FStoreFileList
BL_FStoreStatus_t BL_FStoreFileList(uint8_t * buffer, uint16_t * maxsize, bool showHidden)
Location: bl_simple_filer.h:194
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a RAM buffer to write the directory contents. |
|
maxsize |
The maximum size of the buffer in bytes. On exit, this |
|
showHidden |
Flag indicating if the reserved files should be included. value is updated to reflect the actual number of bytes read. |
Return
BL_TargetInitialize
void BL_TargetInitialize()
Location: bl_target.h:77
BL_TargetReset
void BL_TargetReset()
Location: bl_target.h:82
BL_TickerInitialize
void BL_TickerInitialize()
Location: bl_ticker.h:58
BL_TickerTime
uint32_t BL_TickerTime()
Location: bl_ticker.h:64
Return
SysTick_Handler
void SysTick_Handler()
Location: bl_ticker.h:69
BL_TraceInitialize
void BL_TraceInitialize()
Location: bl_trace.h:70
BL_UARTInitialize
void BL_UARTInitialize()
Location: bl_uart.h:102
BL_UARTReceiveAsync
BL_UARTStatus_t BL_UARTReceiveAsync(uint8_t * buffer, size_t length)
Location: bl_uart.h:119
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer in which to store the incoming data. |
|
length |
The number of bytes to store in the buffer. (> 0) |
Return
NOTE: No checking is performed to ensure that the buffer is big enough to hold the requested number of bytes. The calling function must ensure this is valid.
NOTE: There must be no pending receive operation pending when this is invoked.
BL_UARTReceiveComplete
BL_UARTStatus_t BL_UARTReceiveComplete(uint8_t * buffer, size_t length, BL_FCS_t * fcs)
Location: bl_uart.h:137
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer in which to store the incoming data. |
|
length |
The number of bytes to store in the buffer. (> 0) |
|
fcs |
Indicating if a FCS should be calculated on the input. NULL indicates no FCS calculation needed. |
Return
NOTE: There must be an existing receive operation pending.
NOTE: This is a blocking operation.
BL_UARTReceive
BL_UARTStatus_t BL_UARTReceive(uint8_t * buffer, size_t length, BL_FCS_t * fcs)
Location: bl_uart.h:161
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer in which to store the incoming data. |
|
length |
The number of bytes to store in the buffer. (> 0) |
|
fcs |
Indicating if a FCS should be calculated on the input. NULL indicates no FCS calculation needed. |
Return
NOTE: No checking is performed to ensure that the buffer is big enough to hold the requested number of bytes. The calling function must ensure this is valid.
NOTE: There must be no pending receive operation pending when this is invoked.
NOTE: This is a blocking operation.
BL_UARTSendAsync
BL_UARTStatus_t BL_UARTSendAsync(uint8_t * buffer, size_t length, BL_FCS_t * fcs)
Location: bl_uart.h:175
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer holding the outgoing data. |
|
length |
The number of bytes to send. (> 0) |
|
fcs |
The FCS of the buffer to accompany the transmission. |
Return
NOTE: There must be no pending transmit operation pending when this is invoked.
BL_UARTSendComplete
BL_UARTStatus_t BL_UARTSendComplete()
Location: bl_uart.h:188
Return
NOTE: There must be an existing transmit operation pending.
NOTE: This is a blocking operation.
BL_UARTSend
BL_UARTStatus_t BL_UARTSend(uint8_t * buffer, size_t length, BL_FCS_t * fcs)
Location: bl_uart.h:205
Parameters
Direction | Name | Description |
---|---|---|
|
buffer |
A pointer to a buffer holding the outgoing data. |
|
length |
The number of bytes to send. (> 0) |
|
fcs |
The FCS of the buffer to accompany the transmission. |
Return
NOTE: There must be no pending transmit operation pending when this is invoked.
NOTE: This is a blocking operation.
BL_UpdateInitialize
void BL_UpdateInitialize()
Location: bl_update.h:60
BL_UpdateRequested
bool BL_UpdateRequested()
Location: bl_update.h:66
Return
BL_UpdateProcessPendingImages
void BL_UpdateProcessPendingImages()
Location: bl_update.h:73
BL_ImageSelectAndStartApplication
void BL_ImageSelectAndStartApplication()
Location: bl_update.h:90
BL_VersionsGetInformation
void BL_VersionsGetInformation(BL_BootAppVersion_t * version, uint32_t address)
Location: bl_versions.h:101
Parameters
Direction | Name | Description |
---|---|---|
|
version |
The structure into which the information should be copied. |
|
address |
The base address of the application under consideration. |
BL_VersionsGetHello
void BL_VersionsGetHello(BL_HelloResponse_t * response)
Location: bl_versions.h:108
Parameters
Direction | Name | Description |
---|---|---|
|
response |
The structure into which the hello response should be copied. |
BL_WatchdogInitialize
void BL_WatchdogInitialize()
Location: bl_watchdog.h:64
BL_WatchdogSetHoldTime
void BL_WatchdogSetHoldTime(uint32_t seconds)
Location: bl_watchdog.h:76
Parameters
Direction | Name | Description |
---|---|---|
|
seconds |
The number of seconds to allow before the watchdog bites. |
NOTE: This allows the watchdog interrupt to fire but refreshes the watchdog itself until the requested number of seconds has elapsed. This is a crude mechanism to prevent long running calculations such as RSA key generation from causing a system reset.
WATCHDOG_IRQHandler
void WATCHDOG_IRQHandler()
Location: bl_watchdog.h:82