Un script simple pour surveiller .hex , .eep fichiers et le programmer à la puce AVR
.hex et clignotement .eep Modifiez les lignes suivantes pour configurer le système dans avrdude_flasher.py :
9 chip = "attiny2313" Définissez ici la puce par défaut si ce n'est pas dans le nom de fichier. Voir Avrdude docu -p Flagprogrammer = "usbasp" Définissez ici votre appareil de programmation. Voir Avrdude docu pour le drapeau -cpath_to_watch = "./GccApplication3/GccApplication3/Debug" Définissez le chemin à surveiller pour surveiller les fichiers .hexVoir sur Function Flash pour plus de drapeaux de configration.
Tout système Linux avec python2 et avrdude installé. J'ai utilisé un RPI Zero W avec un USBASP connecté.
Je configure un partage SMB et configure le chemin path_to_watch vers celui-ci, donc si Atmelstudio génère une nouvelle version et que le Pythonscript clignote le nouveau fichier sur la puce sur un autre ordinateur.
Après la configuration, exécutez simplement avrdude_flasher.py
Une fonctionnalité est que la puce à programmer peut être déterminée dans le nom de fichier, vous n'avez donc pas besoin de modifier le script. Le nom de fichier pour .hex et .eep ont besoin du modèle suivant: _<projectname>_<chipname>_.hex et _<projectname>_<chipname>_.eep So un fichier de construction valide pour un atttiny2313 est:
~/build/_ledblink_attiny2313_.hex~/build/_ledblink_attiny2313_.eepUn atmelstudioproject ne fonctionne pas très bien sur un fichier de fichiers que j'ai remarqué. J'ai donc ajouté une post-buildrule pour copier les fichiers de build dans le partage via une commande de copie Windows:
copy $(MSBuildProjectDirectory)Debug$(AssemblyName).hex C:UsersrootDropboxtestprojDebug_$(AssemblyName)_attiny2313_.hex copy $(MSBuildProjectDirectory)Debug$(AssemblyName).hex C:UsersrootDropboxtestprojDebug_$(AssemblyName)_$(avrdevice)_.hex Si vous souhaitez regarder les fichiers *.hex sur des partages SMB, vous devez le monter sur Ubuntu dans le système de fichiers. L'application de fichiers normale ne fait pas cela. Donc, vous devez d'abord installer cifs-utils
sudo apt-get install cifs-utils crée un dossier de montage localsudo mkdir /mnt/tmp_dev_share et montez le serveur SMB (ici, la part du SMB est sur 192.168.1.23 et nous voulons monter le dossier /home/tmp )sudo mount -t cifs //192.168.1.23/home/tmp /mnt/tmp_dev_share La dernière étape consiste à modifier la variable path_to_watch vers /mnt/tmp_dev_share