J'utilise un Boarduino et une planche à pain à 30 rangées pour programmer mon ATtiny. Je charge un croquis pas trop compliqué appelé ArduinoISP (inclus par défaut maintenant dans l'IDE Arduino), et soudain j'ai un programmeur qui fonctionne. Atmel vend un bon programmeur entre 30 $ et 40 $, et il existe de nombreux kits pour en faire des moins chers.
J'étais très heureux une fois que j'ai eu mon programmeur qui fonctionnait et que j'ai fait clignoter quelques leds. Cependant, maintenant mon pauvre boarduino est coincé en devoir de programmeur.
Autant que je sache, ce programmeur maintient le bouton de réinitialisation enfoncé, puis transmet et reçoit sur les broches MOSI et MISO. Je pense que le SCK est inutilisé ou du moins inutile. (SCK est nécessaire selon la fiche technique ATtiny, mon programmeur ne fonctionne pas sans lui, et je ne trouve pas l'endroit où je pensais l'avoir lu n'était pas nécessaire.)
Pourquoi ai-je besoin d'un programmeur matériel pour simplement transmettre en série? Je veux dire, supposons que je suis prêt à maintenir le bouton de réinitialisation avec mon doigt au lieu d'utiliser un IC. Tout ce qui reste est l'envoi et la réception en série, donc tout ce dont j'ai besoin est de trois fils GND, RXD et TXD. Heck, si j'ai la ligne "DTR" ou autre chose, vous pouvez même maintenir enfoncé le bouton de réinitialisation avec le câble série.
Pourquoi y a-t-il toutes ces solutions matérielles qui nécessitent également des logiciels sophistiqués (comme AVRdude, ou AVR studio, ou autre)?
Je veux dire que je pouvais comprendre un petit câble USB qui présentait le microcontrôleur comme un périphérique de stockage de masse et vous permettait de faire glisser des fichiers binaires pour la programmation (comme cette carte de développement ARM ). Matériel uniquement, à l'aide de pilotes logiciels standard.
Je pourrais également comprendre une solution logicielle uniquement (modulo accrocher les fils de l'USB à la puce, en utilisant quelque chose comme la puce FTDI pour simplifier ce qui descend les fils). Tout le protocole de programmation sophistiqué serait géré par un logiciel sur l'ordinateur, et le matériel ne serait que quelques fils.
Pourquoi avons-nous à la fois des logiciels et du matériel (compliqués)? Je veux dire, pour autant que je sache, la programmation des microcontrôleurs est assez facile, mais quand je commençais à peine, j'étais vraiment inquiet de savoir comment j'allais jamais acheter une puce de mouser ou digikey sans payer un gourou pour programmer un chargeur de démarrage pour moi.
Je suis sûr qu'il y a une bonne raison (ce n'est pas comme si j'avais écrit le logiciel ou commencé à fabriquer le programmateur USB glisser-déposer), mais en tant que nouveau venu, je n'ai aucune idée de ce que c'est.