2011-04-16 2 views
6

Je souhaite développer des couches HAL (Hardware Abstraction Layers) à utiliser dans PIC32 et dans certains ARM.Notes de développement des pilotes de périphériques intégrés

Fondamentalement, je veux faire un code qui est habituellement disponible sur un système d'exploitation, comme l'accès à la broche générique, les bibliothèques de communication, dispositif d'E/S, etc.

Pouvez-vous me conseiller avec de bons livres/sites?

Je vais commencer par celui que j'ai trouvé il y a quelques semaines: http://www.kalinskyassociates.com/OnLineLearning.html

Merci

Répondre

6

Avez-vous essayé de regarder certaines implémentations?

  • eCos a une HAL, qui a quelques documentation pour aller avec elle.
  • eLua a également une HAL qui s'est développée autour de lui pour supporter les plates-formes sur lesquelles elle fonctionne (ARM, AVR32, etc.), vérifier les informations architecture et les menus "Interface Plate-forme" et "Modules Génériques". Si vous supprimez le Lua, eLua est essentiellement une HAL.

Il existe probablement d'autres exemples, mais je vous recommande de regarder des exemples vivants d'API matérielles multiplateformes et non multiplateformes. Aussi, si/quand vous allez commencer à mettre en place des interfaces, assurez-vous d'examiner les implémentations périphériques de chaque plate-forme avant de clouer l'API. Vous constaterez que certains modèles d'interaction sont généralement pris en charge sur de nombreuses plates-formes, tandis que d'autres sont très spécifiques à une plate-forme. Si votre API suppose que les fonctionnalités seront toujours disponibles, il sera difficile de les porter sur des plates-formes qui n'ont pas de support ou de support inexistant pour la fonctionnalité que vous souhaitez. Parfois, vous pouvez être en mesure de contourner ce problème avec des solutions simples dans le logiciel, d'autres fois vous pouvez trouver qu'il est impossible ou horriblement compliqué de rendre le comportement cohérent à travers les plates-formes.

1

Vous pouvez également essayer les documents d'interface OSEK. La norme fait un bon travail d'abstraction des accès aux périphériques les plus couramment utilisés. Cependant, gardez à l'esprit que ce n'est qu'une spécification et que vous devrez définir tous les détails de mise en œuvre.

+0

Dans le cas d'OSEK, vous pouvez consulter ERIKA Enterprise (http://erika.tuxfamily.org), un RTOS open-source implémentant la norme OSEK. – Claudio

Questions connexes