Невозможно отобразить презентацию
Similar presentations:
ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVR
ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВAVR Коцубинский Владислав Петрович Языки
• Для микроконтроллеров AVR существуют различные языки программирования, но, пожалуй, наиболее подходящими являются ассемблер и Си, поскольку в этих языках в наилучшей степени реализованы все необходимые возможности по управлению аппаратными средствами микроконтроллеров Языки Ассемблер - это низкоуровневый язык программирования, использующий непосредственный набор инструкций микроконтроллера.
Создание программы на этом языке требует хорошего знания системы команд программируемого чипа и достаточного времени на разработку программы.
Ассемблер проигрывает Си в скорости и удобстве разработки программ, но имеет заметные преимущества в размере конечного исполняемого кода, а соответственно, и скорости его выполнения.
Языки Си позволяет создавать программы с гораздо большим комфортом, предоставляя разработчику все преимущества языка высокого уровня.
Следует еще раз отметить, что архитектура и система команд AVR создавалась при непосредственном участии разработчиков компилятора языка Си и в ней учтены особенности этого языка.
Компиляция исходных текстов, написанных на Си, осуществляется быстро и дает компактный, эффективный код.
Языки Основные преимущества Си перед ассемблером: высокая скорость разработки программ;
универсальность, не требующая досконального изучения архитектуры микроконтроллера;
лучшая документируемость и читаемость алгоритма;
наличие библиотек функций;
поддержка вычислений с плавающей точкой.
Языки В языке Си гармонично сочетаются возможности программирования низкого уровня со свойствами языка высокого уровня.
Возможность низкоуровневого программирования позволяет легко оперировать непосредственно аппаратными средствами, а свойства языка высокого уровня позволяют создавать легко читаемый и модифицируемый программный код.
Кроме того, практически все компиляторы Си имеют возможность использовать ассемблерные вставки для написания критичных по времени выполнения и занимаемым ресурсам участков программы.
Компиляторы Чтобы преобразовать исходный текст программы в файл прошивки микроконтроллера, применяют компиляторы.
• Фирма Atmel поставляет мощный компилятор ассемблера, который входит в среду разработки AVR Studio, работающую под Windows.
Наряду с компилятором, среда разработки содержит отладчик и эмулятор.
• AVR Studio совершенно бесплатна и доступна на сайте Atmel.
• Atmel Studio – интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR Компиляторы
• Программный пакет AVR Studio разрабатывается с 2004 года.
Начиная с версии 6.0, программа сменила название на Atmel Studio.
Программа позволяет работать как на ассемблере, так и на C/C++.
Содержит в себе мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки.
Поддерживает компилятор GCC и плагин AVR RTOS (операционной системы реального времени).
Пользователи могут выбрать наиболее оптимальные для их проекта способы кодирования.
Визуальные инструменты позволяют ускорить написание программы.
Благодаря связке программных пакетов Atmel Studio и Proteus от фирмы Labcenter Electronics возможно программирование микроконтроллеров без наличия какой-либо материальной базы.
Atmel Studio по праву считается лучшей средой создания приложений для контроллеров AVR.
Компиляторы Последняя версия Atmel Studio поддерживает все существующие на сегодняшний момент 8-битные, 32-битные AVR, SAM3 и SAM4 микроконтроллеры и включает в себя более 1100 проектов с примерами.
Также доступны старые версии программы.
Интерфейс полностью англоязычный и официального русификатора нет.
Программа не понимает русских символов, поэтому названия работ должны быть написаны с английской транскрипцией.
Atmel Studio работоспособна в операционных системах Windows 9x / ME / NT / 2000 / XP / VISTA / 7.
Распространение программы: Freeware (бесплатная) Официальный сайт Atmel Studio: http://www.atmel.com/tools/atmelstudio.aspx Компиляторы
• WinAVR состоит из GNU GCC компилятора, поддерживающего языки C, C+ и Objective-C, обеспечивая полный цикл разработки для AVR/AVR32 и дополнительных инструментов, каждый из которых выполняет определенную задачу, помогая написанию программного обеспечения для микроконтроллеров.
Наиболее важные из них:
• Programmers Notepad – текстовый редактор для создания программ;
• AVR-LibC – библиотека микроконтроллеров AVR;
• AVRDUDE – утилита, предназначенная для программирования микросхем и использующая SPI-интерфейс;
• GNU Debugger (GDB) – отладчик с командной строкой;
• Insight – отладчик с графическим интерфейсом;
• Simulavr – симулятор микроконтроллеров AVR с поддержкой отладчика GDB;
• SRecord – целый набор утилит для работы с загрузочными файлам EPROM разных форматов.
Компиляторы Работать с WinAVR очень просто, в возникающих вопросах помогает разобраться полный набор документации.
Программа создает компактный, довольно приличный код, по синтаксису напоминающий классический язык С.
Среди недостатков – отсутствие настройки аппаратуры AVR с помощью исходного кода и интерфейса с другими устройствами.
WinAVR может объединяться с фирменным программным обеспечением микроконтроллеров Atmel Studio.
Вместе эти пакеты позволяют проводить разработку и интуитивную отладку программ, поддерживая все возможности чипов Atmel.
Компиляторы Программное обеспечение выпущено под лицензией GNU и распространяется абсолютно бесплатно.
Каждый пользователь может изменить или доработать программу по своему усмотрению.
Кроме этого существует портативная версия пакета, не требующая установки, для хранения на внешнем носителе информации.
Адресная строка места инсталляции WinAVR не должна содержать пробелы и кириллические символы.
После установки программы появляется целая коллекция ярлыков, запускающая различные утилиты пакета.
Основным из них является "Programmers Notepad".
Инструкция и примеры лежат в папке WinAVR\doc\avr-libc.
Разработчик программного комплекса – Eric B.
Weddington.
Его сайт http://winavr.sourceforge.net/ содержит всю необходимую информацию по WinAVR.
В настоящее время дальнейшее развитие программы была приостановлено в связи с тем, что Эрик работает над Atmel Studio, являющейся прямым продолжением WinAVR.
Компиляторы
• Язык интерфейса WinAVR английский и русификатора к нему нет.
• Программа поддерживает все 32-битные операционные системы Windows.
Существует версия для работы в Linux- системах.
• Распространение программы: Freeware (бесплатная)
• Официальный сайт WinAVR: http://winavr.sourceforge.net/ Компиляторы
• Основные преимущества пакета – дружественный пользовательский интерфейс и непревзойденная оптимизация генерируемого кода.
Кроме этого реализована поддержка различных операционных систем реального времени и JTAG -адаптеров сторонних компаний.
• В настоящее время IAR Embedded Workbench поддерживает работу с 8-, 16-, 32-разрядными микроконтроллерами от Atmel , ARM, NEC, Infineon, Analog Devices, Cypress, Microchip Technologies , Micronas, Dallas Semiconductor/ Maxim , Ember, Luminary,NXP , OKI, Samsung, National Semiconductor, Texas Instruments, STMicroelectronics, Freescale , TI/Chipcon, Silicon Labs и Renesas .
Для каждой платформы существует своя среда разработки, в частности ARM микроконтроллерам соответствует версия пакета IAR Embedded Workbench for ARM.
Компиляторы Программная среда включает в себя:1 .
C/C++ компилятор – один из самых эффективных в своем роде.
В нем также присутствует полная поддержка ANSI C.
2.
Транслятор ассемблера, включающий в себя макроассемблер для программ реального времени и препроцессор для C/C++компилятора.
3.
Компоновщик, поддерживающий более тридцати различных выходных форматов для совместного использования с внутрисхемными эмуляторами.
4.
Текстовый редактор, настроенный на синтаксис языка Си и имеющий удобный пользовательский интерфейс, автоматическое выделение ошибок программного кода, настраиваемую инструментальную панель, подсветку блоков, а также удобную навигацию по именам подпрограмм, макросов и переменных.
Компиляторы 5.
Симулятор и отладчик в кодах Си и ассемблера.
Отладчик позволяет просматривать области EEPROM, DATA, CODE, а также регистры ввода/вывода, устанавливать точки останова и аппаратные флаги, обрабатывать прерывания с предсказанием.
Кроме этого предусмотрен контроль стека и любых локальных переменных, режим пошагового выполнения программы.
Тип отладчика и его настройки устанавливаются в свойствах проекта.
Если отладчик отсутствует, то на помощь приходит симулятор, который, однако, не имеет возможности эмулировать работу процессора.
6.
Менеджер проектов, облегчающий контроль и управление рабочими модулями.
7.
Дополнительные утилиты для работы с оптимизированной CLIB/DLIB библиотекой.
Компиляторы Интегрированная система помощи облегчает написание программ в данной среде.
Предусмотрено взаимодействие с утилитой AVR Studio.
Помимо прочего в IAR Embedded Workbench существует возможность самостоятельного управления оптимизацией отдельных модулей проекта, что упрощает процесс отладки, а также позволяет ускорить работу программы или сэкономить на памяти.
Компиляторы IAR Embedded Workbench была разработана IAR Systems, более двадцати лет являющейся одной из ведущих компанией по созданию C/C++ компиляторов для встраиваемых микроконтроллерных устройств и систем.
Ее штаб-квартира находится в старинном городе Уппсала (Швеция).
В настоящее время программы IAR Systems используют по всему миру более сотни тысяч разработчиков, производителей телекоммуникационного и промышленного оборудования, медицинской и компьютерной техники, среди которых такие гиганты, как Apple Computer, Cisco Systems, Motorola, Hewlett-Packard и Siemens.
Компиляторы IAR Embedded Workbench является коммерческим продуктом, его стоимость составляет около 3000 долларов за одну пользовательскую лицензию.
Однако, в качестве дополнения к полнофункциональной версии, существует бесплатный вариант среды программирования с единственным ограничением на размер выходного кода до 4 или 8 КБ в зависимости от модели контроллера.
Этот вариант подойдет для первого знакомства с программой, а также написания небольших приложений.
Можно найти и взломанную версию, но для ее нормальной работы придется отключать выход в интернет.
Компиляторы
• Язык интерфейса IAR Embedded Workbench – английский.
• Рассматриваемая среда работает под управлением только операционной системы Microsoft Windows версий 95, 98, NT, 2000, XP, Vista, 7 (не имеет значения 32- или 64-битных).
• Распространение программы: платная.
Есть бесплатная версия с ограничениями на размер кода в зависимости от МК
• Официальный сайт IAR Embedded Workbench: http://www.iar.com Компиляторы
• http://www.kit-e.ru/articles/cad/2004_03_146.php
• http://vk.com/topic-30555431_28525992
• http://labkit.ru/html/programmators_shm?id=86
• http://ivashka.my1.ru/publ/programmy/graficheskaja_obolochka_burn_o_ma t_dlja_avrdude/6-1-0-10
• http://www.myrobot.ru/stepbystep/mc_programming.php
• http://habrahabr.ru/post/128734/
• http://radiokot.ru/articles/56/
• http://cxem.net/software/soft_mcu.php
• http://mathscinet.ru/robots/avrgcc/
• http://mathscinet.ru/robots/emulator/index.php?help=0
• http://easyelectronics.ru/avr-studio-likbez.html
• http://www.123avr.com/
• http://www.ugolok-mastera.ru/
• http://home.roboticlab.eu/ru/examples/setup/windows Среда разработки AVR Studio (Windows) ATMega128
• Установка программного обеспечения
• Перед установкой программного обеспечения необходимо скачать нижеследующее программное обеспечение, с сайта производителя или сайта Домашней Лаборатории или с диска находящегося в чемодане Домашней Лаборатории.
1.
AVR Studio
• AVR Studio 4 IDE (inglise keeles Integrated Development Environment ) – это программа, которая предназначена для написания программного кода и загрузки его в микроконтроллер.
Последняя версия AVR Studio находится на веб-сайте производителя Atmel.2.
WinAVR
• WinAVR является GNU-GCC компилятором для микроконтроллеров AVR.
Это свободное программное обеспечение, которое можно найти на сайте Sourceforge.
При инсталляции WinAVR предлагает имя каталога, которое также содержит номер версии, но директория должна быть изменена вручную:
• C:\WinAVR 3.
Библиотека Домашней Лаборатории
• Библиотека Домашней Лаборатории содержит функции, облегчающие использование AVR и устройств комплекта Домашней Лаборатории.
Последняя версия библиотеки находится на сайте Домашней Лаборатории.
Библиотека должна быть обязательно установлена в том же каталоге, где WinAVR.
4.
Драйвер виртуального COM порта
• Драйвер позволяет подключить к компьютеру программатор JTAG ICE.
Драйвер должен быть установлен до подключения к компьютеру программатора.
Имя установочной программы 'CDM x.xx.xx.exe», где «х» обозначает версию.
Затем необходимо подключить программатор к компьютеру через USB интерфейс, и позволить Windows выполнит автоматическую установку.
В строке состояния должно появиться примерно такое сообщение: 4.
Драйвер виртуального COM порта В зависимости от того, сколько виртуальных последовательных портов на вашем компьютере уже установлено и введено в эксплуатацию, Windows автоматически установит следующий порядковый номер виртуального порта.
Новый порядковый номер генерируется и при смене порта USB.
Некоторые версии AVR Studio признают программатор ICE JTAG, только в последовательных портах COM1 … COM9 и функцию отладки позволяют использовать только последовательные порты COM1 … COM4.
Пользователь имеет возможность изменить порядковый номер порта, использую инструмент Device Manager .
Посмотри процедуру на сайте.
Создание проекта
• Для написания AVR программы, необходимо создать новый проект, который обычно включает в себя много различных файлов: программный код (ы), файлы заголовков и компилированные программы т.д.
Для того чтобы проекты корректно различались, необходимо для каждого проекта создавать новый каталог.
• Для создания проекта необходимо пройти следующие этапы:•1.
Открыть AVR Studio и нажать кнопку новый проект ( New Project ).
Если окно не открывается автоматически, выберите из меню Project - New project .
Затем нажмите кнопку Next.
Создание проекта2.
Откроется окно, в котором необходимо обозначить начальные настройки компилятора и файлов.
В качестве компилятора выберите AVR GCC и в правом окне введите имя проекта и имя исходного файла.
Имя исходного файла должно обязательно иметь расширение “.c“.
Необходимо так же указать каталог, где будет создаваться соответствующий каталог проекта.
После выбора, нажмите кнопку Next.
Если при выборе компилятора отсутствует AVR GCC , то WinAVR установлен неправильно и это необходимо сделать до того, как писать программу на языке Си.
Создание проекта•3.
Далее открывается окно, в котором отмечается платформа, используемая для отладки типа микроконтроллера.
В Домашней Лаборатории используется в качестве платформы для отладки JTAGICE ICE программатор и микроконтроллер ATmega128 .
Для создания проекта нажми кнопку Finish.
Создание проекта4.
Далее открывается уже пользовательский интерфейс программирования, куда можно начать писать новый исходный код программы.
Создание проекта•5.
Перед компиляцией кода, необходимо определить настройки проекта.
Наиболее важными параметрами является тактовая частота контроллера и метод оптимизации компилятора.
Тактовая частота контроллера Домашней лаборатории 14,7456 МГц (14745600 Гц).
Частоту необходимо установить в свойствах проекта в Гц (не МГц) в окне Project → Configuration Options → General .
Метод оптимизации должен остаться -Os, если нет необходимости использовать другие методы.
Создание проекта•6.
Для использования домашней лаборатории библиотека функций программного обеспечения должны быть установлены правильно.
При каждом проекте необходимо из настроек Project → Configuration Options → Libraries добавить из списка нужную библиотеку проекта.
Создание проекта Если объект libhomelab.a отсутствует в списке, то библиотека Домашней Лаборатории установлена неправильно.
Тестирование установки После установки среды разработки в первый раз желательно проверить, все ли было сделано правильно.
Простейший способ - это написать короткую программу, скомпилировать ее и загрузить в контроллер.
• 1.
Подключите программатор с платой ATmega128.
При подключении проверьте, чтобы программатор был подключен в правильное гнездо (JTAG) (смотри следующее фото).
После программатора подключите к плате контроллера питания (если источник питания подключен правильно, то должен загореться маленький зеленый светодиод).
Тестирование установки #include <avr/io.h> #include <homelab/delay.h> int main(void){ // Настройка вывода PB7 выходом DDRB = 0x80;
// Бесконечный цикл while (true){ // Инвертирование вывода PB7 PORTB ^= 0x80;
hw_delay_ms(500);
} Тестирование установки
• Скомпилировать программу приказом Build (клавиша F7).
Убедитесь в том, что компиляция удалась.
Для этого должно появиться следующее сообщение: Build succeeded with 0 Warnings...
Тестирование установки2.
Откройте окно загрузки кода с помощью Tools → Program AVR → Auto Connect .
В результате должно открыться окно загрузки скомпилированного файла в микроконтроллер.
Убедитесь, чтобы открытой была карта Program.
Тестирование установки Если приведенное выше окно не открывается и появляется окно Connection Failed , то отсутствует связь с программатором.
Сначала необходимо убедиться, что на микроконтроллер приходит питание и подключен правильно программатор (к разъему JTAG подключен кабелей в правильном направлении).
Если с этим все в порядке, то необходимо проверить какой номер СОМ порта назначил Windows для программатора.
Если номер больше чем 9, то программное обеспечение может не найти его и порту нужно назначить меньший порядковый номер.
Тестирование установки3.
В окне программатора введите в Flash- секцию текстовое поле Input HEX File скомпилированный файл.
Вы можете сделать это нажатием кнопки »…».
Скомпилированный файл обычно находится в подкаталоге проекта default и имеет такое же имя, как и проект, но с расширением “.hex“, к примеру, „labor1.hex“.
После выбора правильного файла, нажмите на кнопку Program , который загрузит выбранную программу в контроллер.
Если все удалось, то в нижней части окна среды программирования появится следующее сообщение: Тестирование установкиOK Reading FLASH input file..
OK Setting device parameters for jtag programming ..OK Entering programming mode..
OK Erasing device..
OK Programming FLASH ..
OK Reading FLASH ..
OK FLASH contents is equal to file..
OK Leaving programming mode..
OK Под влиянием программы на плате контроллера должен периодически загораться и гаснуть индикатор состояния PB7.
Если программа работает, то программное обеспечение удачно установлено и первый проект сделан.
Поздравляем! Тестирование установки Использование отладчика
• Отладкой программы (на английском языке debugging) называется поиск ошибок в программе.
Для этого созданы отдельные средства – отладчики (на английском языке debugger ), которые позволяют выполнять программу от шага к шагу, останавливаясь в желательных для этого местах.
Такое выполнение программы позволяет в каждой фазе программы контролировать значение переменных, содержание регистров и порядок выполнения программы.
Наиболее важно использование отладки при сложных программах, где часто поиск ошибки затруднен.
Для использования отладчика нужны прежде всего два условия: используемый микроконтроллер должен поддерживать отладку и необходимо программное обеспечение поддерживаемое отладку – JTAG программатор.
Более дешевые программаторы, которые используют интерфейс программирования ISP, позволяют загружать в контроллер скомпилированную программу, но не позволяют её отладку.
Использование отладчика
• Для запуска программы с AVR Studio в режиме отладки необходимо сначала её скомпилировать кнопкой Build (клавиша F7) и запустить скомпилированную программу приказомRun (клавишей F5).
В программный код можно заранее добавить в желаемые места пункты прерывания (на английском языке break point ) (клавиша F9).
Когда выполнение программы дойдет до пункта прерывания, остановиться работа программы, позволяя таким образом выяснить состояние микроконтроллера при достижении в этот пункт.
Выполнение программы можно заново возобновить приказомRun или приказом Step Into (клавиша F11).
Использование чисел с плавающей запятой Иногда возникает необходимость в программе AVR использовать чисел с плавающей запятой.
Для их вычисления и представления функцией printf типа необходимо в настройках проекта сделать следующие изменения:•1.
Откройте настройки проекта из меню Project → Configuration Options .
На карте настроек Libraries , куда добавлен объект libhomelab.a библиотеки Домашней Лаборатории, добавить файлы libprintf_flt.a и libm.a.•2.
Затем необходимо открыть карту Custom Options и выбрать секцию [All files] .
В правой ячейке добавить строки »-lprintf_flt» и »-lm».
В секцию [Linker Options] добавить
• Для микроконтроллеров AVR существуют различные языки программирования, но, пожалуй, наиболее подходящими являются ассемблер и Си, поскольку в этих языках в наилучшей степени реализованы все необходимые возможности по управлению аппаратными средствами микроконтроллеров Языки Ассемблер - это низкоуровневый язык программирования, использующий непосредственный набор инструкций микроконтроллера.
Создание программы на этом языке требует хорошего знания системы команд программируемого чипа и достаточного времени на разработку программы.
Ассемблер проигрывает Си в скорости и удобстве разработки программ, но имеет заметные преимущества в размере конечного исполняемого кода, а соответственно, и скорости его выполнения.
Языки Си позволяет создавать программы с гораздо большим комфортом, предоставляя разработчику все преимущества языка высокого уровня.
Следует еще раз отметить, что архитектура и система команд AVR создавалась при непосредственном участии разработчиков компилятора языка Си и в ней учтены особенности этого языка.
Компиляция исходных текстов, написанных на Си, осуществляется быстро и дает компактный, эффективный код.
Языки Основные преимущества Си перед ассемблером: высокая скорость разработки программ;
универсальность, не требующая досконального изучения архитектуры микроконтроллера;
лучшая документируемость и читаемость алгоритма;
наличие библиотек функций;
поддержка вычислений с плавающей точкой.
Языки В языке Си гармонично сочетаются возможности программирования низкого уровня со свойствами языка высокого уровня.
Возможность низкоуровневого программирования позволяет легко оперировать непосредственно аппаратными средствами, а свойства языка высокого уровня позволяют создавать легко читаемый и модифицируемый программный код.
Кроме того, практически все компиляторы Си имеют возможность использовать ассемблерные вставки для написания критичных по времени выполнения и занимаемым ресурсам участков программы.
Компиляторы Чтобы преобразовать исходный текст программы в файл прошивки микроконтроллера, применяют компиляторы.
• Фирма Atmel поставляет мощный компилятор ассемблера, который входит в среду разработки AVR Studio, работающую под Windows.
Наряду с компилятором, среда разработки содержит отладчик и эмулятор.
• AVR Studio совершенно бесплатна и доступна на сайте Atmel.
• Atmel Studio – интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR Компиляторы
• Программный пакет AVR Studio разрабатывается с 2004 года.
Начиная с версии 6.0, программа сменила название на Atmel Studio.
Программа позволяет работать как на ассемблере, так и на C/C++.
Содержит в себе мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки.
Поддерживает компилятор GCC и плагин AVR RTOS (операционной системы реального времени).
Пользователи могут выбрать наиболее оптимальные для их проекта способы кодирования.
Визуальные инструменты позволяют ускорить написание программы.
Благодаря связке программных пакетов Atmel Studio и Proteus от фирмы Labcenter Electronics возможно программирование микроконтроллеров без наличия какой-либо материальной базы.
Atmel Studio по праву считается лучшей средой создания приложений для контроллеров AVR.
Компиляторы Последняя версия Atmel Studio поддерживает все существующие на сегодняшний момент 8-битные, 32-битные AVR, SAM3 и SAM4 микроконтроллеры и включает в себя более 1100 проектов с примерами.
Также доступны старые версии программы.
Интерфейс полностью англоязычный и официального русификатора нет.
Программа не понимает русских символов, поэтому названия работ должны быть написаны с английской транскрипцией.
Atmel Studio работоспособна в операционных системах Windows 9x / ME / NT / 2000 / XP / VISTA / 7.
Распространение программы: Freeware (бесплатная) Официальный сайт Atmel Studio: http://www.atmel.com/tools/atmelstudio.aspx Компиляторы
• WinAVR состоит из GNU GCC компилятора, поддерживающего языки C, C+ и Objective-C, обеспечивая полный цикл разработки для AVR/AVR32 и дополнительных инструментов, каждый из которых выполняет определенную задачу, помогая написанию программного обеспечения для микроконтроллеров.
Наиболее важные из них:
• Programmers Notepad – текстовый редактор для создания программ;
• AVR-LibC – библиотека микроконтроллеров AVR;
• AVRDUDE – утилита, предназначенная для программирования микросхем и использующая SPI-интерфейс;
• GNU Debugger (GDB) – отладчик с командной строкой;
• Insight – отладчик с графическим интерфейсом;
• Simulavr – симулятор микроконтроллеров AVR с поддержкой отладчика GDB;
• SRecord – целый набор утилит для работы с загрузочными файлам EPROM разных форматов.
Компиляторы Работать с WinAVR очень просто, в возникающих вопросах помогает разобраться полный набор документации.
Программа создает компактный, довольно приличный код, по синтаксису напоминающий классический язык С.
Среди недостатков – отсутствие настройки аппаратуры AVR с помощью исходного кода и интерфейса с другими устройствами.
WinAVR может объединяться с фирменным программным обеспечением микроконтроллеров Atmel Studio.
Вместе эти пакеты позволяют проводить разработку и интуитивную отладку программ, поддерживая все возможности чипов Atmel.
Компиляторы Программное обеспечение выпущено под лицензией GNU и распространяется абсолютно бесплатно.
Каждый пользователь может изменить или доработать программу по своему усмотрению.
Кроме этого существует портативная версия пакета, не требующая установки, для хранения на внешнем носителе информации.
Адресная строка места инсталляции WinAVR не должна содержать пробелы и кириллические символы.
После установки программы появляется целая коллекция ярлыков, запускающая различные утилиты пакета.
Основным из них является "Programmers Notepad".
Инструкция и примеры лежат в папке WinAVR\doc\avr-libc.
Разработчик программного комплекса – Eric B.
Weddington.
Его сайт http://winavr.sourceforge.net/ содержит всю необходимую информацию по WinAVR.
В настоящее время дальнейшее развитие программы была приостановлено в связи с тем, что Эрик работает над Atmel Studio, являющейся прямым продолжением WinAVR.
Компиляторы
• Язык интерфейса WinAVR английский и русификатора к нему нет.
• Программа поддерживает все 32-битные операционные системы Windows.
Существует версия для работы в Linux- системах.
• Распространение программы: Freeware (бесплатная)
• Официальный сайт WinAVR: http://winavr.sourceforge.net/ Компиляторы
• Основные преимущества пакета – дружественный пользовательский интерфейс и непревзойденная оптимизация генерируемого кода.
Кроме этого реализована поддержка различных операционных систем реального времени и JTAG -адаптеров сторонних компаний.
• В настоящее время IAR Embedded Workbench поддерживает работу с 8-, 16-, 32-разрядными микроконтроллерами от Atmel , ARM, NEC, Infineon, Analog Devices, Cypress, Microchip Technologies , Micronas, Dallas Semiconductor/ Maxim , Ember, Luminary,NXP , OKI, Samsung, National Semiconductor, Texas Instruments, STMicroelectronics, Freescale , TI/Chipcon, Silicon Labs и Renesas .
Для каждой платформы существует своя среда разработки, в частности ARM микроконтроллерам соответствует версия пакета IAR Embedded Workbench for ARM.
Компиляторы Программная среда включает в себя:1 .
C/C++ компилятор – один из самых эффективных в своем роде.
В нем также присутствует полная поддержка ANSI C.
2.
Транслятор ассемблера, включающий в себя макроассемблер для программ реального времени и препроцессор для C/C++компилятора.
3.
Компоновщик, поддерживающий более тридцати различных выходных форматов для совместного использования с внутрисхемными эмуляторами.
4.
Текстовый редактор, настроенный на синтаксис языка Си и имеющий удобный пользовательский интерфейс, автоматическое выделение ошибок программного кода, настраиваемую инструментальную панель, подсветку блоков, а также удобную навигацию по именам подпрограмм, макросов и переменных.
Компиляторы 5.
Симулятор и отладчик в кодах Си и ассемблера.
Отладчик позволяет просматривать области EEPROM, DATA, CODE, а также регистры ввода/вывода, устанавливать точки останова и аппаратные флаги, обрабатывать прерывания с предсказанием.
Кроме этого предусмотрен контроль стека и любых локальных переменных, режим пошагового выполнения программы.
Тип отладчика и его настройки устанавливаются в свойствах проекта.
Если отладчик отсутствует, то на помощь приходит симулятор, который, однако, не имеет возможности эмулировать работу процессора.
6.
Менеджер проектов, облегчающий контроль и управление рабочими модулями.
7.
Дополнительные утилиты для работы с оптимизированной CLIB/DLIB библиотекой.
Компиляторы Интегрированная система помощи облегчает написание программ в данной среде.
Предусмотрено взаимодействие с утилитой AVR Studio.
Помимо прочего в IAR Embedded Workbench существует возможность самостоятельного управления оптимизацией отдельных модулей проекта, что упрощает процесс отладки, а также позволяет ускорить работу программы или сэкономить на памяти.
Компиляторы IAR Embedded Workbench была разработана IAR Systems, более двадцати лет являющейся одной из ведущих компанией по созданию C/C++ компиляторов для встраиваемых микроконтроллерных устройств и систем.
Ее штаб-квартира находится в старинном городе Уппсала (Швеция).
В настоящее время программы IAR Systems используют по всему миру более сотни тысяч разработчиков, производителей телекоммуникационного и промышленного оборудования, медицинской и компьютерной техники, среди которых такие гиганты, как Apple Computer, Cisco Systems, Motorola, Hewlett-Packard и Siemens.
Компиляторы IAR Embedded Workbench является коммерческим продуктом, его стоимость составляет около 3000 долларов за одну пользовательскую лицензию.
Однако, в качестве дополнения к полнофункциональной версии, существует бесплатный вариант среды программирования с единственным ограничением на размер выходного кода до 4 или 8 КБ в зависимости от модели контроллера.
Этот вариант подойдет для первого знакомства с программой, а также написания небольших приложений.
Можно найти и взломанную версию, но для ее нормальной работы придется отключать выход в интернет.
Компиляторы
• Язык интерфейса IAR Embedded Workbench – английский.
• Рассматриваемая среда работает под управлением только операционной системы Microsoft Windows версий 95, 98, NT, 2000, XP, Vista, 7 (не имеет значения 32- или 64-битных).
• Распространение программы: платная.
Есть бесплатная версия с ограничениями на размер кода в зависимости от МК
• Официальный сайт IAR Embedded Workbench: http://www.iar.com Компиляторы
• http://www.kit-e.ru/articles/cad/2004_03_146.php
• http://vk.com/topic-30555431_28525992
• http://labkit.ru/html/programmators_shm?id=86
• http://ivashka.my1.ru/publ/programmy/graficheskaja_obolochka_burn_o_ma t_dlja_avrdude/6-1-0-10
• http://www.myrobot.ru/stepbystep/mc_programming.php
• http://habrahabr.ru/post/128734/
• http://radiokot.ru/articles/56/
• http://cxem.net/software/soft_mcu.php
• http://mathscinet.ru/robots/avrgcc/
• http://mathscinet.ru/robots/emulator/index.php?help=0
• http://easyelectronics.ru/avr-studio-likbez.html
• http://www.123avr.com/
• http://www.ugolok-mastera.ru/
• http://home.roboticlab.eu/ru/examples/setup/windows Среда разработки AVR Studio (Windows) ATMega128
• Установка программного обеспечения
• Перед установкой программного обеспечения необходимо скачать нижеследующее программное обеспечение, с сайта производителя или сайта Домашней Лаборатории или с диска находящегося в чемодане Домашней Лаборатории.
1.
AVR Studio
• AVR Studio 4 IDE (inglise keeles Integrated Development Environment ) – это программа, которая предназначена для написания программного кода и загрузки его в микроконтроллер.
Последняя версия AVR Studio находится на веб-сайте производителя Atmel.2.
WinAVR
• WinAVR является GNU-GCC компилятором для микроконтроллеров AVR.
Это свободное программное обеспечение, которое можно найти на сайте Sourceforge.
При инсталляции WinAVR предлагает имя каталога, которое также содержит номер версии, но директория должна быть изменена вручную:
• C:\WinAVR 3.
Библиотека Домашней Лаборатории
• Библиотека Домашней Лаборатории содержит функции, облегчающие использование AVR и устройств комплекта Домашней Лаборатории.
Последняя версия библиотеки находится на сайте Домашней Лаборатории.
Библиотека должна быть обязательно установлена в том же каталоге, где WinAVR.
4.
Драйвер виртуального COM порта
• Драйвер позволяет подключить к компьютеру программатор JTAG ICE.
Драйвер должен быть установлен до подключения к компьютеру программатора.
Имя установочной программы 'CDM x.xx.xx.exe», где «х» обозначает версию.
Затем необходимо подключить программатор к компьютеру через USB интерфейс, и позволить Windows выполнит автоматическую установку.
В строке состояния должно появиться примерно такое сообщение: 4.
Драйвер виртуального COM порта В зависимости от того, сколько виртуальных последовательных портов на вашем компьютере уже установлено и введено в эксплуатацию, Windows автоматически установит следующий порядковый номер виртуального порта.
Новый порядковый номер генерируется и при смене порта USB.
Некоторые версии AVR Studio признают программатор ICE JTAG, только в последовательных портах COM1 … COM9 и функцию отладки позволяют использовать только последовательные порты COM1 … COM4.
Пользователь имеет возможность изменить порядковый номер порта, использую инструмент Device Manager .
Посмотри процедуру на сайте.
Создание проекта
• Для написания AVR программы, необходимо создать новый проект, который обычно включает в себя много различных файлов: программный код (ы), файлы заголовков и компилированные программы т.д.
Для того чтобы проекты корректно различались, необходимо для каждого проекта создавать новый каталог.
• Для создания проекта необходимо пройти следующие этапы:•1.
Открыть AVR Studio и нажать кнопку новый проект ( New Project ).
Если окно не открывается автоматически, выберите из меню Project - New project .
Затем нажмите кнопку Next.
Создание проекта2.
Откроется окно, в котором необходимо обозначить начальные настройки компилятора и файлов.
В качестве компилятора выберите AVR GCC и в правом окне введите имя проекта и имя исходного файла.
Имя исходного файла должно обязательно иметь расширение “.c“.
Необходимо так же указать каталог, где будет создаваться соответствующий каталог проекта.
После выбора, нажмите кнопку Next.
Если при выборе компилятора отсутствует AVR GCC , то WinAVR установлен неправильно и это необходимо сделать до того, как писать программу на языке Си.
Создание проекта•3.
Далее открывается окно, в котором отмечается платформа, используемая для отладки типа микроконтроллера.
В Домашней Лаборатории используется в качестве платформы для отладки JTAGICE ICE программатор и микроконтроллер ATmega128 .
Для создания проекта нажми кнопку Finish.
Создание проекта4.
Далее открывается уже пользовательский интерфейс программирования, куда можно начать писать новый исходный код программы.
Создание проекта•5.
Перед компиляцией кода, необходимо определить настройки проекта.
Наиболее важными параметрами является тактовая частота контроллера и метод оптимизации компилятора.
Тактовая частота контроллера Домашней лаборатории 14,7456 МГц (14745600 Гц).
Частоту необходимо установить в свойствах проекта в Гц (не МГц) в окне Project → Configuration Options → General .
Метод оптимизации должен остаться -Os, если нет необходимости использовать другие методы.
Создание проекта•6.
Для использования домашней лаборатории библиотека функций программного обеспечения должны быть установлены правильно.
При каждом проекте необходимо из настроек Project → Configuration Options → Libraries добавить из списка нужную библиотеку проекта.
Создание проекта Если объект libhomelab.a отсутствует в списке, то библиотека Домашней Лаборатории установлена неправильно.
Тестирование установки После установки среды разработки в первый раз желательно проверить, все ли было сделано правильно.
Простейший способ - это написать короткую программу, скомпилировать ее и загрузить в контроллер.
• 1.
Подключите программатор с платой ATmega128.
При подключении проверьте, чтобы программатор был подключен в правильное гнездо (JTAG) (смотри следующее фото).
После программатора подключите к плате контроллера питания (если источник питания подключен правильно, то должен загореться маленький зеленый светодиод).
Тестирование установки #include <avr/io.h> #include <homelab/delay.h> int main(void){ // Настройка вывода PB7 выходом DDRB = 0x80;
// Бесконечный цикл while (true){ // Инвертирование вывода PB7 PORTB ^= 0x80;
hw_delay_ms(500);
} Тестирование установки
• Скомпилировать программу приказом Build (клавиша F7).
Убедитесь в том, что компиляция удалась.
Для этого должно появиться следующее сообщение: Build succeeded with 0 Warnings...
Тестирование установки2.
Откройте окно загрузки кода с помощью Tools → Program AVR → Auto Connect .
В результате должно открыться окно загрузки скомпилированного файла в микроконтроллер.
Убедитесь, чтобы открытой была карта Program.
Тестирование установки Если приведенное выше окно не открывается и появляется окно Connection Failed , то отсутствует связь с программатором.
Сначала необходимо убедиться, что на микроконтроллер приходит питание и подключен правильно программатор (к разъему JTAG подключен кабелей в правильном направлении).
Если с этим все в порядке, то необходимо проверить какой номер СОМ порта назначил Windows для программатора.
Если номер больше чем 9, то программное обеспечение может не найти его и порту нужно назначить меньший порядковый номер.
Тестирование установки3.
В окне программатора введите в Flash- секцию текстовое поле Input HEX File скомпилированный файл.
Вы можете сделать это нажатием кнопки »…».
Скомпилированный файл обычно находится в подкаталоге проекта default и имеет такое же имя, как и проект, но с расширением “.hex“, к примеру, „labor1.hex“.
После выбора правильного файла, нажмите на кнопку Program , который загрузит выбранную программу в контроллер.
Если все удалось, то в нижней части окна среды программирования появится следующее сообщение: Тестирование установкиOK Reading FLASH input file..
OK Setting device parameters for jtag programming ..OK Entering programming mode..
OK Erasing device..
OK Programming FLASH ..
OK Reading FLASH ..
OK FLASH contents is equal to file..
OK Leaving programming mode..
OK Под влиянием программы на плате контроллера должен периодически загораться и гаснуть индикатор состояния PB7.
Если программа работает, то программное обеспечение удачно установлено и первый проект сделан.
Поздравляем! Тестирование установки Использование отладчика
• Отладкой программы (на английском языке debugging) называется поиск ошибок в программе.
Для этого созданы отдельные средства – отладчики (на английском языке debugger ), которые позволяют выполнять программу от шага к шагу, останавливаясь в желательных для этого местах.
Такое выполнение программы позволяет в каждой фазе программы контролировать значение переменных, содержание регистров и порядок выполнения программы.
Наиболее важно использование отладки при сложных программах, где часто поиск ошибки затруднен.
Для использования отладчика нужны прежде всего два условия: используемый микроконтроллер должен поддерживать отладку и необходимо программное обеспечение поддерживаемое отладку – JTAG программатор.
Более дешевые программаторы, которые используют интерфейс программирования ISP, позволяют загружать в контроллер скомпилированную программу, но не позволяют её отладку.
Использование отладчика
• Для запуска программы с AVR Studio в режиме отладки необходимо сначала её скомпилировать кнопкой Build (клавиша F7) и запустить скомпилированную программу приказомRun (клавишей F5).
В программный код можно заранее добавить в желаемые места пункты прерывания (на английском языке break point ) (клавиша F9).
Когда выполнение программы дойдет до пункта прерывания, остановиться работа программы, позволяя таким образом выяснить состояние микроконтроллера при достижении в этот пункт.
Выполнение программы можно заново возобновить приказомRun или приказом Step Into (клавиша F11).
Использование чисел с плавающей запятой Иногда возникает необходимость в программе AVR использовать чисел с плавающей запятой.
Для их вычисления и представления функцией printf типа необходимо в настройках проекта сделать следующие изменения:•1.
Откройте настройки проекта из меню Project → Configuration Options .
На карте настроек Libraries , куда добавлен объект libhomelab.a библиотеки Домашней Лаборатории, добавить файлы libprintf_flt.a и libm.a.•2.
Затем необходимо открыть карту Custom Options и выбрать секцию [All files] .
В правой ячейке добавить строки »-lprintf_flt» и »-lm».
В секцию [Linker Options] добавить
programming