COMMON - Common Utilities#
General purpose utilities and cross-compiler support.
This SDK supports the following compilers/IDEs:
Simplicity Studio
IAR Embedded Workbench
Keil uVision IDE
Plain armgcc
Certain compiler features such as alignment is implemented differently in the tools. Therefore, macros such as SL_ALIGN are provided to enable compiler independent code.
Note
RAM code macros are implemented in RAMFUNC. Cross-compiler RAM code support needs extended documentation and it is therefore implemented as a separate module.
Functions#
Count trailing number of zeros.
Reverse the bits.
Reverse the bits.
Reverse the bits.
Convert logarithm of 2 to division factor.
Count the number of bits that are set to 1 in a 32-bit bitfield.
Macros#
Macros to concatenate.
sl concat paster 2.
sl concat paster 3.
sl concat paster 4.
Round n up to closest interval of i.
Round n down to closest interval of i.
Stringify X.
Macros for giving the compiler hints about the likelihood of a branch.
A macro for getting the minimum value.
A macro for getting the maximum value.
A GCC style macro for handling packed structures.
A macro for handling packed structures.
A macro for handling packed structures.
GCC style macro for aligning a variable.
A macro for aligning a variable.
A macro for defining a weak symbol.
A macro for handling non-returning functions.
A macro for placing a variable in a section.
A macro for notifying the compiler of an intended switch case fallthrough.
A macro for notifying the compiler to ignore type limit check.
A MACRO to notify the compiler, limit END.
Function Documentation#
SL_CTZ#
uint32_t SL_CTZ (uint32_t value)
Count trailing number of zeros.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | [in] | value | Data value to check for number of trailing zero bits. |
Use CLZ instruction if available.
Returns
A number of trailing zeros in value.
SL_RBIT#
uint32_t SL_RBIT (uint32_t value)
Reverse the bits.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | [in] | value | Data value to reverse. |
Use the RBIT instruction if available, else process.
Returns
A reversed value.
SL_RBIT16#
uint16_t SL_RBIT16 (uint16_t value)
Reverse the bits.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | value | 16-bit data value to reverse. |
Use the RBIT instruction if available, else process.
Returns
A 16-bit reversed value.
SL_RBIT8#
uint8_t SL_RBIT8 (uint8_t value)
Reverse the bits.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | [in] | value | 8-bit data value to reverse. |
Use the RBIT instruction if available, else process.
Returns
A 8-bit reversed value.
SL_Log2ToDiv#
uint32_t SL_Log2ToDiv (uint32_t log2)
Convert logarithm of 2 to division factor.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | [in] | log2 | Logarithm of 2. |
Returns
Dividend.
SL_POPCOUNT32#
uint32_t SL_POPCOUNT32 (uint32_t bitfield)
Count the number of bits that are set to 1 in a 32-bit bitfield.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | [in] | bitfield | 32-bit bitfield. |
Returns
The number of bits that are set to 1 in the bitfield.