Простой сценарий для мониторинга .hex , .eep файлов и программирования его в чип AVR
.hex и .eep мигают Измените следующие строки для настройки системы в avrdude_flasher.py :
9 chip = "attiny2313" Определите здесь чип по умолчанию, если он не в имени файла. Смотрите флаг Avrdude Docu -pprogrammer = "usbasp" Определите здесь свое устройство программирования. Смотрите Avrdude Docu для флага -cpath_to_watch = "./GccApplication3/GccApplication3/Debug" Определите путь для наблюдения за файлами .hexСмотрите на функции Flash для большего количества флагов конфигурации.
Любая система Linux с python2 и avrdude установлена. Я использовал RPI Zero W с подключенным USBASP.
Я настраиваю общее количество SMB и настраиваю путь к нему path_to_watch , поэтому, если AtmelStudio генерирует новую сборку, а Pythonscript мигает новый файл в чип на другом компьютере.
После настройки просто запустить avrdude_flasher.py
Особенность заключается в том, что чип для программирования может быть определен в имени файла, поэтому вам не нужно менять сценарий. Имя файла для .hex и .eep нуждается в следующем шаблоне: _<projectname>_<chipname>_.hex и _<projectname>_<chipname>_.eep , так что действительный файл сборки для Attiny2313 - это::
~/build/_ledblink_attiny2313_.hex~/build/_ledblink_attiny2313_.eepAtmelStudioproject работает не очень хорошо на филишаре, который я заметил. Поэтому я добавил PostBuildRule, чтобы скопировать файлы сборки в команду по обмену с помощью команды копирования Windows:
copy $(MSBuildProjectDirectory)Debug$(AssemblyName).hex C:UsersrootDropboxtestprojDebug_$(AssemblyName)_attiny2313_.hex copy $(MSBuildProjectDirectory)Debug$(AssemblyName).hex C:UsersrootDropboxtestprojDebug_$(AssemblyName)_$(avrdevice)_.hex Если вы хотите посмотреть *.hex файлы на SMB -обменах, вы должны установить его на Ubuntu в файловую систему. Нормальное приложение файлов не делает этого. Итак, сначала вам нужно установить cifs-utils
sudo apt-get install cifs-utils Создайте локальную монтажную папкуsudo mkdir /mnt/tmp_dev_share и установить к нему сервер SMB (здесь общий SMB находится на 192.168.1.23 , и мы хотим установить папку /home/tmp )sudo mount -t cifs //192.168.1.23/home/tmp /mnt/tmp_dev_share Последний шаг - редактировать переменную path_to_watch на /mnt/tmp_dev_share