Friday, 13 January 2017

Простой способ программирования плат Arduino без IDE Arduino.

Прежде всего скачиваем программу avrdude.exe,  например, здесь: http://download.savannah.gnu.org/releases/avrdude/ 
кликнув на  avrdude-6.3-mingw32.zip (последняя версия на данный момент). Распаковываем скачанный файл в папку, которую назовем Avrdude. В папке должно быть два файла - собственно  avrdude.exe , а также avrdude.conf .

Далее создаем bat-файл , который собственно и будет управлять процессом программирования платы   Arduino.

Отключаем вывод команд в окне командной строки:

@ECHO OFF


Назначаем переменной  proj_name значение соответствующее имени Вашего проекта (слева и справа от знака равенства пробелов быть не должно!):

set proj_name=YOUR_PROJECT


Выводим имя Вашего проекта в заглавие окна командной строки:

title  %proj_name%

Определяем местоположение bat-файла. Bat-файл я располагаю в папке Release формируемом в AtmelStudio в месте с файлами  YOUR_PROJECT.hex  и  YOUR_PROJECT.eep. Вы же можете расположить его где угодно главное чтобы в этой же папке присутствовали YOUR_PROJECT.hex  и  YOUR_PROJECT.eep.
set batch_file=%~dp0 

Задаем полный путь к нашим програмным файлам hex и eep:
set hex_file=%batch_file%%proj_name%.hex
set eep_file=%batch_file%%proj_name%.eep


Указываем тип микроконтроллера (ATMEGA328P для плат UNO & NANO) в обозначениях avrdude:
set partmun=m328p

Указываем скорость обмена с загрузчиком платы (для UNO - 115200, NANO - 57600 , там где нужно - убрать rem; где не нужно вставить ):
rem NANO
set bit_rate=57600

rem UNO
rem set bit_rate=115200

Указываем полный путь к папке, где мы сохранили avrdude
cd <YOUR_FULL_PATH_TO_AVRDUDE>

например:
cd С:\Avrdude

Указываем что делать avrdude
:loop

avrdude  -p%partmun% -carduino -PCOMXX -b%
bit_rate% -D -Uflash:w:%hex_file%:i -Ueeprom:w:%eep_file%:i

pause


goto loop


Вat файл выполняется в бесконечном цикле с паузой после программирования платы. Если вы внесли изменения в hex  и eep файлы, то просто жмем "ввод" и заново программируем плату Arduino. Еще один момент связан с  -PCOMXX. Этот параметр указывает на последовательный порт к которому подключена ваша плата. Его надо определить через Диспетчер устройств компьютера и исправить. Например, если у вас подключено к СОМ12, то надо исправить на -РСОМ12


В итоге bat файл примет вид:



@ECHO OFF

set proj_name=YOUR_PROJECT

title  %proj_name%

set batch_file=%~dp0
set hex_file=%batch_file%%proj_name%.hex
set eep_file=%batch_file%%proj_name%.eep

rem NANO
set bit_rate=57600

rem UNO
rem set bit_rate=115200

set partmun=m328p
cd <YOUR_FULL_PATH_TO_AVRDUDE>

:loop
avrdude  -p%partmun% -carduino -PCOMXX -b%bit_rate% -D -Uflash:w:%hex_file%:i -Ueeprom:w:%eep_file%:i 
pause
goto loop


No comments:

Post a Comment