Site Loader

Содержание

AVR Studio ликбез | Электроника для всех

Установка.
Сначала надо с сайта atmel.com скачать последнюю версию AVR Studio. Весит она что то около 30 метров. Можно и старые релизы использовать, не преступно, но там может не оказаться новых микроконтроллеров. AVR Studio, как и многие буржуйские программы, крайне хреново понимает русские имена и длинные пути. Поэтому ставь ее по максимально простому пути, что то вроде C:\AVR\ А сами проекты тоже держи как можно ближе к корню, У меня, например, это D:\Work\AVR — никаких имен длинней 8 символов и, конечно же, никаких русских символов. Привет родимый DOS, как говорится.

Да, если планируешь (если не планируешь, то все равно скачай и поставь, не помешает) писать на Си, то рекомендую скачать GCC aka WinAVR и установить ее ДО студии, туда же, поближе к корню. Тогда студия подхватит ее в качестве своего плагина. Если поставить после, то тоже, может быть подхватит, но возможны проблемы.


Первый запуск и знакомство с оболочкой
При старте Студия сразу же кидается в тебя мастером создания нового проекта.

В центре будут уже созданные проекты, а нас интересует кнопка New Project. Жми ее и вводи параметры будущей разработки.

Выбирай тип языка на котором будешь писать: Си или Ассемблер, а также имя будущего проекта. Также не помешает указать путь к папке с проектами. Студия умная и запомнит ее раз и навсегда и под каждый новый проект будет генерить новую папку. Так что скоро там будет полный гадюшник :))))) Дальше есть две кнопки

Finish и Next. Тебе надо жать на Next. Нажмешь на финиш и получишь пустой проект в котором даже процессор то не определен. А вот если Next, то будет следующий диалог:

Сильно сомневаюсь, что у тебя первоначально сразу же будет AVR Dragon или какой нибудь ICE 2, так что мы будем симулировать. Выбирай симулятор. Чем отличается AVR Simulator от AVR Simulator2 я так и не понял, работают одинаково. Выбрал? Вот теперь FINISH HIM! В смысле жми Finish

.

Во, появилось пустое окно проекта. Оглядим что тут есть:

Увеличить скриншот

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

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

Подробно по пунктикам. Первый ряд.

  • Бинокль — поиск в коде. Кроме поиска там есть еще Mark ALL — пометить строки с найденым барахлом. Появляются такие голубенькие меточки возле строк.
  • Синий флажок и компания — поставить/снять пометку вручную. Удобнейшая вещь эти пометки. Пользуйся!
  • Две фиговины для форматирования блоков текста. Типа выделил процедуру, а потом подвинул ее влево или вправо. Сишники оценят 🙂
  • Синяя муть и птичка — кнопки для программаторов понтовых. Если их у тебя нет, то забей.
  • Стрелка Play — запуск симуляции.
  • Квадратик Stop — остановка симуляции. Все просто.
  • Листок со стрелочкой — запуск программы.
  • Пауза — остановка программы там где получилось
  • синяя стрелка аля Enter — виртуальный Reset контроллера
  • Желтая стрелка — показать где программа находится сейчас. Жутко полезно когда проект побит на части, и ты пытаешься найти где прога стоит в данный момент.
  • Три стандартные кнопки любого отладчика Step Into — сделать шаг по тексту программы. Step Over — сделать шаг по тексту, но не заходить в процедуры и функции (процедуры и функции при этом выполняются, просто нам это не показывают). Step-Out — Выход из процедуры на уровень выше. Конечно, назад МК шагать не умеет, но вот если там цикл какой, то
    Step Out
    это равносильно тому, что МК сделает одну итерацию цикла и встанет над инструкцией.
  • Фигурные скобки и стрелка — выполнить программу до текущего положения курсора. Пощелкай этой кнопочкой и сам поймешь что это
  • Красная точка — BreakPoint поставить бряк. О брейпоинтах ниже.
  • Крестик и красная жопа — нажмешь ее и всем брейкпоинтам в проге настанет жопа — их удалит.
  • Очки — это Watch, способ подглядывать за какой нибудь переменной, адресом в памяти или регистром. О них тоже потом.
  • Кнопки переключалок окон, включать выключать разные блоки интерфейса. Потыкайся по ним и поймешь сам.


Второй ряд:
Тут ничего не работает, т.к. нет подключенных девайсов (JTAG или STK500) и нас интересуют только две последние кнопки.
Первая из них это компиляция проекта, вторая компиляция и запуск симуляции.

Теперь если ты забьешь в проект простейший код, например,

1
2
3
4
5
	.include "m8def.inc"	; Используем мега8
M1:	NOP			; Ничего не делаем (команда NOP просто пропускает один такт и занимает одно слово в памяти)
	NOP			; Опять ничего не делаем
	NOP			; И снова ничего не делаем
	RJMP M1			; Возвращаемся к метке М1 и снова ничего не делаем

.include «m8def.inc» ; Используем мега8 M1: NOP ; Ничего не делаем (команда NOP просто пропускает один такт и занимает одно слово в памяти) NOP ; Опять ничего не делаем NOP ; И снова ничего не делаем RJMP M1 ; Возвращаемся к метке М1 и снова ничего не делаем

Куда уж проще 🙂 То сможешь скомпилировать проект и запустить процесс отладки.

При запуске симулятора повылазит куча разных новых окошек, о которых я тебе сейчас расскажу. Гляди на скриншот:

Увеличить скриншот

I/O View
Окно переферии, то что справа. Обрати внимание на заголовок окна I/O View — там есть строка поиска и ряд кнопочек. Потыкай их, чтобы получить наиболее удобное представление. Я обычно ставлю

Tree View. Каждый регистр можно развернуть. Каждый бит подписан и во всплывающей подсказке написано его назначение. Также настоятельно рекомендую прошерстить контекстное меню в этом блоке и выставить там галку Show Bit numbers — удобно. Черный квадратик — бит есть. Белый — бита нет. Там же указано значение в байте. В процессе отладки каждый бит можно вручную принудительно выставить или сбросить. Сэмулировав, например, нажатие кнопки.

Processor
Слева есть окно Processor, в нем указана вся подноготная ядра в текущий момент.


Memory
Окно памяти. Можно в списке выбирать любое адресное пространство. Хочешь флеш, хочешь епром, или ОЗУ.

Watch
Это Watch лист. Можно на любой адрес, переменную или любой регистр навесить гляделку и там всегда будет отображаться его содержимое. Удобно при отладке, чтобы не шерстить по коду. Также содержимое регистров/переменных подсвечивается в подсказке при наведении мыши.

Отладка в AVR Studio
Код ты написал, он у тебя даже скомпилировался. Но от радости прыгать не получается — не работает как задумано. Чтож, бывает. Начинаем избавлять код от лажи — отлаживать.
Сначала подготовь плацдарм и выстави требуемую частоту процессора.

Как выставить частоту процессора в

AVR Studio:
Загадка века, между прочим. Сходу фиг найдешь. Короче, запускай процесс симуляции. Только в этом случае появится нужный пункт меню. А потом лезь в меню Debug -> AVR Simulations Options. Ну не козлы, а? В такие гребеня прятать столь важный параметр. Я почти два месяца его в свое время искал. Там же можно выставить адрес бутлоадера (он зависит от Fuse Bits в реальном МК).

Итак, симуляция запущена, а желтая стрелка бодро указывает на первую команду. Потыкай на клавишу F11, погляди как процессор шагает. Если все нормально, то переходи на то место, где у тебя предпологаемый затык. Например, не выставляется бит в порт. Можно поставить в это место курсор и нажать Run to Cursor, это если по быстрому. Но лучше использовать брякпоинт.

BreakPoint
Это точка останова. Т.е. если какое то условие совпадет, то процессор встанет как вкопанный, пока ты не примешь решение, что же делать дальше. Мощнейшее средство отладки. Самый простой случай это установка Breakpoint — кнопкой F9, она же его и убирает. Через контекстное меню брейпоинт можно временно дезактивировать. Все, если теперь ты нажмешь на F5 то проц, пойдет молотить код подряд, пока не дойдет до брейкпоинта. Где встанет как вкопаный, перейдя в пошаговый режим.

Техническое отступление, при желании можно его пропустить

Не получилось? Прождал полтора часа, а бряк так и не наступил? Ну значит где то у тебя косяк, зациклило прогу. Жми паузу и смотри где переклинило процессор. Можешь пошагово потрейсить и посмотреть в каком именно месте оно крутится. А дальше уже думать. Отработка больших циклов, может быть очень длительной. Например, задержка длительностью в двадцать секунд, эмулируется в Студии порядка пяти минут!!! (на моем древнем Athlon 950) так что если у тебя где то тупит, то не помешает глянуть на показания StopWatch — может на самом деле все еще нормально, просто подождать надо. Чтобы не тупить на таких циклах я их на время отладки закомменчиваю или меняю предделитель таймера с 1024, на 1. На логику же это не влияет, так что можно проскочить их по быстрому.


Бряки бывают разные. Добавляются Брейкпоинты из меню Debug -> New Breakpoint их там два вида. Programm Breakpoint — это тупо точки останова на конкретном месте. Их проще расставлять не отсюда, а прям в коде на нужной строке. А вот ;Data Breakpoint это уже куда интересней. Погляди на выпадающий список — есть где развернуться. Тут тебе и совпадение битов, и равенство нужному числу, и просто обращение к адресу/регистру/памяти. Причем можно указывать сразу битовую маску. А в разделе Location выбрать любой байт памяти или регистр конфигурации. Мало того, в настройках брейка можно выбрать после скольких событий должен сработать этот бряк. Например, ты поставил брейк на начало цикла, нужно тебе поглядеть что происходит на какой-нибудь 140 итерации. Не будешь же ты тыкать пока оно там все 140 раз не прокрутится. Ставим в свойствах бряка число хитов которые он должен пропустить — 140 и на 140 итерации он тормознет программу. Удобно, черт возьми!
Все брейкпоинты видны в окне Breakpoint and tracepoint. Которое возникает внизу, там же где и сообщения об ошибках, в виде закладки. Оттуда им можно менять свойства, там же можно вывести отображение числа хитов и другие свойства бряка.

Работа с портами, эмуляция кнопок и прочего внешнего оборудования.
Есть в отладке AVR Studio одно небольшое западло, точнее особенность. Когда ты устанавливаешь порт на вход, делая подтяжку на резистор:
DDR= 0
PORT=1
То вывод виртуального МК остается равен нулю!!! Таким образом, все кнопки в отладчике AVR Studio по дефолту оказываются нажатыми! Нужно вручную выставить значение PIN, протыкав соответствующие галочки. Неудобно, но так.
А еще можно заказать вывод лога из порта или заливку туда данных извне! Вот это ваще мега фича. Во время отладки, в меню Debug->Simulation Options в разделе Stimuli&Loggin можно выбрать на какой порт, повесить либо логгер, либо же загнать дамп нужных циферок. Входные данные задаются в файле *.sti в формате такого вида [номер таката]:[значение] примерно так:

000000006:01
000000010:02
000000014:03
000000018:04
000000022:05
000000026:06
000000030:07

Можно задавать его вручную, можно написать программу в той же студии, которая тебе его сгенерит :)))) А можно применить одну зашибенную программку stimuligenerator_net20, которую написал широко известный в узких кругах товарищь ARV обитающий на сайте arv.radioliga.com Кстати, рекомендую к посещению, достойный ресурс.
Программка проста как мычание — выставляешь нужные биты по времени, не забыв указать частоту принимающего МК (чтобы такты выставило правильно). Опа и никаких забот 🙂 Для работы программка правда требует .NET окружение, поэтому вначале придется скачать 30МБ .Net Frame Work если ты его себе еще не поставил.

Выходящий лог можно наблюдать в Студии в окне Message (вкладка рядом с сообщениями об ошибках компиляции) и потом поглядеть в файле. Формат там такой же (номер такта:значение порта). Такты идут по порядку при старте процессора, с нуля. Его же можно также открыть stimuligenerator‘ом. Короче, программа Must Have.

Работа с прерываниями
Ну тут все просто, хочешь прерывание — ткни вручную бит ее флага, мол вот оно, и прерывание начнется. Особенно это актуально для всяких внешних источников. Вроде UART или INT. После ручного вызова, например, RX прерывания не грех будет взять и вбить ручками в нужный регистр якобы принятое значение. Опа и словно так и было :)))))

Ладно, на сегодня хватит. Потом еще парочку телег по отладке в AVR Studio толкну. Мне, например, уже давно никакие эмуляторы вроде Proteus не нужны. На все хватает родимой студии, да UART вывода. Ну еще парочка примочек, но о них в следующий раз.

Автоматика. Электроэнергия. Электричество. Электрика. Электроснабжение. Программирование

Внизу представлено обучающее видео по работе с микроконтроллерами. Процедура от поиска и скачивания программ, до создания своего проекта, меньше чем за 27 минут. Видео состоит из двух частей. Надеемся, что данное видео поможет в освоении микроконтроллеров.
Работу программы можно эмулировать в Proteus.
Если на PC есть LPT порт (25 контактный для принтера) то ищите схемку программатора на 5 проводков – и желательно что бы она работала с \”PonyProg\” софт для прошивки. Если только USB – ATMEL AVR-910.
На реальном железе нужно вначале всё хорошо просчитать, а только потом браться за паяльник, а то можно и МК спалить и порты.Внизу представлено обучающее видео по работе с микроконтроллерами. Процедура от поиска и скачивания программ, до создания своего проекта, меньше чем за 27 минут. Видео состоит из двух частей. Надеемся, что данное видео поможет в освоении микроконтроллеров и заинтересует начинающих радиолюбителей. Работу программы можно эмулировать в Proteus, непосредственно через интерфейс Windows.
Если на PC есть LPT порт (25 контактный для принтера) то ищите схемку программатора на 5 проводков – и желательно что бы она работала с \”PonyProg\” софт для прошивки. Если только USB – ATMEL AVR-910.
На реальном железе нужно вначале всё хорошо просчитать, а только потом браться за паяльник, а то можно и МК спалить и порты.

[attachment=1]

Выкладываю код программы \”Светофор\” с описанием, для самообучения. Можно написать своё решение, используя прграмму Flowcode AVR.
Это среда разработки, позволяющая составлять программу в виде обычной блок-схемы.

.include "C:\\Program Files\\Atmel\\AVR Tools\\AvrAssembler\\Appnotes\\m128def.inc"

.cseg
.org 0
 jmp RESET



RESET:ldi r16,high(RAMEND) 
   out SPH,r16     
   ldi r16,low(RAMEND)
   out SPL,r16
  

main: 

ldi r16,(1<<PB4)|(1<<PB0)
; PBx - пины PORTB. Записываем в регистр r16 информацию о состоянии пинов PORTB. 
; Теперь регистр r16 будет хранить информацию о том, что нужно подать 1 на нулевой и четвёртый пины PORTB. 
; Когда в некоторые биты регистра будет записан 1, на соответствующих пинах порта B выходе будет 1.
;  По умолчанию состояние всех битов 0, т.е. на всех пинах порта B стоит 0.
; Визуальный эффект операции  отсутствует.
; !!! В порт напрямую можно записывать только состояние регистра!
; Поэтому то, что нужно записать в порт, записывай в регистр, а потом этот регистр записывай в порт!

ldi r17,(1<<DDB2)|(1<<DDB1)|(1<<DDB0)
; DDRx - пины DDRB. Записываем в регистр r17 информацию о состоянии пинов DDRB. 
; Теперь регистр r17 будет хранить информацию о том, что нужно подать 1 на нулевой, первый и второй пины DDRB. 
; Когда в некоторые биты регистра будет записан 1, соответствующие пины порта B  будут сконфигурированы на выход. 
; По умолчанию состояние всех битов 0, т.е. на всех пинах порта B стоит 0.
; Визуальный эффект операции  отсутствует.
; !!! В порт напрямую можно записывать только состояние регистра! 
; Поэтому то, что нужно записать в порт, записывай в регистр, а потом этот регистр записывай в порт!


out PORTB,r16
; выводим на PORTB то, что было записано в регистр r16. 
; Визуальный эффект: на соответствующих выходах появится логический уровень 1.

out DDRB,r17
; выводим на DDRB то, что было записано в регистр r17.
; Визуальный эффект: Вступает в силу установленная ранее конфигурация пинов порта B на вход и выход.

nop
; пустая команда, используемая в качестве задержки длительностью 1 цикл, чтобы все изменения успели вступить в силу, 
; так как на это одного цикла не достаточно, требуется полтора цикла.

clr r16
; Очищаем состояние 16 регистра.

ser r16; 
out PINB,r16 ; 
nop; 
step:
; метка с именем "step" По правилам синтаксиса после имени метки ставится двоеточие.

sbis PINB,PORTB4 
; Команда проверяет состояние бита в четвёртом регистре порта B и, если этот бит установлен, пропускает следующую команду.
; То есть, если состояние всех регистров PINB совпадает с состоянием всех регистров PORTB4, то следующая команда "rcall step1" не будет выполнена,
; и процессор перейдёт сразу к следующей за ней команде, в противном случае команда "rcall step1" будет выполнена.

rcall step1 
; переход к подпрограмме "step1"

rjmp step 
; переход к метке "step"

step1: 
; начало подпрограммы "step1"

    ldi r24,3
	; запись в регистр r24 числа 3. 
	; На деле это будет означать, что нулевой и первый биты этого регистра примут значение 1. 
	; Если число 3 перевести в двоичную форму, то будет 00000011, поэтому первый и нулевой биты примут значение 1.
	; Каждому биту регистра соответствует своё число:
	; 0 - 1
	; 1 - 2
	; 2 - 4
	; 3 - 8
	; 4 - 16
	; 5 - 32
	; 6 - 64
	; 7 - 128
	; Вывод: чтобы установить биты 0 и 1 в лог. уровень 1 , надо сложить числа, которые им соответствуют: 1+2=3.

green:
	ldi r16,$10
	; в регистр r16 загружается число 10 в шестнадцатеричной форме, т.е 16 в десятичной форме, 
	; т.е четвёртый бит регистра переходит в лог. 1.

	out PORTB,r16; было

    rcall d500ms 
	; переход к подпрограмме "d500ms" (подпрограмма задержки на 500 миллисекунд)

    ldi r16,$11; было
	out PORTB,r16; было
	
	rcall d500ms; было

	sbiw r24,1
	; Вычитание единицы из регистра r24 и запись результата в этот же регистр.

	brne green
	; Если результат предыдущей операции не равен нулю, то есть если значение регистра r24 не равно нулю, тогда перейти к метке "green".
	; Таким образом организуется цикл, причём до тех пор, пока содержимое регистра r24 не станет равным нулю.



rjmp main

d05ms:
wdr
ldi YL,low(497)
ldi YH,high(497)
d05_1: sbiw YL,1
brne d05_1
ret


d500ms:
ldi XL,low(1000)
ldi XH,high(1000)

d500_1: rcall d05ms
sbiw XL,1
brne d500_1

ret

; Программа контроля работы светофора
;===========================================================


.include "C:\\Program Files\\Atmel\\AVR Tools\\AvrAssembler\\Appnotes\\m128def.inc"

.cseg
.org 0
 jmp RESET



RESET:ldi r16,high(RAMEND) 
   out SPH,r16     
   ldi r16,low(RAMEND)
   out SPL,r16
  
;=====================================================================
;  Установка начального состояния
;=====================================================================
; В начальном состоянии горит зелёный сигнал светофора
; соответсвенно необходимо установить необходимые  значения в регистры
; порта В 

main: 
ldi r16,(1<<PB4)|(1<<PB0)
ldi r17,(1<<DDB2)|(1<<DDB1)|(1<<DDB0)

out PORTB,r16
out DDRB,r17

nop
clr r16
ser r16
out PINB,r16
nop
step:
sbis PINB,PORTB4
rcall step1
rjmp step

step1: 
    ldi r24,3

green:
	ldi r16,$10
	out PORTB,r16

    rcall d500ms

    ldi r16,$11
	out PORTB,r16
	
	rcall d500ms

	sbiw r24,1
	brne green



rjmp main
;=====================================================================
; подпрограмма задержки на 0.5ms
;=====================================================================

d05ms:
wdr
ldi YL,low(497)
ldi YH,high(497)
d05_1: sbiw YL,1
brne d05_1
ret


;=====================================================================
; подпрограмма задержки на 500ms
;=====================================================================
d500ms:
ldi XL,low(1000)
ldi XH,high(1000)

d500_1: rcall d05ms
sbiw XL,1
brne d500_1

ret
.include "C:\\Program Files\\Atmel\\AVR Tools\\AvrAssembler\\Appnotes\\m128def.inc"

.cseg
.org 0
 jmp RESET



RESET:ldi r16,high(RAMEND) 
   out SPH,r16     
   ldi r16,low(RAMEND)
   out SPL,r16

;*************************************************************************************************************************


main: 		; начало основной программы.
ldi r16,7	; взводит 0, 1 и 2 биты в регистре r17.
out DDRB,r16

ldi r20,1	; взводит нулевой бит в регистре r20.
out PORTB,r20	; подаёт на выход содержимое регистра r20(включает первый светодиод).
call wait500ms	; вызывает программу ожидания.

ldi r20,2	; взводит первый бит в регистре r20.
out PORTB,r20	; подаёт на выход содержимое регистра r20(включает второй светодиод).
call wait500ms	; вызывает программу ожидания.

ldi r20,4	; взводит второй бит в регистре r20.
out PORTB,r20	; подаёт на выход содержимое регистра r20(включает третий светодиод).
call wait500ms	; вызывает программу ожидания.

jmp main	; переход к началу основной программы.



wait500ms:	; начало подпрограммы ожидания.
ldi XL,low(30)  ; загружаем в регистр количество тактов, определяющее время ожидания.
ldi XH,high(30)	; загружаем в регистр количество тактов, определяющее время ожидания.

d500:		; метка d500
sbiw XL,1 	; Отнимает из содержимого XL единицу и если результат операции равен нулю, устанавливает Z флаг.
brne d500 	; Если результат предыдущей команды не равен нулу, переходит на метку d500.

ret       	; Выход из подпрограммы.


;*************************************************************************************************************************

(Просмотрено 1386 раз)

Утилита сборки проектов AVR

Atmel Studio

Недавно вышла новая Atmel Studio версии 7.0. Как и все предыдущие IDE от Atmel, она не лишена ряда существенных недостатков:

  1. Отсутствие кроссплатформенности. Только Windows, причем, не ниже Windows 7
  2. Отсутствие поддержки популярных программаторов, JTAG-ов и т.д, только фирменные атмеловские инструменты
  3. Не умеет обновляться — каждую версию приходится ставить отдельно. Причем, если удалить предыдущую установленную версию, то может сломаться последняя.

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

Для сборки проекта студия использует утилиту make и генерит makefile. В принципе, makefile можно писать руками, но это не совсем удобно и очень громоздко. Попытки использования разных известные аналогов make (cmake, scons и прочее) желаемого результата также не дали. Хотелось своего велосипеда — чего-то предельно простого, гибкого и удобного. В качестве основы был выбран Python, т.к. его легко использовать не только в качестве языка для написания системы сборки, но и в качестве удобного языка для написания сценариев компиляции.

Утилита AVR builder

Пример простого проекта

Описание сценариев компиляции должно быть максимально простым — для сборки достаточно указать список исходных файлов, модель микроконтроллера и, как правило, его тактовую частоту. Так же хотелось иметь возможность собирать одной командой неограниченное множество различных прошивок (например, debug, release, прошивки для кварцевых резонаторов разных частот и т.д.)

Минимальный файл конфигурации выглядит так:


name = 'my_project'
src = ['src/*.c']
mcu = 'atmega8'
frequency = 16*1000000

Этот файл сохраняется под именем make.builder в корень проекта. Утилита при запуске читает этот файл, создает директорию build и запускает компиляцию всех файлов, указанных в списке src. В случае успеха будет создан файл прошивки build/my_project.hex. При этом нет необходимости явно перечислять все исходные файлы, можно использовать символ *. В данном примере, будут скомпилированы все файлы с расширениям .cиз директории src

Дополнительно в файле конфигурации можно указать параметры программатора (используется avrdude), набор макросов препроцессора и опции компиляции.

Более сложный пример


name = "my_project"
src = ["src/*.c", "src/lib/*.c", "src/*.s"]
mcu = "atmega8"
frequency = 16*1000000

# параметры вызова avrdude
port = "com1"
baudrate = 1200
programmer = "usbasp"

# макросы
defines = ['GLCD_DEVICE_AVR8', 'GLCD_CONTROLLER_PCD8544', 'GLCD_USE_AVR_DELAY', '__DELAY_BACKWARD_COMPATIBLE__']

# опции компилятора и сборщика
compiler_options = ['-Os']
linker_options = ['-Wl,--relax']


configurations = {
	"debug": {
		"name": "my_project_debug",
		"defines": ['DEBUG=1']
	},
	"release": {
		"name": "my_project_release",
		"defines": ['DEBUG=0', 'NDEBUG']
	},
	"demo": {
		"name": "my_project_demo",
		"defines": ['DEBUG=0', 'NDEBUG', 'DEMO_MODE']
	}
}

Тут дополнительно определены макросы препроцесора для условной компиляции (параметр defines) и настройки программатора для avrdude. Кроме того, в этом примере определены три конфигурации проекта с именами «debug», «release» и «demo».

Теперь скомпилированную прошивку можно залить на устройство командой


builder upload

При необходимости можно указать и параметры компиляции и сборки (параметры compiler_options и linker_options). По умолчанию билдер задает эти параметры так, чтобы на выходе получалась максимально компактная и оптимизированная прошивка. На моих примерах размер прошивки получался меньше, по сравнению с размером прошивки, собираемой Atmel Studio 7 для release-сборки с параметрами по умолчанию.

Поддержка разлличных конфигураций

Еще одна особенность утилиты — поддержка множества конфигураций. Их можно определять с помощью ассоциированного массива configurations, как это сделано в примере выше. Допустим, надо создать разные версии прошивок для разных устройств (с разной схемотехникой, частотой кварца, с разными возможностями и т.д.). Для этого добавляются секции конфигурации в которых определяются отличительные параметры сборки. Также для сборок можно настроить имя конечного hex-файла (параметр name). Списки препроцессорных констант из конфигурации (параметр defines) будут добавлены к общему списку.

Команда


builder all

соберёт все сборки и положит их в директорию build

Команда


builder release demo

соберёт только сборки release и demo

Команда


builder clean debug upload 

очистит содержимое каталога build, затем соберет сборку debug и запишет ее на устройство.

Если в конфигурации конкретной сборки определен параметр, который уже определен в общей конфигурации (например, параметр “name”), то его значение будет взято из параметров сборки если параметр не является массивом. В случае массива значение параметра будет взято из объединения массивов общих параметров с параметрами сборки.

Поддержка bootloader-ов

Если для обновлении прошивки предполагается использовать загрузчик, то, вместо того, чтобы каждый раз вручную «приклеивать» его к прошивке, можно указать в путь к его файлу параметром bootloader_hex:


  bootloader_hex = 'bootloader.hex'

В этом случае код загрузчика будет взят из файала с именем «bootloader.hex» и вставлен в собранный файл прошивки. По умолчанию загрузчик ищется в корневой директории проекта, но можно указать полный абсолютный или относительный пусть.

Другие платформы

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

Сейчас утилита умеет собирать проекты из исходников на С и ассемблере (файлы с расширением .S). Работоспособность проверялась под Mac OS X и Windows. Сборщик пытается автоматически определить местоположение исполняемых файлов avrgcc, и если у него это не получилось (или получилось плохо), то путь к компилятору можно определить в переменной среды AVR_GCC_HOME (должна указывать на директорию c исполняемыми файлами avr-gcc, avr-objcopy, avr-objdump, avr-size и avrdude).

Для компиляции обычного консольного приложения надо изменить тип компилятора на GCC:

compiler = 'gcc'

(по умолчанию compiler = ‘avr’)

Примеры использования сборщика можно посмотреть в следующих проектах:
https://github.com/trol73/avr-lcd-module-128×128
https://github.com/trol73/avr-ic-tester
https://github.com/trol73/avr-lamp-timer
https://github.com/trol73/avr-turnlight-relay

Выбор альтернативной IDE

Что же касается текстового редактора, то перепробовав разные варианты я остановился на IDE NetBeans. Из коробки она умеет работать с файлами Си и ассемблера, запускать сборку с отображением ошибок компиляции и возможностью перехода в строке файла с ошибкой. Так же NetBeans имеет средства рефакторинга — можно, например, переименовывать переменные и методы в исходниках. В итоге, по удобству работы NetBeans, как мне показалась, превосходит AtmelStuidio. Правда, при работе в Windows в последней версии NetBeans замечено некоторое количество некритичных но неприятных багов.

Вообщем-то почти аналогичными возможностями из коробки обладает IDE Eclipse CDT. Но тут, как минимум, все хуже а ассемблерными файлами — подсветка синтаксиса примитивнее и нет возможности перемещаться по объектам как по ссылкам (по крайней мере, на момент написания статьи).

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

Под Mac OS X достаточно удобным показался Xсode — тут из коробки для Си-проектов у меня заработало все кроме рефакторинга.

В качестве Makefile используется файл вида


all:
	python ~/bin/avr-builder/builder.py

Если Netbeans не находит каких-то утилит, то путь к ним можно прописать в файле (тут имя директории зависит от версии) /Applications/NetBeans/NetBeans 8.2.app/Contents/MacOS/netbeans. Я, например, добавил в самое начало этого файла строку


export PATH="/usr/local/sbin:$PATH:/Users/trol/bin"

Проект утилиты-сборщика можно скачать с гитхаба: https://github.com/trol73/avr-make

Создание проекта в AVR Studio – Радиодед

Надеюсь, Вы уже установили AVR Studio. Приступим к созданию простенького проекта. Рассмотрим процесс создания, компиляции и симуляции программы для микроконтроллера.

Запускаем AVR Studio. Появляется окошко, -> Create New Project. В следующем окне вводим имя проекта и место дислокации 🙂

далее -> Next

Выбираем AVR Simulator и модель микроконтроллера, в нашем случае at90s2313:

Все готово -> Finish

после того как исходный код программы написан, необходимо скомпилировать прошивку. Это можно сделать либо нажав значок компиляции, либо нажав клавишу F7.

В случае успешной компиляции, в окне “Output” Вы увидите сообщение:

Assembly complete, 0 errors. 1 warnings

Желательно, чтобы warnings т.е. предупреждений компилятора не было вообще. Всё, прошивка для заливки в микроконтроллер, готова. Она находится в папке с проектом.

После того как программа скомпилировалась без ошибок, можно просимулировать её работу.

 

Для симуляции работы программы необходимо нажать значок около значка компиляции, либо CTRL+F7:

 

Появится желтая стрелка, указывающая натекущий шаг симуляции. Команды отладки:

Run – Пуск (F5) – запуск исполнения программы

Reset – Сброс (SHIFT+F5) – остановка процесса трассировки, курсор перемещается на начало исполняемой программы

Break – Прервать (CTRL+F5) – прервать исполнение программы

Step Into – Пошаговая отладка (F11) – самая полезная команда, результат работы микроконтроллера виден в левой панели переферии, а это порты ввода/вывода, таймеры/счетчики,  флаги системных регистров…

Run to Cursor – Запустит с позиции курсора (CTRL+F10) – переход на позицию курсора, симуляция продолжается с этого места

 

Скачать последнюю версию AVRStudio можно на официальном сайте atmel.com

 

Просмотров всего: 518, сегодня: 2

Intro, Installation, How to Start, Create First Project

AVR Studio: В предыдущей главе мы кратко представили AVR Studio. Теперь мы рассмотрим, как писать / создавать проект в AVR.

Прежде чем перейти к этому, я прошу вас прочитать предыдущие главы:

Итак, чтобы сделать проект в AVR, прежде всего, мы должны установить программное обеспечение AVR на наш компьютер. Доступны различные версии AVR, такие как AVR Studio 4, AVR Studio 5, AVR Studio 6 и т. Д.В разных окнах (Windows 7, 8, 9.1, 10) существует другой метод загрузки программного обеспечения AVR Studio.

В Windows 7 процесс установки прост. Вам необходимо загрузить программное обеспечение AVR Studio, и оно будет легко установлено на ПК. В то время как для других окон, таких как 8, 8.1, 9, 10, существует другой метод установки программного обеспечения.

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

В windows 10 после установки нужно указать путь к нему. Как только все вышеупомянутые процессы будут выполнены, ваше приложение AVR studio полностью установлено, и вы можете начать работу над ним.

Что вы здесь прочтете Toady

Как создать проект в AVR Studio

для AVR Studio 5

  • Откройте программное обеспечение на рабочем столе / ПК.
  • Затем перейдите к параметру файла, который доступен в верхнем левом углу.
  • нажмите на него и нажмите на Новый
  • При нажатии на новые две опции будут предоставлены, то есть Проект и Файл.
  • Выбрать проект.
  • После его выбора выберите « AVRGCC C Executable Project».
  • Теперь назовите свой проект (любое имя, которое хотите дать).
  • После этого нажмите кнопку «ОК».
  • При нажатии на ОК появится окно с именем как выбор устройства.
  • Под этим выберите ATMega 16. (Вы можете выбрать по вашему выбору)
  • После выбора нажмите кнопку «ОК».
  • Ваш проект создан.
  • Теперь напишите свой код в отведенном для вас месте.
  • Выходные данные можно получить с помощью этого простого процесса: Проверить здесь

Регистры ввода / вывода AVR

При разработке приложений с использованием микроконтроллеров нам нужно знать только две вещи:

  • Как получить вывод с микроконтроллера и
  • Как прочитать ввод, данный микроконтроллерам?

Ответ на эти два вопроса можно получить, если разобраться в трех регистрах: DDRX, PORTX и PINX. , где’X ’представляет собой ПОРТ микроконтроллера.В ATmega 16 этот «X» может принимать «A», «B», «C» или «D». Таким образом, регистры ввода-вывода, соответствующие порту C, являются DDRC, PORTC и PINC, а также для других портов.

DDRX (регистр направления данных)

Это 8-битный регистр, связанный с 8 выводами ввода / вывода, доступными в микроконтроллере. Таким образом, количество регистров DDR в микроконтроллере определяется количеством портов, доступных в микроконтроллере.

Пример: ATMega 16 имеет 4 порта, поэтому у него есть регистры DDR, связанные с каждым портом (A, B, C, D).

Этот регистр определяет направление вывода ввода / вывода, т.е. либо вывод будет выдаваться с этого вывода, либо будет считываться ввод. «0» означает, что соответствующий вывод будет действовать как вход, а «1» означает, что вывод будет действовать как выход.

Итак, если вы напишете DDRA = 0b11010001, тогда 8 контактов ввода / вывода PortA будут иметь направление, как показано на рисунке ниже.

Регистр PORTX

Для выбора вывода в качестве вывода регистром DDR значение вывода определяется регистром PORT этого порта.

Регистр PINX

В случае, если в качестве входа регистром DDR выбран вывод, значение, предоставленное устройством ввода, доступно в регистре PIN. Микроконтроллер считывает регистр PIN-кода, чтобы получить устройство ввода.

Для проверки вывода программы
  • После написания кода перейдите к опции «build» или нажмите f7, чтобы скомпилировать вашу программу.
  • После того, как ваша программа скомпилирована, вы можете поместить свою программу / код для процесса моделирования.

Это все для этой главы. Далее мы займемся такими интересными темами, как светодиоды, твердотельные накопители, ЖК-дисплеи и т. Д. Итак, теперь приготовьтесь разобраться с частью кодирования встроенной системы.

atmel — Ошибка при компиляции проекта в Avr Studio 6

При сборке моего проекта в AVR Studio 6 появляется следующая ошибка: 400 Id возвратил 1 статус выхода collect2.exe

И если я посмотрю на свой результат, у меня будет следующее:

  Строительная цель: основная.эльф
    Вызов: AVR / GNU Linker: 3.4.2
    "C: \ Program Files (x86) \ Atmel \ Atmel Toolchain \ AVR8 GCC \ Native \ 3.4.2.1002 \ avr8-gnu-toolchain \ bin \ avr-gcc.exe" -o main.elf eeprom.o panel6.o testmode .o uart.o AT45DB161.o delay.o dtmf.o keypad.o lcd.o main.o mcu.o menu.o remote_rx.o spi.o tx75x.o bootloader.o txcellular.o -Wl, -Map = "main.map" -Wl, - start-group -Wl, - end-group -Wl, - gc-section -mmcu = atmega64
    c: / программные файлы (x86) / atmel / atmel toolchain / avr8 gcc / native / 3.4.2.1002 / avr8-gnu-toolchain / bin /../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(cmpsf2.o):/data2/home/toolsbuild/jenkins-knuth/ workspace / avr8-gnu-toolchain / src / avr-libc / libm / fplib / cmpsf2.S: 58: множественное определение `__ltsf2 '
    c: / программные файлы (x86) / atmel / atmel toolchain / avr8 gcc / native / 3.4.2.1002 / avr8-gnu-toolchain / bin /../ lib / gcc / avr / 4.7.2 / avr5 \ libgcc.a ( _lt_sf.o): / data2 / home / toolsbuild / jenkins-knuth / workspace / avr8-gnu-toolchain / src / gcc / libgcc / fp-bit.c: 1269: впервые определено здесь
    c: / программные файлы (x86) / atmel / atmel toolchain / avr8 gcc / native / 3.4.2.1002 / avr8-gnu-toolchain / bin /../ lib / gcc / avr / 4.7.2 /../../../../ avr / lib / avr5 \ libc.a (cmpsf2.o ): / data2 / home / toolsbuild / jenkins-knuth / workspace / avr8-gnu-toolchain / src / avr-libc / libm / fplib / cmpsf2.S: 58: множественное определение `__lesf2 '
    c: / программные файлы (x86) / atmel / atmel toolchain / avr8 gcc / native / 3.4.2.1002 / avr8-gnu-toolchain / bin /../ lib / gcc / avr / 4.7.2 / avr5 \ libgcc.a ( _le_sf.o): / data2 / home / toolsbuild / jenkins-knuth / workspace / avr8-gnu-toolchain / src / gcc / libgcc / fp-bit.c: 1290: впервые определено здесь

collect2.exe (0,0): ld вернул 1 статус выхода
make: *** [main.elf] Ошибка 1
Команда завершилась с кодом 2.


Выполнено выполнение задачи «RunCompilerTask» - НЕ ИСПОЛЬЗУЕТСЯ.
Завершено построение целевой "CoreRebuild" в проекте "main.cproj" - НЕ ПРОЙДЕНО.
Выполнен строительный проект "main.cproj" - НЕ ПРОШЕЛ.
  

Основная выпадающая ошибка: множественное определение __lesf2 ' Я очень новичок в AVR, не могли бы кто-нибудь помочь мне здесь.

AVR Studio 4 [Образовательные знания по робототехнике и микроконтроллерам, страница

В этом разделе содержится информация, необходимая для установки программного обеспечения для разработки AVR в операционной системе Windows.

Установка

Вам потребуется следующее программное обеспечение, которое можно загрузить с домашней страницы производителя или приобрести с компакт-диска, поставляемого с комплектом Robotic HomeLab.

1. AVR Studio

AVR Studio 4 IDE ( Integrated Development Environment ) — это базовое программное обеспечение для написания исходного кода, его компиляции и загрузки программы в контроллер. AVR Studio можно загрузить с домашней страницы Atmel.

2.WinAVR

WinAVR — это компилятор GNU-GCC для микроконтроллеров AVR. Это бесплатное программное обеспечение, которое можно загрузить с веб-страницы Sourceforge. В процессе установки WinAVR предлагает имя папки, содержащее длинный номер версии. Мы предлагаем вырезать номер версии из имени папки и установить ее, как показано ниже:

 C: \ WinAVR 

3. Роботизированная библиотека HomeLab

Библиотека Robotic HomeLab — это набор функций, предназначенных для набора Robotic HomeLab и контроллеров AVR.С помощью библиотеки программирование становится намного проще и эффективнее. Последнюю версию библиотеки можно загрузить с веб-страницы Robotic HomeLab. Эта библиотека должна быть установлена ​​в ту же папку, где был установлен WinAVR.

Для роботизированной домашней лаборатории на базе ATmega2561

4а. JTAG лиды

Ссылки JTAG — HappyJTAG2 на лидирующих программах и AVR Studio. Tarkvara в пакете zip failiks ja piisab selle lahtipakkimisest soovitud kataloogi näiteks C: \ WinAVR (tarkvara eraldi paigaldada ei ole vaja) HappyJTAG2 для HomeLab

5а.Programmaatori ajur

Ажур võimaldab arvutiga ühendada programmaatori, mis asub kontrolleri plaadil. Вы можете управлять подключением к USB-порту, используя автоматические функции Windows (Windows 7). Kui avada paigalduse protsessi aken peaks nägema umbes järgmisi teateid:

Enne järgmist sammu tuleks oodata, kuni paigaldamine на täielikult valmis.

Для роботизированной домашней лаборатории на базе ATmega128

4б.Драйвер виртуального COM-порта

Драйвер позволяет подключить программатор USB JTAG-ICE к вашему ПК. Перед подключением программатора необходимо установить драйвер. Имя файла драйвера — «CDM x.xx.xx.exe», где «x» обозначает номер версии. После установки драйвера вы можете подключить программатор JTAG-ICE через порт USB и позволить Windows автоматически обнаружить устройство. Вы должны увидеть уведомление на панели задач Windows.

В соответствии с количеством виртуальных портов, ранее определенных на конкретном компьютере, Windows назначает следующий номер порта для нового устройства.Новое имя COM-порта (номер диапазона) создается, если устройство подключено к тому же компьютеру через другой порт USB. Некоторые версии AVR Studio не могут использовать программатор, если номер COM-порта превышает номер 10 и номер 4 в случае использования его в качестве отладчика. Чтобы предотвратить эту ситуацию, вы можете изменить назначенный номер порта в Диспетчере устройств и назначить его диапазону COM0… COM4. См. Полную процедуру здесь.

AVR Studio Ссылка для скачивания: 네이버 블로그

▶ Atmel Studio 7.0 (сборка 1645) веб-установщик (рекомендуется)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.35.0 и Atmel Toolchains. Рекомендуется использовать этот установщик, если во время установки у вас есть доступ в Интернет.

http://studio.download.atmel.com/7.0.1645/as-installer-7.0.1645-web.exe

▶ Atmel Studio 7.0 (сборка 1645) автономный установщик

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.35.0 и Atmel Toolchains. Используйте этот установщик, если во время установки у вас нет доступа в Интернет.

SHA1: b7da45b0a5c594d7298640f4237eb1d84a3a5834

Номер версии: 7.0.1645

http://studio.download.atmel.com/7.0.1645/as-installer-7.0.1645-full.exe

2

5 Веб-установщик Studio 7.0 (сборка 1417) (рекомендуется)

(2,39 МБ, обновлено в марте 2017 г.)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.32.0 и Atmel Toolchains. Рекомендуется использовать этот установщик, если во время установки у вас есть доступ в Интернет.

http://studio.download.atmel.com/7.0.1417/as-installer-7.0.1417-web.exe

▶ Atmel Studio 7.0 (сборка 1417) автономный установщик

(886 MB, обновлено в марте 2017 г.)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.32.0 и Atmel Toolchains. Используйте этот установщик, если во время установки у вас нет доступа в Интернет.

http://studio.download.atmel.com/7.0.1417/as-installer-7.0.1417-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 1416) (рекомендуется)

В Atmel Studio 7.0.1416 внесены следующие изменения:

• Изменен драйвер на WinUSB для AVR Dragon ™, AVRISP mkII, JTAGICE mkII, JTAGICE3, AVR ONE !, STK®600 и QT600

Примечание. При установке эта версия Atmel Studio параллельно со старыми версиями Studio или IAR Embedded Workbench® и использует AVR Dragon ™, AVRISP mkII, JTAGICE mkII, AVR ONE !, STK®600 или QT600. Прочтите Как перейти на более раннюю версию для использования более старых драйверов Jungo.

• Усовершенствования установщика

• Улучшенная поддержка для установки старых пакетов семейств устройств

• AVR 8-bit GCC Toolchain 3.6.0 с восходящими версиями:

— gcc 5.4.0

— Binutils 2.26.20160125

— avr -libc 2.0.0

— gdb 7.8

• ARM GCC Toolchain 6.2.1 с исходными версиями:

— gcc (ARM / embedded-6-ветвь, ревизия 243739), GNU ARM Embedded Toolchain: 6-2016-q4- основной

— Binutils 2.27

— gdb 7.12

• Atmel Software Framework 3.34.1

Atmel Studio 7.0.1416 содержит исправления для следующих проблем, которые присутствовали в 7.0.1188:

• AVRSV-7492: недопустимое значение ПК после нескольких циклов возобновления-приостановки на SAMD10

• AVRSV-7486: Отладка может завершиться ошибкой в ​​устройствах Cortex-M0 + SAM при высоких тактовых частотах

• AVRSV-7693: Переход к исходному тексту из окна просмотра дает сбой studio

• AVRSV-7741: Запись Flash или EEPROM размером 0x100 или 0x1000 не работает при программировании ISP / SPI

http: // studio.download.atmel.com/7.0.1416/as-installer-7.0.1416-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 1417)

http: //studio.download.atmel. com / 7.0.1416 / as-installer-7.0.1416-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 1188) (рекомендуется)

(2,46 МБ, обновлено в сентябре 2016 г.)

Просмотр минимальные системные требования

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.32.0 и Atmel Toolchains. Рекомендуется использовать этот установщик, если во время установки у вас есть доступ в Интернет.

http://www.atmel.com/Images/as-installer-7.0.1188-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 1188)

(863 МБ, обновлено в сентябре 2016 г.) )

Просмотреть минимальные системные требования

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.32.0 и Atmel Toolchains. Используйте этот установщик, если во время установки у вас нет доступа в Интернет.

http://www.atmel.com/Images/as-installer-7.0.1188-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 1006) (рекомендуется)

Следующие изменения выполняются в Atmel Studio 7.0.1006:

• Новое расширение Atmel Start, которое позволяет пользователю создавать и настраивать проекты Atmel Start в Atmel Studio

• Возможность загрузки нескольких модулей в сеансе отладки (экспериментальный)

• AVR 8 -bit GCC Toolchain 3.5.3 с исходными версиями:

— gcc 4.9.2

— Binutils 2.26

— avr-libc 2.0.0

— gdb 7.8

• Цепочка инструментов ARM GCC 5.3.1 с исходными версиями:

— gcc (ARM / встроенная версия с 5 ветвями 234589)

— Binutils 2.26

— gdb 7.10

Atmel Studio 7.0.1006 содержит исправление для следующих проблем, которые присутствовали в 7.0.943:

• AVRSV-6878: Atmel Studio записывает однократно записываемые регистры wdt на некоторых устройствах SAM .

• AVRSV-7470: устройства SAM Cortex®-M7 иногда не запускаются.

• AVRSV-7471: Устройства с внешней и внутренней RAM перечисляют всю RAM как доступную.

• AVRSV-7473: Atmel Studio зависает при запуске.

• AVRSV-7474: Комплекты, подключенные к Atmel Studio, не перечисляются на стартовой странице QTouch.

• AVRSV-7477: Показать все файлы не работает из обозревателя решений.

• AVRSV-7482: Исключение при добавлении точки останова на SAM4L.

• AVRSV-7486: Отладка может завершиться ошибкой в ​​устройствах Cortex-M0 + SAM на высоких тактовых частотах.

http://www.atmel.com/Images/as-installer-7.0.1006-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 1006)

http: // www. atmel.com/Images/as-intaller-7.0.1006-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 943) (рекомендуется)

Atmel Studio 7.0.943 содержит исправление для следующего проблема:

• AVRSV-7459: Проекты, содержащие файлы с именами в верхнем регистре, могут не быть построены.При сохранении файлов с именами в верхнем регистре имя файла преобразуется в нижний регистр.

http://www.atmel.com/Images/as-installer-7.0.943-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 943)

http: // www. atmel.com/Images/as-installer-7.0.943-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 934) (рекомендуется)

В Atmel Studio 7.0.934 внесены следующие изменения :

• 8-битный набор инструментов GCC для AVR 3.5.2 с исходными версиями:

— gcc 4.9.2

— Binutils 2.26

— avr-libc 2.0.0

— gdb 7.8

• AVR 32-разрядный набор инструментов GCC 3.4.3 с исходными версиями:

— gcc 4.4.7

— Binutils 2.23.1

— Newlib 1.16.0

• ARM GCC Toolchain 4.9.3 с исходными версиями:

— gcc (ARM / embedded-4_9-ветка, ревизия 224288)

— Binutils 2.24

— gdb 7.8.0.20150304-cvs

Atmel Studio 7.0.934 решает следующие проблемы, присутствующие в Atmel Studio 7.0.790:

• AVRSV-7376: медленное программирование Atmel-ICE.

• AVRSV-7379: необработанное исключение при записи предохранителей или запорных битов, когда автоматическое считывание отключено.

• AVRSV-7396: на некоторых машинах отображается ошибка «Исключение в MemoryPressureReliever».

• AVRSV-7400: в стандартном режиме параметры «Отключить debugWire» и «Закрыть» не отображаются в меню «Отладка».

• AVRSV-7408: При использовании Atmel Studio в стандартном режиме меню «Установить запускаемый проект» отсутствует.

http://www.atmel.com/Images/as-installer-7.0.934-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 934)

http: // www. atmel.com/Images/as-installer-7.0.934-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 790) (рекомендуется)

Следующие функции добавлены в Atmel Studio 7.0.790 :

• Поддержка режима запоминающего устройства во встроенном отладчике (EDBG), что позволяет программировать перетаскиванием.

• Введение профилей пользовательского интерфейса.Пользователь может выбрать интерфейс, в котором удалены некоторые кнопки панели инструментов и пункты меню.

• Поддержка импорта библиотек в ранее импортированные эскизы. Добавлена ​​поддержка Arduino Zero и Zero Pro.

• Параллельная сборка включена по умолчанию

Atmel Studio 7.0.790 решает следующие проблемы, присутствующие в Atmel Studio 7.0.634:

• AVRSV-7084: Сохранение пользовательских настроек во время обновления.

• AVRSV-7014: Некоторым устройствам ATmega и ATtiny не удалось начать отладку с помощью симулятора.

• AVRSV-7230: «Показать все файлы» в обозревателе решений несовместимо.

• AVRSV-7062: Обновление прошивки комплектов Xplained Mini не обнаружено.

• AVRSV-7164: Чтение флэш-памяти в файл .bin привело к созданию неправильного файла .bin.

• AVRSV-7106: Не загружаются шестнадцатеричные файлы с окончанием Unix® или смешанные файлы.

• AVRSV-7126: точки взлома данных для ARM не должны ограничиваться ОЗУ.

http://www.atmel.com/Images/as-installer-7.0.790-web.exe

▶ Atmel Studio 7.0 (сборка 790) автономный установщик

http://www.atmel.com/Images/as-installer-7.0.790-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 634) ( рекомендуется)

В этом выпуске добавлена ​​поддержка устройств семейства SAM B11.

Atmel Studio 7.0.634 решает следующие проблемы, присутствующие в Atmel Studio 7.0.594:

• AVRSV-6873: Проблема с драйвером Jungo в Windows 10.

Примечание: Если вы устанавливаете эту версию Atmel Studio параллельно с более старые версии Studio или IAR Embedded Workbench® и используют AVR Dragon ™, AVRISP mkII, JTAGICE mkII, AVR ONE !, STK®600 или QT600. Прочтите Как перейти на более раннюю версию для использования более старых драйверов Jungo.

• AVRSV-6676: сбой при запуске отладки из-за проблемы с графическим драйвером Intel.

http://www.atmel.com/Images/as-installer-7.0.634-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 634)

http: // www. atmel.com/Images/as-installer-7.0.634-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 594) (рекомендуется)

(2,38 МБ, обновлено в октябре 2015 г.)

Это Установщик содержит Atmel Studio 7.0 с помощью Atmel Software Framework 3.27.3 и Atmel Toolchains. Рекомендуется использовать этот установщик, если у вас есть доступ к Интернету во время установки, поскольку он позволяет выполнять инкрементные обновления в будущем.

Atmel Studio 7.0.594 решает следующие проблемы, присутствующие в Atmel Studio 7.0.582:

• AVRSV-7008 — Открытие проекта 6.2 в Atmel studio 7.0.582 сохраняет настройки конфигурации отладки для всех других конфигураций

• AVRSV- 6983 — Удаление расширений Studio не работает в некоторых случаях

• AVRSV-7018 — Создание проекта не выполняется с некоторыми именами пользователей, зависящих от культуры

• AVRSV-7019 — Средство просмотра справки не работает на 32-разрядных машинах

• Проблемы с получением инструментов Распознанные или видимые отладчики / см. раздел 2.4 в ‘Atmel Studio 7.0.594-readme.pdf’ для обходных путей

http://www.atmel.com/Images/as-installer-7.0.594-web.exe

▶ Atmel Studio 7.0 (сборка 594) автономный установщик

(729 МБ, обновлено в октябре 2015 г.)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.27.3 и Atmel Toolchains. Используйте этот установщик, если во время установки у вас нет доступа в Интернет. По возможности настоятельно рекомендуется использовать меньший по размеру веб-установщик, поскольку он дает возможность получать инкрементные обновления в будущем.

SHA: c0fee5b9623ff822559bd0d5957109b908ae22a7

http://www.atmel.com/Images/as-installer-7.0.594-full.exe

▶ Веб-установщик Atmel Studio 7.0 (сборка 582) 9020

(2,38 МБ, обновлено в сентябре 2015 г.)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.27 и Atmel Toolchains. Рекомендуется использовать этот установщик, если у вас есть доступ к Интернету во время установки, поскольку он позволяет выполнять инкрементные обновления в будущем.

http://www.atmel.com/Images/as-installer-7.0.582-web.exe

▶ Автономный установщик Atmel Studio 7.0 (сборка 582)

(727 МБ, обновлено в сентябре) 2015)

Этот установщик содержит Atmel Studio 7.0 с Atmel Software Framework 3.27 и Atmel Toolchains. Используйте этот установщик, если во время установки у вас нет доступа в Интернет.

SHA: 42b600943a6ab524e61f5163b97a20f8a742c7f4

http://www.atmel.com/Images/as-installer-7.0.582-full.exe

Atmel Studio 6.2 sp2 (сборка 1563) Установщик

(560 МБ, обновлено в феврале 2015 г.)

Этот установщик содержит пакет обновления 2 для Atmel Studio 6.2 с Atmel Software Framework 3.21 и Набор инструментов Atmel. Установите это, если вы ранее установили Atmel Studio или у вас есть доступ к Интернету при установке.

Atmel Studio 6.2sp2, сборка 1563 решает проблему установки, которая присутствовала в сборке 1548.

MD5: 0310b42235f2545d4adba0c423c04ab1

SHA: 672223aa65af7714369e3dc4f677eb076352fcatmel.com/Images/AStudio6_2sp2_1563.exe

▶ Установщик Atmel Studio 6.2 sp2 (сборка 1563) — с .NET

(775 МБ, обновлено в феврале 2015 г.)

Этот установщик содержит пакет обновления Atmel Studio 6.2 2 с помощью Atmel Software Framework 3.21 и Atmel Toolchain. Этот установщик также содержит MS Visual Studio Shell и .NET 4.0. Выберите этот установщик, если вам нужно установить Atmel Studio на компьютер, не подключенный к Интернету.

Атмель Студия 6.2sp2, сборка 1563 решает проблему установки, которая присутствовала в сборке 1548.

MD5: 3e0447826dc4b5fd42a5f73f6911e458

SHA: 60eff100ef245b9bbf7910cbd369f7778a110c82

0002 9meludio2 6.2 sp1 (сборка 1502) Установщик — с .NET

(721 МБ, обновлено в октябре 2014 г.)

Этот установщик содержит пакет обновления 1 для Atmel Studio 6.2 с Atmel Software Framework 3.19 и Atmel Toolchain. Этот установщик также содержит MS Visual Studio Shell и .NET 4.0. Выберите этот установщик, если вам нужно установить Atmel Studio на компьютер, не подключенный к Интернету.

http://www.atmel.com/Images/AStudio6_2sp1_1502net.exe

▶ Программа установки Atmel Studio 6.2 sp1 (сборка 1502)

(506 МБ, обновлено в октябре 2014 г.)

Эта программа установки содержит службу Atmel Studio 6.2 pack 1 с Atmel Software Framework 3.19 и Atmel Toolchain.Установите это, если вы ранее установили Atmel Studio или у вас есть доступ к Интернету при установке.

http://www.atmel.com/Images/AStudio6_2sp1_1502.exe

Программа установки Atmel Studio 6.0 (сборка 1843) — полная

Эта программа установки содержит Atmel Studio 6.0, Atmel Software Framework и Atmel Toolchain.

Этот установщик также содержит MS Visual Studio Shell и .NET 4.0. Выберите этот установщик, если вам нужно установить Atmel Studio 6.0 на компьютер, не подключенный к Интернету.

http://www.atmel.com/Images/as6installer-6.0.1843.exe

▶ Программа установки Atmel Studio 6.0 (сборка 1843)

Эта программа установки содержит Atmel Studio 6.0, Atmel Software Framework и Atmel Toolchain .

http://www.atmel.com/Images/as6installer-6.0.1843.noVSSnoDotNet.exe

▶ Установщик AVR Studio 5.1 (сборка) — Полная версия

(616 МБ, обновлено в феврале 2012 г.)

http: //www.atmel.com/Images/as5installer-stable-5.1.208-full.exe

▶ Установщик AVR Studio 5

(390 МБ, версия 5.0.1223, обновлено 11/11)

Этот установщик содержит только AVR Studio 5 и требует, чтобы вы уже установили Visual Studio Shell (изолированный режим) 2010 и .NET 4.0.

Выберите этот установщик, если вы уже установили бета-версию AVR Studio 5 и вам нужно только обновить ее.

ПРИМЕЧАНИЕ:

AVR Studio 5.0 не может быть обновлен с бета-версий. Удалите все бета-версии AVR Studio 5.0 из «Установка и удаление программ» и переустановите.

http://www.atmel.com/dyn/resources/prod_documents/as5installer-small-5.0.1223.exe

▶ Установщик AVR Studio 5 (включает VSS и .NET)

(605 МБ, версия 5.0.1223, обновлено 11/11)

Этот установщик содержит AVR Studio 5, Visual Studio Shell (изолированный режим) 2010 и .NET 4.0.

Выберите этот установщик, если вам нужны все три или вы не уверены, какой установщик использовать.

ПРИМЕЧАНИЕ:

AVR Studio 5.0 не может быть обновлен с бета-версий. Удалите все бета-версии AVR Studio 5.0 из раздела «Установка и удаление программ» и переустановите.

http://www.atmel.com/dyn/resources/prod_documents/as5installer-full-5.0.1223.exe

▶ AVR Studio 5 — Обновление программной инфраструктуры AVR

(222 МБ, версия 2.8. 1, обновлено 10/11)

Обновление программной инфраструктуры AVR для AVR Studio 5.

http://www.atmel.com/dyn/resources/prod_documents/AVRStudio5-ASF-Update-2.8.1.76.exe

Установщик AVR Studio 5 (включает VSS и .NET)

(602 МБ, версия 5.0, обновлено 5/11)

Этот установщик содержит AVR Studio 5, Visual Studio Shell (изолированный режим) 2010 и .NET 4.0.

Выберите этот установщик, если вам нужны все три или вы не уверены, какой установщик использовать.

ПРИМЕЧАНИЕ:

AVR Studio 5.0 не может быть обновлен с бета-версий.

Удалите все бета-версии AVR Studio 5.0 из «Установка и удаление программ» и переустановите.

http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1163-full.exe

▶ Программа установки AVR Studio 5

(387 МБ, версия 5.0, обновлено 5/11) )

Этот установщик содержит только AVR Studio 5 и требует, чтобы вы уже установили Visual Studio Shell (изолированный режим) 2010 и .NET 4.0.

Выберите этот установщик, если вам нужны все три или вы не уверены, какой установщик использовать.

ПРИМЕЧАНИЕ:

AVR Studio 5.0 не может быть обновлен с бета-версий.

Удалите все бета-версии AVR Studio 5.0 из раздела «Установка и удаление программ» и переустановите.

http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1163-small.exe

AVR Studio 5 beta (522 МБ, версия 5.0, обновлено 3/11)

Дополнительные сведения см. В примечаниях к выпуску AVR Studio 5.0. (Примечания к выпуску, 12 страниц, редакция 5.0, обновлено 3/11)

http://www.atmel.com/dyn/resources/prod_documents/avrstudio5.0.beta.exe

▶ AVR Studio 4.18 SP3 (b716) (31 МБ, обновлено 9/10)

Поддержка новых устройств с момента выпуска AVR Studio 4.18:

Подробнее см. Примечания к выпуску 4.18 SP3.

http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP3.exe

▶ AVR Studio 4.18 SP2 (b700) (28 МБ, обновлено 2/10)

Поддержка новых устройств с выпуск AVR Studio 4.18:

Подробнее см. Примечания к выпуску 4.18 SP2.

http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP2.exe

▶ AVR Studio 4.18 SP1 (сборка 692) (28 МБ, обновлено 12/09)

Поддержка новых устройств с момента выпуска AVR Studio 4.18:

Подробнее см. Примечания к выпуску 4.18 SP1.

http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP1.exe

▶ AVR Studio 4.18 (сборка 684) (116 МБ, обновлено 11/09)

AVR Studio 4.18 включает поддержка новых устройств и многочисленные общие улучшения;

Поддержка QT600 в диалоговом окне программирования в AVR Studio, поддержка AVR Dragon для всех 8-разрядных устройств AVR, включая XMEGA, программирование и отладка в AVR Studio, поддержка программного обеспечения командной строки для формата производственного файла ELF и кнопка для запуска AVR32 Studio.

http://www.atmel.com/Images/AVRStudio4.18Setup.exe

▶ AVR Studio 4.17 (сборка 666) (112 МБ, обновлено 7/09)

Полный AVR ONE! 8-битная поддержка — как программирование, так и отладка, AVR Battery Studio версии 1.02, ПО командной строки JTAGICE mkII с поддержкой формата производственных файлов ELF и ПО командной строки STK500 с поддержкой формата производственных файлов ELF.

http://www.atmel.com/dyn/resources/prod_documents/AvrStudio417Setup.exe

▶ AVR Studio 4.16 SP1 (сборка 638) (34 МБ, обновлено 5/09)

Поддержка новых устройств с момента выпуска AVR Studio 4.16:

ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega256D2

0

Новые функции Поддержка программного обеспечения командной строки AVR ISP mkII для семейства устройств XMEGA.

http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.16SP1.exe

▶ AVR Studio 4.16 (сборка 628) (126 МБ, обновлено 2 сентября)

AVR Studio 4.16 включает поддержку новых устройств и множество общих улучшений;

AVR QTouch Studio, поддержка STK600 для нескольких комбинаций сокетов / карт маршрутизации, активированная система отчетов об ошибках Windows (WER) и поддержка программного обеспечения командной строки JTAGICE mkII для семейства устройств XMEGA.

http://www.atmel.com/Images/AvrStudio416Setup.exe

▶ AVR Studio 4.15 (сборка 623) (94 МБ, обновлено 11/08)

AVR Studio 4.15 включает поддержку новых устройств и множество других улучшения;

Поддержка нового AVR ONE! встроенный инструмент для отладки и программирования.Представляем Live debug, который позволяет вам подключать / отключать запущенные процессы (только функция AVR ONE!). AVR Battery Studio v1.0. Передняя часть комплекта одно- и двухэлементной интеллектуальной батареи SB200 / 201.

http://www.atmel.com/Images/as6installer-6.0.1703-full.exe

AVR Studio 4.14 (сборка 589) (89 МБ, обновлено 4/08)

AVR Studio 4.14 включает поддержка новых устройств и многочисленные общие улучшения;

Поддержка нового семейства устройств XMEGA, полная поддержка 32-битных и 64-битных версий Vista, приложение AVR Wireless Services, поддерживающее AVR Raven Kit

Подробнее см. Примечания к выпуску.

http://www.atmel.com/Images/aStudio4b589.exe

▶ AVR Studio 4.13 SP2 (сборка 571) (45 МБ, обновлено 12/07)

http://www.atmel.com /Images/AVRStudio4.13SP2.exe

AVR Studio 4.13 SP1 (сборка 557) (37 МБ, обновлено 9/07)

http://www.atmel.com/Images/aStudio413SP1b557.exe

▶ AVR Studio 4.13 (сборка 528) (73 МБ, обновлено 03/07)

AVR Studio 4.13 включает поддержку новых устройств и многочисленные общие улучшения;

Полная поддержка устройств для AVR Dragon, 2 новых представления ввода-вывода и процессора, WinAVR и поддержка 32- и 64-битной Windows (R)!

Дополнительные сведения см. В примечаниях к выпуску.

http://www.atmel.com/Images/aStudio4b528.exe

avr studio

avr studio

Введение в AVR Studio


Обновлено 15/03/2010 — Проф. Клио Гимар эс

AVR Studio — это среда Windows для программирования и моделирования микроконтроллеров семейства Atmel AVR (RISC).Среда содержит редактор программ на ассемблере (или языке C), ассемблер и симулятор. По аналогии со средой, которую мы используем для 8086, она включает в себя функции nasmide, nasmw, зарядное устройство и турбо-отладчик (а также другие более сложные функции, которые позволяют вам программировать и отлаживать прототип через один из USB, последовательный порт). , или параллельные линии ПК).

Среда инициируется определением проекта , в который будет вставлена ​​одна или несколько программ ассемблера.В нашей лаборатории, которая включает в себя простые программы, мы будем использовать только одну исходную программу для каждого проекта, обе с одинаковыми именами.

Как создать новый проект:
  • В папке AVRstudio запустить программу AVRStudio.exe ;
  • Нажмите в Project -> New Project :
    • В открывшемся окне выберите ATmel AVR Assembler и введите в Beauty Share имя проекта (без расширения), которое будет таким же, как у исходного файла.
    • Выбор Создать исходный файл e Создать папку
      Важно: каждый проект нужно помещать в отдельную папку! (в противном случае возникнут общие конфликты файлов)
    • em Rental укажите путь к каталогу в вашем регионе , где будет создан проект (вы не сможете сделать это на диске C:!)
    • Нажмите кнопку Далее
  • В новом открытом окне выберите AVR Simulator и Device: ATmega88 (важно: это устройство не используется по умолчанию в папке с примером установки (называемой Appnotes), если вы хотите их протестировать: вам необходимо изменить первую директиву на:
    .включить "2313def.inc"
     
  • Нажмите Готово , и теперь вы можете редактировать свою программу в выбранном окне с заголовком имя_программы.asm
    Примечание: если вы открываете существующий файл для редактирования через Файл -> Открыть файл, вам необходимо связать этот файл с проектом, выбрав: Проект -> Добавить существующий файл.
  • Чтобы включить опцию создания файла .lst, перейдите в Project -> AVR Assembler Setup и отметьте опцию.
  • В AVR Studio нет команды для удаления проекта: для этого вам придется удалить соответствующую папку!
Отладка вашей программы:
  • После успешной сборки (*) нажмите «Отладка» и просмотрите различные варианты пошагового выполнения (в частности, F11, F10 и F9).
  • В конце обычного запуска ваша программа войдет в бесконечный цикл, и вам необходимо прервать его, чтобы иметь возможность просматривать регистры и оперативную память. Это можно сделать двумя способами: перед запуском программы (i) введите точек останова в инструкции, которая входит в бесконечный цикл (обычно последняя инструкция), или (ii) во время выполнения нажмите break , чтобы прервать выполнение текущий пробег.
  • Чтобы просмотреть память SRAM, регистры ввода / вывода и т. Д., Нажмите View, выберите Memory и в раскрывающемся окне выберите желаемое пространство памяти (Дата соответствует памяти SRAM)
  • (*) Внимание : в случае ошибки сборки соответствующий номер строки сообщается в строке с красной точкой в ​​окне вывода: при прокрутке исходной программы курсором V.вы увидите номер строки в правом углу нижней панели!

Добро пожаловать на AVRbeginners.net!

Добро пожаловать на AVRbeginners.net!

Создание нового проекта в AVR Studio

Вот как создать новый проект в AVR Studio. Это довольно просто и понятно, но я подумал, что стоит объяснить. В меню нажмите «Проект -> Новый». Выберите имя проекта и каталог (я предлагаю поместить каждый проект и его файлы в отдельный каталог проекта).Также выберите «AVR Assembler» в качестве типа проекта; затем нажмите ОК.

Вы увидите «Менеджер проекта» (изображение справа). Он используется для добавления файлов в проект, создания новых и отслеживания файлов, связанных с проектом. Добавьте файл в проект, щелкнув правой кнопкой мыши папку «Assembler Files» и выбрав «Create New File …». В диалоговом окне проверьте правильность каталога, выберите имя файла и убедитесь, что вы добавили допустимое расширение (.asm), иначе это не сработает.Новый файл появится под папкой «Другие файлы». Перетащите его в папку «Assembler Files».

Вы можете включать файлы в ваш ассемблерный проект с помощью директивы .include. Например, файлы определений для типов AVR должны быть включены, чтобы имена вроде «PortB» работали. Верхний файл, из которого включены все остальные файлы, — это «Файл входа ассемблера», с которого начинается сборка, когда она пытается перевести ваш код. Вы можете установить файл ввода ассемблера (если ваш проект содержит более одного файла), щелкнув его правой кнопкой мыши и выбрав опцию «Файл ввода ассемблера» в раскрывающемся меню.Для первого файла это будет проверено по умолчанию (с чего еще должен начинать ассемблер?).

Вот и все. Теперь вы можете открыть новый файл и добавить в него код. Вы также можете добавить уже существующий файл и, конечно же, выбрать его в качестве входного файла.

Поле «Настройки проекта» тоже очень важно.

Если вы хотите смоделировать свой код в AVR Studio, выберите «Формат объекта для AVR Studio» в поле «Формат выходного файла».

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *