Starting from Miosix 1.50 the kernel can be run on multiple platforms. It provides some facilities to access common features such as GPIOs in a platform independent way, and leaves the rest of the underlying hardware available for direct use. Including miosix.h in a source file will automaticaly include the header files with the register definitions of the selected microcontroller, so that it is possible to write code that makes use of its peripherals.
Some hardware resources, however, are used by the kernel, and must not be used by user code, to avoid conflicts This usually include a serial port, used for redirecting printf, an SPI or SD card hardware controller, for filesystem access, one or more hardware timers, used for preemption, and some interrupt handlers used for context switching.