Tools and development environments for developing applications to run on embedded systems and specific processors