2
Firmware structure
Figure 4.
Firmware architecture
Applications
Middleware
Drivers
U
t
i
l
i
t
i
e
s
C
M
S
I
S
Hardware Abstraction
Layer API
LED light demo
Custom applications
Cryptographic
library
BlueNRG-Core
stack
BlueNRG-Mesh
library
Board Support
Packages
NUCLEO-L152RE
X-NUCLEO-IDB05A1
BlueNRG-MS
STEVAL-IDB007V1
STEVAL-IDB008V1/V2
H a r d w a r e
BlueNRG-2
BlueNRG-1
The following folders are included in the package firmware folder:
•
A Documentation folder with a compiled HTML file generated from the source code and detailed
documentation of the software components and APIs.
•
A Drivers folder with HAL drivers and specific drivers for supported boards, hardware platforms, and
components, and the CMSIS vendor-independent hardware abstraction layer for the Cortex-M processor
series.
•
A Middleware folder with libraries for Mesh and BLE communication.
Horizontal interaction between layer components is handled directly by calling the feature APIs, while
vertical interaction with the low level drivers is managed through specific callbacks and static macros
implemented in the library system call interface.
•
A Projects folder contains the workspaces for IAR Embedded Workbench and Keil µVision integrated
development environments for the
STEVAL-IDB008V1
,
STEVAL-IDB007V1
board and
NUCLEO-L152RE
plus
X-NUCLEO-IDB05A1
board.
The EWARM folder contains the workspace for IAR Embedded Workbench and MDK-ARM folder contains
the workspace for Keil µVision.
The source files in the folder bind the firmware layers to implement the functions that demonstrate Mesh
over BLE functionality.
UM2295
Firmware structure
UM2295
-
Rev 1
page 7/35