On désigne sous le terme informatique embarquée les aspects logiciels se trouvant à l'intérieur des équipements n'ayant pas une vocation purement informatique. L'ensemble logiciel, matériel intégré dans un équipement constitue un système embarqué.
L'informatique embarquée a des impératifs différents de l'informatique personnelle (les micro-ordinateurs). Ce sont principalement :
Plusieurs langages de programmation se veulent dédiés à cet usage parmi lesquels se trouve Ada. Des langages proches de la machine comme le C et dans une moindre mesure le C++ sont aussi utilisés. Le langage assembleur reste encore un choix approprié pour les systèmes soumis à des contraintes sévères de temps réel.
Pour la programmation des systèmes embarqués critiques, des langages basés sur une sémantique formelle ont été proposés : c'est le cas des langages synchrones Esterel, Lustre, Signal, Lucid Synchrone... Ces langages sont actuellement utilisés avec succès dans l'industrie. Par exemple, EADS utilise l'atelier logiciel SCADE, basé sur le langage Lustre, pour programmer le logiciel embarqué de contrôle/commande de vol des Airbus (A340 et A380).
Actuellement on assiste à l'émergence des systèmes embarquées basées sur des technologies logicielles et matérielle libre. Les processeurs libres sont de type LEON ou Open Risc. Pour le software, on trouve Linux comme choix de référence. Les architectures MIPS sont très largement utilisées.
Aujourd'hui, l'informatique embarquée est présente partout : appareils électroménager, téléphone portable, automobile, scanner ou lecteur de code-barres des caisses enregistreuses automatisées des commerces.
Le domaine des transports incluant les véhicules, mais aussi les satellites peut être considéré comme le domaine privilégié de l'informatique embarqué.