Dans le logiciel, que signifie le terme «embarqué»?

9

J'ai donc cherché à approfondir mes connaissances dans la programmation matérielle intégrée et de niveau inférieur, cependant, chaque fois que je recherche des emplois qui mentionnent «intégré», c'est toujours des choses de haut niveau. Pour moi, cela n'a pas beaucoup de sens.

Alors, qu'est-ce que cela implique exactement? Quand je pense à l' intégration, je pense à la programmation de microcontrôleurs de niveau inférieur et autres. Si incorporé n'est pas le titre approprié, que dois-je rechercher?

durron597
la source

Réponses:

4

Définissez ce que vous entendez par des éléments de niveau supérieur. L'écriture de pilotes et de tout autre type de logiciel qui communique avec le matériel est probablement ce à quoi la plupart des gens pensent lorsque vous mentionnez un logiciel intégré. Bien que cela en fasse partie, ce n'est qu'une petite partie. Une fois que vous avez toute cette configuration, il reste toute l'application à écrire qui ne parle probablement jamais directement au matériel et plus que probablement dans la plupart des cas, c'est la majorité de l'effort de développement. Cela peut, à un certain niveau, être comparable à une programmation de niveau "supérieur". Cependant, dans le monde embarqué, vous travaillez probablement sous certaines contraintes, notamment en termes de puissance de calcul et de mémoire. Voici une liste de choses auxquelles je pense quotidiennement et qui ont probablement moins d'importance dans le développement de niveau supérieur dans la plupart des cas.

  • Concurrence des threads (protection et synchronisation)
  • Allocation de mémoire, désallocation et utilisation
  • Gestion du tas (éviter la fragmentation)
  • Respect des délais en temps réel
  • Priorité des threads
  • Performances I / 0
  • Transferts DMA
  • Tailles de pile
  • Performances de la bibliothèque
  • Fonctionnalités linguistiques (les exceptions gonflent votre code)

En outre, les plates-formes embarquées ont tendance à être hautement spécialisées pour atteindre un objectif spécifique, contrairement à un PC conçu pour être une plate-forme pour le calcul de l'hétérogénéité générale. Cela signifie que vous avez probablement beaucoup de code personnalisé qui peut être portable ou non.

Pemdas
la source
7

De Wikipedia / système embarqué :

Un système embarqué est un système informatique conçu pour exécuter une ou quelques fonctions dédiées, souvent avec des contraintes de calcul en temps réel.

En bref, le terme peut s'appliquer à tout type de système qui n'est pas un PC à usage général. Cela peut aller des simples microcontrôleurs au matériel réseau aux consoles de jeu modernes.

Si vous considérez que "choses de haut niveau" signifie "utilise un langage de programmation de haut niveau" ou même "est un grand projet orienté objet", alors bien sûr, il est toujours possible que vous puissiez avoir un logiciel de très haut niveau sur un système embarqué .

Généralement, en spécifiant que votre logiciel va être sur un système "embarqué", vous voulez dire que d'une certaine manière votre logiciel va être couplé au système embarqué - et peut-être pas très portable.

C'est un terme très large, en effet. Certaines choses que je ne m'attendrais pas à entendre appelées «Embedded» seraient des logiciels PC, des applications Web et des logiciels serveur en général. Cependant, il n'y a aucune garantie que le logiciel intégré exclura toute sorte de programmation ou de conception de haut niveau.

ProdigySim
la source
De plus, je pourrais souligner que le but de spécifier que votre logiciel est intégré est de signifier que vous aurez moins de bibliothèques et de solutions existantes disponibles pour construire votre solution.
ProdigySim
+1. Des exemples courants de systèmes embarqués sont les ordinateurs des machines POS ou ATM. Même s'ils exécutent des systèmes d'exploitation standard tels que Windows ou Linux.
nikie
1

Je soupçonne que vous cherchez des emplois où «intégré» signifie «ordinateur dans une boîte», généralement un qui fait une tâche spécifique. Il est très probable qu'il exécute la plupart des distributions Linux ou Microsoft OS, mais il sera assez complet et vous pourrez utiliser des IDE GUI standard et ainsi de suite. La partie intégrée survient vraiment lorsque l'appareil est livré comme un enregistreur vidéo multicanal, un appareil de diffusion multimédia ou une alarme antivol.

De nos jours, vous pouvez effectuer un grand nombre de traitements dans un appareil 1W, de sorte que la définition de l'embarqué a augmenté en conséquence. Mais même il y a 20 ans, nous avions des appareils intégrés alimentés par batterie exécutant un DOS assez standard et des programmes conçus pour eux en utilisant l'IDE du jour (les scanners de codes-barres Symbol avaient des bibliothèques pour C et Pascal, par exemple, nous avons donc utilisé Turbo Pascal sur Win3.1 pour construire les exécutables). Mais nous avons également expédié des «PC industriels» qui démarraient DOS puis notre logiciel, et l'entrée était limitée à quelques gros boutons étanches montés sur un boîtier en acier inoxydable. L'écran LCD 15 "derrière la vitre dans cette boîte signifiait que nous avions beaucoup d'options de sortie, mais attacher un clavier signifiait ouvrir la boîte (à l'intérieur d'une usine alimentaire). Celles-ci pourraient être considérées comme intégrées de certaines perspectives. La plupart du temps, l'utilisateur avait peu d'options de récupération d'erreur - redémarrer ou non.


la source