Indigresso Wiki

Open Source Stuff for DASH7

User Tools

Site Tools


GULP Kernel

GULP is an acronym meaning: Global [interrupt] Ultra Low Power. It is the simplest and smallest of the kernels natively supported by OpenTag.

Basic Attributes

  • GULP supports cooperative tasking and exotasking. It does not support multi-threading.
  • The kernel has an automatic, intelligent low-power entry call, which puts the system in the lowest power mode possible whenever there is no task running.
  • It is designed particularly for MCUs that have a global interrupt mechanism. A good example here is MSP430, but other devices like PIC, AVR, etc, are the same. Cortex-M is suited to HICCULP.
  • It is the most compact, energy-efficient kernel, although if a HICCULP system is configured without threads, the overhead difference is nominal.
  • The GULP kernel source code is stored inside /otkernel/gulp/ as well as within the the platform module (/otplatform/xxx/platform_xxx.c).


Big GULP is just like GULP, but it has an extension that allows pre-emptive multithreading. Big GULP systems work best with only a small amount of threads (such as, 1 or 2) because of two things: (1) threads add a lot of memory overhead, (2) if threads are using interrupts and there is only a single interrupt priority, it can delay important interrupts.

opentag/kernel/gulp.txt · Last modified: 2013/01/27 01:32 by jpnorair