Developing device software for IoT devices requires specialized software development & runtime platforms. Processor manufacturers have moved in the direction of producing System-on-a-Chip (SoC) architectures where specific on-chip resources are dedicated to specific functions; an example is a heterogeneous processor where multiple Cortex-M3 or M4 cores are combined with multiple application cores based on Cortex-A8/A9/A15/A53. The M3/M4 cores are intended for the parts of your application that require low-power operation, or real-time control and will typically be running an RTOS and the applications cores handle the resource-intensive parts of your application and typically run Embedded Linux.