#include <cpu/power.h>
#include <drv/timer.h>
+#if CONFIG_USE_HP_TIMER
#include <drv/ser.h>
+static Serial out;
+#endif
#include <kern/proc.h>
static PROC_DEFINE_STACK(lp_stack, PROC_STACK_SIZE);
static Process *hp_proc, *lp_proc, *main_proc;
-static Serial out;
-
#if CONFIG_USE_HP_TIMER
static hptime_t start, end;
#endif
while (1)
{
sig_wait(SIG_USER0);
- #if CONFIG_USE_HP_TIMER
- end = timer_hw_hpread();
- #endif
#if CONFIG_USE_LED
LED_ON();
#endif
+ #if CONFIG_USE_HP_TIMER
+ end = timer_hw_hpread();
+ #endif
sig_send(main_proc, SIG_USER0);
}
}
while (1)
{
sig_wait(SIG_USER0);
- #if CONFIG_USE_HP_TIMER
- start = timer_hw_hpread();
- #endif
#if CONFIG_USE_LED
LED_ON();
LED_OFF();
#endif
+ #if CONFIG_USE_HP_TIMER
+ start = timer_hw_hpread();
+ #endif
sig_send(hp_proc, SIG_USER0);
}
}
timer_init();
proc_init();
- ser_init(&out, CONFIG_CTX_DEBUG_PORT);
- ser_setbaudrate(&out, CONFIG_CTX_DEBUG_BAUDRATE);
+ #if CONFIG_USE_HP_TIMER
+ ser_init(&out, CONFIG_CTX_DEBUG_PORT);
+ ser_setbaudrate(&out, CONFIG_CTX_DEBUG_BAUDRATE);
+ #endif
#if CONFIG_USE_LED
LED_INIT();
#endif
+ proc_forbid();
hp_proc = proc_new(hp_process, NULL, PROC_STACK_SIZE, hp_stack);
lp_proc = proc_new(lp_process, NULL, PROC_STACK_SIZE, lp_stack);
main_proc = proc_current();
-
proc_setPri(hp_proc, 2);
proc_setPri(lp_proc, 1);
+ proc_permit();
while (1)
{
+ timer_delay(100);
+
sig_send(lp_proc, SIG_USER0);
sig_wait(SIG_USER0);
hptime_to_us((end - start)),
hptime_to_us((end - start) * 1000) % 1000);
#endif
- timer_delay(100);
}
-
}