[Programmation] Abstraction du matériel (comme Arduino, mbed, CMSIS... mais pas pareil !)
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Abstraction du matériel (comme Arduino, mbed, CMSIS... mais pas pareil !)



  1. #1
    e39

    Abstraction du matériel (comme Arduino, mbed, CMSIS... mais pas pareil !)


    ------

    Bonjour à tous,

    Un moteur de recherche web bien connu m'a amené à lire ce fil un peu ancien : http://forums.futura-sciences.com/el...aterielle.html

    Il se trouve que j'ai démarré il y a quelques années un projet lié à cette problématique : faciliter l'écriture (et la lecture) de code lié au matériel sans sacrifier les performances ni la mémoire.

    J'ai mis au point une solution originale (dans le sens où je n'ai jamais rien vu de tel ailleurs) et j'aimerais faire connaître le projet pour avoir des avis en retour, voire, en cas de succès (soyons fous !), des contributions.

    Le projet s'appelle HWA (HardWare Abstractor), il est libre et hébergé sur Github : http://github.com/duparq/hwa

    Des exemples testés sont fournis et il y a une documentation consultable en ligne : http://duparq.free.fr/hwa/index.html

    Actuellement, 3 types de microcontrôleurs Atmel sont supportés de manière assez complète (ATtinyX4, X5 et ATmegaX8), il y a (eu) un début de support pour le SoC Espressif ESP8266 et je suis en train de reprendre le support des STM32F103 (qui m'avaient poussé à démarrer ce projet).

    J'accueillerai volontiers toute suggestion pour faire connaître ce projet.

    -----

  2. #2
    Vincent PETIT
    Animateur Électronique

    Re : Abstraction du matériel (comme Arduino, mbed, CMSIS... mais pas pareil !)

    Salut,
    Tout d'abord je te félicite pour ce travail et surtout pour l'investissement qu'il a du te demander.

    A mon avis, tu n'es pas sur le bon forum pour faire connaître cette bibliothèque. Il y a beaucoup (trop) de professionnels ou d'anciens professionnels qui forcément n'utilisent pas de telles couches. Dans la discussion que tu cites, la vraie raison n'a pas été donné, c'est dommage car l'auteur initiale n'a pas vraiment eu sa réponse "peut on faire un développement fiable uniquement en programmant sur des couches d'abstraction de haut niveau ?"

    La réponse est simplement, non et ce n'est absolument pas lié à la qualité de la couche d'abstraction aussi bizarre que cela puisse paraître.

    C'est lié au fait que tous les pro travaillent avec une sonde de debuggage (quand sa merde, pour mettre au point, pour s'assurer de certaines choses, ...) mais cette sonde t'amène tout de suite sur le matériel et la paradoxe c'est qu'à ce moment là : Plus les couches d'abstraction sont élevées plus t'es dans la merde ! Tu n'as plus qu'à tout décortiquer (et c'est souvent très très encapsulé) et c'est pire que si tu avais tout fait toi même.

    Néanmoins et concernant ce dernier point justement. J'ai l'impression en regardant le code sur ton GitHub, que tu as été attentif à ça. Tes fonctions me paraissent simples et pas de trop haut niveau dans le sens où on reconnaît un peu le hard derrière. J'imagine que c'est pour cette raison que tu avais ajouter une précision dans ton titre.

    Félicitations à nouveau pour ce travail.
    Dernière modification par Vincent PETIT ; 14/05/2017 à 01h17.
    Là où il n'y a pas de solution, il n'y a pas de problème.

  3. #3
    e39

    Re : Abstraction du matériel (comme Arduino, mbed, CMSIS... mais pas pareil !)

    Merci bien pour ce premier retour.

    Je n'ai pas testé récemment mais je pense que cela devrait bien se passer avec le débogueur car, comme tu l'as remarqué, HWA se limite aux opérations (plus ou moins) simples sur le matériel, celles qui sont en lien direct avec les registres. Et une des différences majeures de HWA par rapports aux solutions classiques est que ce n'est pas une bibliothèque : la couche d'abstraction a une épaisseur nulle car elle est éliminée par le compilateur.

    Pour l'instant, HWA vise à fournir une interface générique élégante pour accéder à n'importe quel type de matériel. Il ne fournit pas les couches supérieures d'exploitation de ce matériel, comme le propose par exemple Arduino pour, par exemple, lire une donnée dans une mémoire EEPROM à travers une liaison I²C. Mais je réfléchis à cette question de temps en temps...

    Aurais-tu un forum à me suggérer pour présenter ce projet ?

Discussions similaires

  1. mbed, Arduino et l'abstraction matérielle
    Par invite2d775226 dans le forum Électronique
    Réponses: 11
    Dernier message: 30/06/2015, 15h34
  2. Réponses: 2
    Dernier message: 17/07/2012, 14h01
  3. Arduino - matériel nécessaire ?
    Par invitefdd30c66 dans le forum Électronique
    Réponses: 15
    Dernier message: 08/06/2011, 11h57
  4. Réponses: 4
    Dernier message: 26/01/2008, 18h14
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...