J'ai du mal à fabriquer un Arduino pendant un certain temps (j'ai réussi à faire une version de planche à pain en utilisant un câble de programmation ISP ). Ils disent que le chargeur de démarrage Arduino est conçu pour qu'aucun circuit externe ne soit nécessaire pour programmer l' ATmega8 . Mais quand j'ai regardé les schémas, il y a le circuit normal requis pour la connexion série. Que fait alors le chargeur de démarrage?
arduino
bootloader
Rick_2047
la source
la source
Réponses:
Le chargeur de démarrage est un petit programme dans le flash de l'AVR qui n'est jamais écrasé et fonctionne au démarrage. Le travail du chargeur de démarrage consiste à lire les données du programme à partir de l'UART et à les écrire sur la mémoire flash interne. Sans chargeur de démarrage, la seule façon de charger du code est d'utiliser ISP.
L'AVR ATMega8 est livré sans code dans le flash. Le code peut être téléchargé via les broches ISP (in-system-programming), en utilisant un programmeur AVR ISP (ou même un autre Arduino).
Pour Arduino, le FAI n'est utilisé qu'une seule fois (à la fabrication) - pour télécharger un petit chargeur de démarrage. Au démarrage, le chargeur de démarrage s'exécute et communique avec l'UART série (broches TX + RX). Maintenant, Arduino peut être programmé via les broches série en utilisant le protocole STK500.
Comme les broches série sont (généralement) connectées à une puce FTDI USB vers série, l'Arduino peut également être programmé via USB.
la source
Vous pouvez acheter des puces ATmega328 avec le chargeur de démarrage ici .
la source
Ils signifient probablement que si vous achetez un Arduino Uno pré-construit et assemblé, vous n'avez pas besoin d'acheter un programmeur. Comme avec beaucoup d'autres kits de démarrage électroniques. Vous pouvez programmer la carte Arduino Uno avec juste un câble USB (A> B).
Cependant, si vous envisagez de créer votre propre Arduino, vous aurez bien sûr besoin d'un circuit externe (par exemple un programmeur AVR ISP) ou du type Max232 ou FTDI.
la source
L'idée derrière le chargeur de démarrage Arduino est que vous n'avez pas besoin de matériel ou de circuits spécialisés pour les reprogrammer, par rapport à la programmation initiale de celui-ci, ou d'un microcontrôleur plus ancien, qui nécessite souvent un programmeur dédié (comme PicKit2 pour les microcontrôleurs PIC). Le chargeur de démarrage permet de programmer sur une connexion série de base.
Bien sûr, à l'époque, vous aviez besoin de la liaison série, généralement un convertisseur rs232 de TTL à RS232. Ensuite, les ports série étant progressivement supprimés, l'usb vers la série est devenu omniprésent, ce qui permet de remplacer un max232 ou similaire. Et maintenant, l'utilisation du microcontrôleur Atmel compatible USB permet même que cela ne soit pas nécessaire, donc un seul ic avec des pièces passives minimales pourrait fournir les fonctions Arduino et USB vers série. Maintenant, vous n'avez besoin que d'un câble USB et de quelques câbles passifs pour télécharger un croquis. La programmation initiale du chargeur de démarrage nécessite toujours une programmation ICSP traditionnelle.
la source