Développement d'outils pour microcontrolleurs

Lesquels choisir ? Comment les utiliser ?

Postby anobli » Mon Sep 09, 2013 12:00 am

Bonjour,

Je viens vers vous afin de vous demander conseil.
Alors que j'étais encore étudiant, j’ai commencé à travailler sur un ensemble d’outils devant faciliter le développement de firmware sur microcontrolleur.
Le principal outil est une library écrite en C. Elle permet de facilement manipuler les périphériques des microcontrolleurs (uart, spi, i2c, etc). Elle est écrite de manière à pouvoir êtres utilisé sur plusieurs microcontrolleurs de différent constructeur (actuellement PIC24 et MSP430).
Je travaille également sur un émulateur afin de pouvoir tester les firmware sur PC avant de tester sur board, ainsi que des outils de test et de validation.
L'idée est d’avoir un ensemble d’outils compatible avec différent type microcontrolleurs (pic, msp430, avr, …). Je ne fais pas ça dans un but commercial, donc le tout serais open source.
Le développent de ces outils s'éternise car je manque de temps et je commence à me demander si cela vaut le coup de continuer.
Ma question: Est ce que de tels outils vous intéressent ou est ce que je perd mon temps?
Si vous pensez que ces outils pourrais êtres utiles, j’aurais besoin que vous me donniez quelques informations comme la famille de microcontrolleur que vous utilisez, ou les périphériques que vous utilisez le plus, etc. Le but étant de pouvoir développer en premier les fonctionnalités les plus utiles.

Cordialement,
Anobli
anobli
 
Posts: 2
Joined: Mon Jan 20, 2014 8:07 am

Postby iso14000 » Mon Sep 09, 2013 12:00 am

salut.

En fait de nos jours, les émulateurs soft sont presques inutiles puisque presque tout les micros ont une debugger in-system
En outre les outils de dev sont fournis gratuitement presque tout le temps, ils sont installés avec des exemples et parfois même des "wizards" qui génèrent le code (je pense à Code Warrior par ex) : on rentre les paramètres de l'UART et hop! les routines de services sont créées avec ou sans IT, la gestion des buffers ... et cela pour tous les périphériques.

Ensuite l'usage en C des librairies standard genre "stdio" font le reste....

voilà mon point de vue...

Comment faire le point en face de sociétés qui emploient une armée de codeurs et développeur??

Désolé de t'avoir pété le moral.

Florent
tant qu'un auteur sera aussi un modérateur ici (et donc plaignant et juge) je serais un Troll assumé
iso14000
 
Posts: 3083
Joined: Fri Jan 03, 2014 1:55 pm

Postby chimimic - remy mallard » Tue Sep 10, 2013 12:00 am

Bonjour anobli,

je suis de l'avis de Florent.

Moi même utilise des outils qui intègrent des routines prêtes à l'emploi pour les besoins les plus courants (UART, SPI, I2C, USB, Ethernet) et qui simplifient considérablement le développement.

Bien sûr, il existe toujours des composants un peu particuliers qui demandent un travail de recherche et de développement personnel, c'est comme pour les logiciels de conception d'électronique dont les bibliothèques ne peuvent contenir tous les composants de la planète. Devoir mettre la main à la patte est bien sûr formateur et nous aide à garder les pieds sur terre.

Il suffit de faire un petit saut en arrière et regarder ce qu'on trouvait il y a quelques années dans le libre. Quand les produits commerciaux étaient compliqués et/ou chers, on a vu fleurir quelques projets de développement, de compilateurs, de simulation, de programmateurs... La tâche demandée était dure : la quantité de composants programmables a vite augmentée et les généreux développeurs peinaient à suivre. Tant qu'on restait sur quelques modèles d'uC "génériques", ça allait. Mais maintenant...

Moi non plus ne donne pas ce point de vue pour te "casser le moral". Mais tu le dis toi-même : tu manques de temps. Or on sait qu'il faut être réactif pour proposer des ajouts ou de simples corrections de bug. N'est-il pas plus judicieux d'utiliser des produits qui avancent avec leur temps et qu'on trouve en version gratuite, même si cette dernière pose quelques limites d'utilisation ? Florent à raison, tout seul on ne peut guère "concurrencer" des équipes de développement qui bossent à plein temps...

Ceci dit, rien ne t'empêche de contribuer à la communauté en proposant des routines ou des exemples pratiques. Le travail des autres est toujours apprécié... même s'il ne concerne qu'une minorité.

Bonne journée à toi.
Cordialement,
Rémy
chimimic - remy mallard
 
Posts: 219
Joined: Fri Jan 17, 2014 4:42 pm

Postby treels » Tue Sep 10, 2013 12:00 am

Bonjour, Anobli, et bienvenu.


Ta question est intéressante, en ce sens, que l'on a tous, un jour ou l'autre l'impression de "ré-inventer" l'eau chaude.

Oui, mais, est-ce inutile ?

Non, en fait, une telle démarche intellectuelle est tout à fait justifiée.

D'abord, le meilleur moyen de "posséder" un système, c'est de le pratiquer à fond.

L'écriture de routines maisons, et leur débuggage est une excellente façon de vraiment comprendre comment fonctionne la "bête".

Et même, si, comme le disent à juste titre mes camarades, la plupart des librairies constructeurs existes, sont fiables et gratuites, ce n'est pas en se contentant de les appliquer bêtement, que l'on progresse réellement.

Donc, hormis le facteur temps (qui semble te poser souci), je suis bien sûr que l'on sera tous heureux de parcourir tes Open Sources.

Cordialement.
Qui ne supporte la critique ne progressera point.
User avatar
treels
 
Posts: 807
Joined: Fri Jan 17, 2014 4:34 pm

Postby anobli » Wed Sep 11, 2013 12:00 am

Merci pour vos réponse,

Ne vous inquiétez pas. Vous ne m'avez pas démoralisé . En fait jai déjà eu l'occasion d'entendre la plupart des arguments que vous avancez.
C'est vrai que les microcontrolleurs sont livré avec des library et autre outils. Mais ils ne sont malheureusement pas toujours de bonne qualité (les fabricants n'ont pas toujours les ressources pour faire des outils de qualité).
En fait j'ai commencé à travailler sur ce projet lors d'un stage. A l'école j'avais uniquement appris à utiliser des AVR, mais pendant mon stage (de 3 mois), j'ai du apprendre à utiliser un PIC24. A ce moment la, je me suis retrouvé à devoirs utiliser mplab (qui avais 10 de retard par rapport aux autres IDE), ainsi que ses library (qui m'ont fortement déplus). A ce moment la, j'aurais aimer pouvoir réutiliser les connaissances acquise à l'école plutôt que de devoir tout réapprendre. Mon véritable objectif est d'avoir un unique outil, quelque soit le microcontrolleur. En fait, je souhaite pouvoir faire comme sur pc. On ne se soucie pas du matériel et on écrit uniquement l'application.
Pour ce qui est de l'émulateur, en fait j'ai eu besoin de faire beaucoup de tests (pour valider la fiabilité de la library). Les tests sur board sont long et ne sont pas facile à automatiser. Mon idée étais de pouvoir tester tout ce qui pouvais l'être sur mon pc avant de finir avec les tests sur board.

Je vous remercie vraiment pour vos réponse. Je dois encore réfléchir avant de décider si je continue ou pas (ça me fais un peu mal au coeur d'abandonner plusieurs années de travail).

Cordialement,
Anobli'
anobli
 
Posts: 2
Joined: Mon Jan 20, 2014 8:07 am

Postby jeanpierre » Thu Sep 12, 2013 12:00 am

Bonjour Anobli,
Je suis un vx monsieur, formation électronique et informatique Basic et fortran, j'ai découvert les µC grace au Basic de Bascom pour AVR, je ne me suis jamais (à mon grand regret) mis au C, pour ce que j'en avais à faire, ce langage était fort déplaisant.

J'ai eu les mêmes réflexions que toi : les outils proposés sont mal adaptés, ou mal expliqués. ex: l'utilisation d'un MAX6675 (lecteur de thermocouple) en SPI, pour ce composant il n'y a pas de dialogue seulement une lecture et je me suis cassé la tête à comprendre...

De même les cartes de développement pour tester les programmes car le commerce ne proposait pas ce que je voulais, j'ai réalisé une carte pour les 3types µC AVR que j’utilise 8, 28 et 48 broches avec Alim I2C, RX/TX communs (jumpers) mais toutes les broches sont séparées. Chaque µC à aussi son propre port de programmation. La carte est grande, facilement accessible, les composants aérés et l'extraction des circuits ne pose pas de pb.

Ce grand discours pour te dire un mot : Continue !
Pour ta satisfaction personnelle
et aussi Pour ton CV, les entreprises aiment les curieux.

JP
jeanpierre
 
Posts: 321
Joined: Fri Jan 17, 2014 4:38 pm

Postby risc » Sat Oct 05, 2013 12:00 am

Salut,

Il existe des outils sur le marché comme Proteus appelés aussi "co-simulateurs" car ils permettent d'exécuter le code sur une plateforme virtuelle (PC ou autre) en utilisant une carte cible logicielle. En fait, on saisit son schéma conforme à la version finale et le code s'exécute dessus de la même façon que sur la carte définitive.
C'est la preuve qu'il existe un marché pour cela ;=).
Labcenter (la société qui commercialise Proteus) propose aussi le logiciel de routage (ISIS) donc l'offre globale est très intéressante.
Ce n'est pas pour rien que Proteus est maintenant très utilisé pour l'éducation dans les études en électronique post baccalauréat (pour les BTS et DUT notamment)
Personnellement j'utilise Proteus avec la famille PIC24 et en particulier la carte EXPLORER16. C'est impressionant de pouvoir mettre des sniffers I2C, UART, SPI , oscillo sur les signaux virtuels !!

Il existe par exemple un plugin Proteus dans MPLAB X qui permet d'utiliser Proteus comme plateforme de debogage tout en l'invoquant directement de MPLAB X.

Donc oui il existe absolument un marché mais pour être compétitif sur ce genre de solutions il faut certainement innover...et avoir des nuits devant soi ;=)


Bon courage
risc
 
Posts: 67
Joined: Fri Jan 17, 2014 4:42 pm


Return to Microcontrôleurs & microprocesseurs

Who is online

Users browsing this forum: No registered users and 1 guest

cron