27 lines
482 B
C
27 lines
482 B
C
#include <rt/cycle.h>
|
|
#include <rt/log.h>
|
|
#include <rt/notify.h>
|
|
#include <rt/task.h>
|
|
#include <rt/trap.h>
|
|
|
|
static volatile uint32_t start_cycle = 0;
|
|
static volatile uint32_t cycles = 0;
|
|
|
|
static RT_NOTIFY(note, 0);
|
|
|
|
static void poster(void)
|
|
{
|
|
start_cycle = rt_cycle();
|
|
rt_notify_post(¬e);
|
|
}
|
|
|
|
static void waiter(void)
|
|
{
|
|
rt_notify_wait(¬e);
|
|
cycles = rt_cycle() - start_cycle;
|
|
rt_trap();
|
|
}
|
|
|
|
RT_TASK(poster, RT_STACK_MIN, 1);
|
|
RT_TASK(waiter, RT_STACK_MIN, 2);
|