2009-02-23 8 views
1

J'ai une question ou la meilleure approche de connexion de l'interface soit pendant l'exécution ou le temps de compilation/liaison. Pour mes projets intégrés, les pilotes de périphériques et les E/S ont des interfaces qui doivent être liées (c'est-à-dire collées) aux dépendances d'interface correspondantes. Par exemple, pour le pilote de périphérique analogique, il nécessite une interface au pilote de sortie discrète afin de régler le MUX et activer les lignes et l'interface pour cela ressemble à:Relier l'exigence d'interface d'un module soit au moment de l'exécution, soit au moment de la compilation/liaison, ce qui est mieux?

unsigned char (*SetDiscOutput)(unsigned short signalID, unsigned char state); 

Actuellement, je me sers d'une table de configuration associe l'exigence d'interface du module à la dépendance d'interface associée puis, pendant l'exécution, la configuration de l'environnement parcourt cette liste et affecte les dépendances. L'autre méthode, que j'ai inventée jusqu'ici, consiste à utiliser un fichier de configuration matérielle qui va lier les interfaces de module à leurs interfaces de dépendance associées qui seront assignées pendant le temps de compilation/liaison.

Ce qui serait une meilleure approche (avantages/inconvénients) les uns aux autres et, plus important encore, y at-il une manière plus élégante de lier ces dépendances d'interface.

Marque

Répondre

1

J'aime les MUX avec des sémaphores. Mais cela dépend vraiment si vous allez utiliser un système d'exploitation et s'il y a un intérêt à le rendre disponible pour le changement. Je l'ai conservé dans un logiciel afin que différentes versions de matériel embarqué puissent exécuter le même code, avec des paramètres différents.

Questions connexes