Salut,
lion10 a dit:
bonjour
Coredump qu'appelles tu un "shield" ?
Ce sont les cartes d'extensions qui se rajoutent sur la carte de base. Un gros plus car elles sont généralement gérées par des librairies fournies. C'est le point fort d'arduino: pas besoin de mettre les mains dans le cambouis dès le début, mais si on le désire, on peut.
Entends tu par la, la surcouche logiciel trop lourde à ton gôut pour accéder aux ports E/S par exemple ?
Contrairement a ce que l'on pense, les surcouches logicielles ne font pas perdre énormément de temps. C'est même un défaut souvent vu sur les devs amateurs: le mélange des fonctions bas niveau et haut niveau. Ce qui rend les programmes très dur a déboguer et a maintenir, ne parlons même pas à écrire.
Tu parles d'autres micro , mais quid des cartes à quels prix et les outils de développement, flashage sont ils gratuits ?
Oui de nos jours tout est pratiquement gratuit, même chez microchip le compilateur C PIC32 l'est.
Sous ARM et AVR, le compilateur est opensource (gcc), les outils de developpement aussi (gdb, eclipse).
Les interfaces de flash, quand il y en a (une carte teensy se programme depuis l'usb), ne sont pas chères, ni celles de debug.
En regardant plus près le hard de la carte j'ai constaté qu'il y a avait de l'eeprom ok, mais peu de mémoire vive, 1Ko qu'en pensez vous ?
2kB de ram pour la carte Uno, 8kB pour la méga (32 et 256k de flash respectivement. Oui c'est peu, mais ce sont des cartes avant tout fait pour des taches simples. Les cartes a base de ARM ont généralement entre 16 et 64kB de ram.
Tu parles de rtos moniteur temps réel, je ne pense pas qu'un amateur à moins qu'il en soit aussi professionnel utilise un tel système.
un rtos est un système d'exploitation temps réel. Détrompe toi, on en trouve beaucoup des gratuits qui fonctionnent très bien. L'avantage est que le développement est simplifié, on sépare bien les couches logicielles et on va beaucoup plus vite.
Pour le débogage sur ARM (et certains AVR aussi), on utilise l'interface JTAG, qui permets le debug depuis le PC. La aussi c'est peu cher (entre 5 et 50€ l'interface).
Il serait interessant d'avoir ; je sais que cela dépend de ce que l'on veut faire" un état des lieux des familles de micro facile à mettre en oeuvre dans un cadre hors industriel donc amateur.
PIC: obsolètes, aucun amateur ne devrait plus commencer par ça.
AVR: simples, mais limités
PIC32: puissants mais limités a microchip
ARM/cortex: beaucoup de vendeurs, une même application pourra aussi bien tourner sur un ARM 20 pins qu'un gros ARM11 sans nécessiter autre chose qu'une re-compilation et une adaptation des couches basses. Les cortex sont la version la plus évoluée actuellement (A3 en microcontroleur et A9/A15 en multiprocesseur).
Le développement se fait aujourd'hui majoritairement en C. Il ne reste que quelques bastions de l'assembleur: les petites tailles mémoire et les très hautes performances optimisées (traitement du signal et autre), et quand bien même dans ce cas les devs partent du C et l'optimisent après coup.
C'est utile de savoir l'assembleur pour le debug. Pour l'amateur on en restera la.
Un autre aspect dont il faut tenir compte c'est la pérennité .
Pour ca, ARM. Les vendeurs facile a trouver en amateur:
Atmel (AVR ARM et Cortex)
NXP (arm et cortex)
ST (surtout les Cortex)
TI (les petits ARM et gros: luminary et Beagle board)
Samsung (gros ARM qui tournent android)
On trouve des cartes chez Olimex et d'autre vendeurs asiatiques. Les cartes olimex sont bien supportées par la communauté, les asiatiques sont souvent interessantes mais pas forcément simple d'accès.
Quid de la consommation pour ces différents micros, je pense à une activité sur pile par exemple.
La les 8 bits sont imbattable (les derniers AVR tournent entre 3 et 5v), les ARM nécessitent souvent une alim stabilisée en 3.3v, voir 1.8v sur les gros.
J'avais dit que la fréquence était faible, mais il vrai qu'on peut quand même faire des choses avec sans doute, par exempel une interface usb vers série... Sauf s'il faut de gros buffer en ram !
Pas forcement beaucoup de RAM, le contrôle de flux est la pour ca!