Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
main.c File Reference
#include <zephyr/ztest.h>
#include <zephyr/arch/cpu.h>
#include <cmsis_core.h>
#include <zephyr/sys/barrier.h>

Macros

#define EXECUTION_TRACE_LENGTH   6
 
#define IRQ_A_PRIO   1 /* lower priority */
 
#define IRQ_B_PRIO   0 /* higher priority */
 
#define CHECK_STEP(pos, val)
 

Enumerations

enum  execution_step {
  STEP_MAIN_BEGIN , STEP_MAIN_END , STEP_ISR_A_BEGIN , STEP_ISR_A_END ,
  STEP_ISR_B_BEGIN , STEP_ISR_B_END
}
 

Functions

static const char * execution_step_str (enum execution_step s)
 
static void execution_trace_add (enum execution_step s)
 
void isr_a_handler (const void *args)
 
void isr_b_handler (const void *args)
 
static int find_unused_irq (int start)
 
void test_arm_zero_latency_levels (void)
 
 ZTEST_SUITE (arm_irq_zero_latency_levels, NULL, NULL, NULL, NULL, NULL)
 

Variables

static enum execution_step execution_trace [6]
 
static volatile int execution_trace_pos
 
static int irq_a
 
static int irq_b
 

Macro Definition Documentation

◆ CHECK_STEP

#define CHECK_STEP ( pos,
val )
Value:
zassert_equal(execution_trace[pos], val, "Expected %s for step %d but got %s", \
static const char * execution_step_str(enum execution_step s)
Definition main.c:36
static enum execution_step execution_trace[6]
Definition main.c:30
#define zassert_equal(a, b,...)
Assert that a equals b.
Definition ztest_assert.h:321
static int pos
Definition printk.c:12

◆ EXECUTION_TRACE_LENGTH

#define EXECUTION_TRACE_LENGTH   6

◆ IRQ_A_PRIO

#define IRQ_A_PRIO   1 /* lower priority */

◆ IRQ_B_PRIO

#define IRQ_B_PRIO   0 /* higher priority */

Enumeration Type Documentation

◆ execution_step

Enumerator
STEP_MAIN_BEGIN 
STEP_MAIN_END 
STEP_ISR_A_BEGIN 
STEP_ISR_A_END 
STEP_ISR_B_BEGIN 
STEP_ISR_B_END 

Function Documentation

◆ execution_step_str()

static const char * execution_step_str ( enum execution_step s)
static

◆ execution_trace_add()

static void execution_trace_add ( enum execution_step s)
static

◆ find_unused_irq()

static int find_unused_irq ( int start)
static

◆ isr_a_handler()

void isr_a_handler ( const void * args)

◆ isr_b_handler()

void isr_b_handler ( const void * args)

◆ test_arm_zero_latency_levels()

void test_arm_zero_latency_levels ( void )

◆ ZTEST_SUITE()

ZTEST_SUITE ( arm_irq_zero_latency_levels ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL  )

Variable Documentation

◆ execution_trace

enum execution_step execution_trace[6]
static

◆ execution_trace_pos

volatile int execution_trace_pos
static

◆ irq_a

int irq_a
static

◆ irq_b

int irq_b
static