TBM HAL

group nrf_tbm_hal

Hardware access layer for managing the Trace Buffer Monitor (TBM) peripheral.

Enums

enum nrf_tbm_task_t

TBM tasks.

Values:

enumerator NRF_TBM_TASK_START

Start counter.

enumerator NRF_TBM_TASK_STOP

Stop counter.

enumerator NRF_TBM_TASK_FLUSH

Stop counter, keep counter value.

enum nrf_tbm_event_t

TBM events.

Values:

enumerator NRF_TBM_EVENT_HALFFULL

Buffer half-full.

enumerator NRF_TBM_EVENT_FULL

Buffer full.

enumerator NRF_TBM_EVENT_FLUSH

Stopped due to flush.

enum nrf_tbm_int_mask_t

TBM interrupts.

Values:

enumerator NRF_TBM_INT_HALFFULL_MASK

Interrupt on HALFFULL event.

enumerator NRF_TBM_INT_FULL_MASK

Interrupt on FULL event.

enumerator NRF_TBM_INT_FLUSH_MASK

Interrupt on FLUSH event.

Functions

NRF_STATIC_INLINE void nrf_tbm_task_trigger(NRF_TBM_Type *p_reg, nrf_tbm_task_t task)

Function for activating the specified TBM task.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task to be activated.

NRF_STATIC_INLINE void nrf_tbm_event_clear(NRF_TBM_Type *p_reg, nrf_tbm_event_t event)

Function for clearing the specified TBM event.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event to be cleared.

NRF_STATIC_INLINE bool nrf_tbm_event_check(NRF_TBM_Type const *p_reg, nrf_tbm_event_t event)

Function for retrieving the state of the TBM event.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event to be checked.

Return values:
  • true – The event has been generated.

  • false – The event has not been generated.

NRF_STATIC_INLINE void nrf_tbm_int_enable(NRF_TBM_Type *p_reg, uint32_t mask)

Function for enabling the specified interrupts.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be enabled. Use nrf_tbm_int_mask_t values for bit masking.

NRF_STATIC_INLINE void nrf_tbm_int_set(NRF_TBM_Type *p_reg, uint32_t mask)

Function for setting the configuration of interrupts.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be set. Use nrf_tbm_int_mask_t values for bit masking.

NRF_STATIC_INLINE void nrf_tbm_int_disable(NRF_TBM_Type *p_reg, uint32_t mask)

Function for disabling the specified interrupts.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be disabled. Use nrf_tbm_int_mask_t values for bit masking.

NRF_STATIC_INLINE uint32_t nrf_tbm_int_enable_check(NRF_TBM_Type const *p_reg, uint32_t mask)

Function for checking if the specified interrupts are enabled.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be checked. Use nrf_tbm_int_mask_t values for bit masking.

Returns:

Mask of enabled interrupts.

NRF_STATIC_INLINE uint32_t nrf_tbm_int_pending_get(NRF_TBM_Type const *p_reg)

Function for retrieving the state of pending interrupts.

Note

States of pending interrupt are saved as a bitmask. One set at particular position means that interrupt for event is pending.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns:

Bitmask with information about pending interrupts. Use nrf_tbm_int_mask_t values for bit masking.

NRF_STATIC_INLINE void nrf_tbm_buffersize_set(NRF_TBM_Type *p_reg, uint32_t size)

Function for setting the buffer size.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • size[in] Size in 32 bit words.

NRF_STATIC_INLINE uint32_t nrf_tbm_count_get(NRF_TBM_Type *p_reg)

Function for getting current count value.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns:

Current count value.