Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
prevent_irq.c File Reference
#include <ztest.h>
#include <interrupt_util.h>

Macros

#define DURATION   5
 
#define HANDLER_TOKEN   0xDEADBEEF
 
#define TIMER_DELAY_US   (128 * 1000000 / CONFIG_SYS_CLOCK_TICKS_PER_SEC)
 

Functions

static void timer_handler (struct k_timer *timer)
 
void test_prevent_interruption (void)
 Test interrupt prevention. More...
 

Variables

static struct k_timer irqlock_timer
 
volatile uint32_t handler_result
 

Macro Definition Documentation

◆ DURATION

#define DURATION   5

◆ HANDLER_TOKEN

#define HANDLER_TOKEN   0xDEADBEEF

◆ TIMER_DELAY_US

#define TIMER_DELAY_US   (128 * 1000000 / CONFIG_SYS_CLOCK_TICKS_PER_SEC)

Function Documentation

◆ test_prevent_interruption()

void test_prevent_interruption ( void  )

Test interrupt prevention.

This routine tests if the kernel is capable of preventing interruption, by locking interrupts and busy-waiting to see if the system timer interrupt is serviced while interrupts are locked; in addition, this test also verifies that the system timer interrupt is serviced after interrupts are unlocked.

◆ timer_handler()

static void timer_handler ( struct k_timer *  timer)
static

Variable Documentation

◆ handler_result

volatile uint32_t handler_result

◆ irqlock_timer

struct k_timer irqlock_timer
static