Atmet studio 6 — BLOGS-IT.RU http://www.blogs-it.ru Компьютеры и электроника: о разработке программного обеспечения Mon, 06 May 2013 06:15:20 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.7.3 Интеграция с avrdude — решение совместимости программаторов с AVR Studio 5, ATMEL Studio 6 http://www.blogs-it.ru/mikrokontrollery-avr/integraciya-s-avrdude-reshenie-sovmestimosti-programmatorov-s-avr-studio-5-atmel-studio-6/ http://www.blogs-it.ru/mikrokontrollery-avr/integraciya-s-avrdude-reshenie-sovmestimosti-programmatorov-s-avr-studio-5-atmel-studio-6/#respond Wed, 05 Sep 2012 08:04:43 +0000 http://www.blogs-it.ru/?p=352 AVR Studio 5, или ATMEL Studio 6 поддерживает лишь ограниченное число программаторов. Тем не менее остальные программаторы, не вошедшие в список можно интегрировать в среду разработки используя консольную программу прошивки микроконтроллеров Avrdude.

Начиная с версии AVR Studio 5 среда разработки основывается на оснастке Micrisoft Visual Studio 2012, которая содержит в свойствах проекта опцию по вызову произвольных пакетных команд. Выполнение команд привязано к основным событиям постоения проекта (Build Events) — команды, выполняемые до построения проекта и команды, выполняемые после построения проекта.

Настраиваем среду исполнения

Итак, открываем среду разработки AVR Studio 5, или ATMEL Studio 6, открываем существующий или создаем новый проект и открываем его свойства:

Свойства проекта

На экране в центральной области откроется вкладка со свойствами выбранного проекта. Выберите вкладку «Build Events»:

Вкладка события постоения

Прошивать микроконтроллер необходимо после успешного построения проекта, поэтому команды следует вводить в соответствующее поле «Post-build event command line» .

Создаем команду заливки прошивки в микроконтроллер

В это поле необходимо ввести команду, которая выполнит заливку только что сделанной прошивки в микроконтроллер. Для этого воспользуемся программой avrdude.exe.

Для того чтобы сформировать команду на заливку прошивки необходимо изучить параметры командной строки avrdude.exe для вашего типа микроконтроллера и сформировать макрос, определяющий путь к файлу, генерируемой прошивки (информацию по командам avrdude вы можете найти здесь: прошивание микроконтроллеров утилитой Avrdude). Я же приведу пример вызова команды для своего типа программатора jtagmkI.

Команда avrdude требует в качестве параметра путь к файлу с прошивкой. Этот путь можно сформировать автоматически воспользовавшись макросами среды разработки:

"$(OutputDirectory)\$(MSBuildProjectName).hex"

Использование макросов предпочтительно тому, если вы пропишите путь к прошивке жестко, т.к. путь к файлу прошивки может измениться если вы, к примеру, перенесете свой проект в другую папку , переименуете проект или даже переключитесь из режима Debug в режим Release. Применение макросов гарантирует, что каждый раз при вызове события построения проекта команде будет сформирован правильный путь к прошивке.

Итак, разобравшись с параметрами команды у меня получилась строчка следующего вида:

avrdude.exe -c jtagmkI -p m32 -P COM3 -U flash:w:"$(OutputDirectory)\$(MSBuildProjectName).hex":i -U hfuse:w:^<0x91^>:m -U lfuse:w:^<0xFF^>:m

Осталось только определить путь к программе avrdude и убедиться что в опциях проекта стоит галочка напротив пункта «Генерировать .hex». Для этого заходим в свойствах проекта на вкладку «Buid» и ставим галочку:

Галочка напротив пункта Generate .hex file

Смотрим что получилось

Теперь всякий раз после того как вы будете выполнять построение проекта будет автоматически производиться вызов команды прошивания микроконтроллера.

В случае, если avrdude не сможет выполнить заливку программы среда разработки выдаст в окне «Список ошибок» соответствующую запись.

Конечно, с помощью данного способа, будет выполняться только выгрузка сделанной прошивки в микроконтроллер и вы не сможете использовать функции отладки, имеющиеся в среде исполнения. Но для случаев, когда отсутствие возможности отлаживать не принципиально, а покупать дорогой программатор из списка поддерживаемых по каким либо причинам не хочется или не целесообразно это вполне приемлемое решение.

]]>
http://www.blogs-it.ru/mikrokontrollery-avr/integraciya-s-avrdude-reshenie-sovmestimosti-programmatorov-s-avr-studio-5-atmel-studio-6/feed/ 0