# Firmware Naming Conventions

For clarity and ease of use, many firmware components follow several naming conventions for library functions and macros. These conventions are compatible with the CMSIS naming requirements.

| • | Macros (defined using a #define statement) use all capitals in the macro name. These macro names include an all-capital prefix indicating the library or other firmware element they are supporting (e.g., SYS_). If the macro supports a specific target component, this prefix is followed by the name of the component it supports. The rest of the macro name indicates the intended functionality of the macro.

| • | Inline and standard firmware functions use camel-case function names (e.g., CalcPhaseCnt). All functions use a prefix to indicate which library provides the function (e.g., Sys_). The remainder of a function’s name indicates the block it affects and the function's intended functionality.

Library Function Naming Convention (table) lists the prefixes for each of the firmware libraries that use prefixes.

Table: Library Function Naming Convention
Library | Macro Prefix | Function Prefix
--- | --- | ---
Hardware Abstraction Layer, System Library | SYS_ | Sys_
Flash Support Library | FLASH_ | Flash_
Event Kernel | KE_ | Kernel_, ke_

Elements that follow other naming conventions include the following:

- The CMSIS library and drivers follow the CMSIS standard, which provides standard names for all CMSIS macros and functions.
- The Arm CryptoCell-312 libraries largely use an API defined by Arm for the Arm TrustZone® CryptoCell-312 IP.
- The Bluetooth Library uses naming and terminology from the Bluetooth Core Specification; for more information on the naming conventions for the Bluetooth Library, see the CEVA® documentation provided with your RSL15 install.
- The swmTrace library is a logging library that is paired with the Real-Time Transfer (RTT) viewer that is part of the onsemi IDE and uses the RTT interface defined by SEGGER®.