To integrate the Gazell Link Layer library in your application, you need to:
Link in the GZLL library. See the Configuration section.
Supply the glue code used by the library. See the Glue layer section.
Gazell Link Layer API is not reentrant. It should be called by only a single thread in an RTOS.
In the nRF Connect SDK, you can enable the GZLL library using the
CONFIG_GZLL Kconfig option.
Look for the menu item “Enable Gazell Link Layer”.
The build system will link in the appropriate library for your nRF5 SoC.
The glue layer lets you to select the hardware resources for Gazell.
Gazell accesses directly the nRF5 radio peripheral.
When nRF5 radio makes an interrupt request, the glue function
nrf_gzll_radio_irq_handler() needs to be called for Gazell processing.
Gazell requires a timer peripheral for timing purposes.
It accesses directly the timer instance provided by the
It consults the
nrf_gzll_timer_irqn variable for the interrupt number of the timer.
When nRF5 timer makes an interrupt request, the glue function
nrf_gzll_timer_irq_handler() needs to be called for Gazell processing.
Gazell consults the
nrf_gzll_swi_irqn variable for the software interrupt number to use.
When nRF5 software interrupt is triggered, the glue function
nrf_gzll_swi_irq_handler() needs to be called for Gazell processing.
Gazell takes three PPI channels. It consults the following variables for the PPI channel numbers, event end points (EEP) and task end points (TEP):
You can configure Gazell to automatically switch on and off the high frequency oscillator (
It calls the following glue functions for high frequency clock requests:
Gazell calls the glue function
nrf_gzll_delay_us() to delay a number of microseconds.