31 votes

Existe-t-il des modèles de programmation intégrés?

Existe-t-il une ressource de modèles utilisée dans la programmation intégrée?

Quels schémas avez-vous fréquemment utilisés pour obtenir des résultats positifs?

La plupart des manuels de modélisation tels que celui de GOF se concentrent sur les techniques de POO. Il existe sûrement des modèles similaires dans le domaine des systèmes intégrés.

18voto

laalto Points 50581

13voto

Craig McQueen Points 13194

État des machines (lien alternatif PDF) sont probablement les plus courantes modèle de conception que je me trouve de l'aide.

Il existe plusieurs façons de les mettre en œuvre, selon ce exactement que vous voulez accomplir dans un état donné de la machine, et selon les ressources de votre plate-forme embarquée:

  1. les instructions switch sur une variable d'état
  2. la fonction look-up table indexée par la variable d'état
  3. look-up tables de conditions d'entrée et de sortie des états

Il y a aussi des opportunités et des logiciels pour auto-génération de machine d'état code de la hausse du niveau des modèles tels que UML.

6voto

noel aye Points 321

5voto

Clifford Points 29933

Les réponses paraissent jusqu'à présent, ont négligé de modèles architecturaux, qui sont soutenables plus important. La couche modèle est très répandue dans les systèmes embarqués où il est courant d'avoir une couche d'abstraction du matériel, dispositif de couche, rtos couche, et de plusieurs couches d'application. Dans de nombreux cas, les couches supérieures sont spécifiques à l'application et n'ont aucun accès direct au matériel, tandis que les couches les plus basses sont étroitement couplée pour le matériel. Cela rend l'application de la couche de portable, et les couches intermédiaires à la fois portable réutilisables dans de nouvelles applications, et les couches les plus basses d'accélérer le développement de nouvelles applications sur les plates-formes existantes.

D'autres modèles dans le lien ci-dessus sont également applicables aux systèmes embarqués en fonction sur le domaine du problème. Par exemple, le Système Blackboard est souvent utilisé dans le système d'intelligence artificielle et de la robotique. Modèle-Vue-Contrôleur est pertinente pour les systèmes ayant une riche ou d'une INTERFACE utilisateur souple appareils..

4voto

Dan Points 6319

Je ne suis pas sûr si ces qualifient de "Design Patterns", mais certaines des choses que je trouve moi-même faire à travers de multiples conceptions intégrées:

  • La coutume fixe-bloc-taille de l'allocateur de mémoire (par opposition à l'utilisation de malloc() / tas

  • Fils de serveur / tâches reportées ou de faible priorité de traitement (par exemple, l'envoi de chars hors de l'UART)

  • lors de l'utilisation de C++, en utilisant RAII pour les mutex de l'acquisition et de libération (local de l'objet sur la pile, constructeur acquiert mutex, destructeur versions)

Il y a plus, mais malheureusement, je suis pressé par le temps -- je vais essayer de poster de retour avec des éléments supplémentaires quand je peux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X