Testing GPIOs, interrupts and timers in a kernel module for embedded Linux