Winavr как пользоваться: Основы работы в WinAVR | Любительские конструкции на микроконтроллерах

Основы работы в WinAVR | Любительские конструкции на микроконтроллерах

В качестве платформы для разработки конструкций на микроконтроллерах я использую пакет программ WinAVR. Почему выбор пал именно на него? Данная платформа распространяется бесплатно с открытым исходным кодом. Каждый может её улучшить и доработать по своему усмотрению (хотя смысла это делать не вижу). Генерирует достаточно оптимальный код. Синтаксис языка с в нём максимально приближён к классическому Си, нету конструкций типа PORTB.1 = 1 как в CVAVR. Вообще у меня на компьютере установлены и WinAVR, и пресловутый CVAVR. Есть и PonyProg, и даже Algorithm Builder. И всеми ими приходится иной раз  пользоваться , т.е. они друг друга прекрасно дополняют. Например, когда возникла необходимость прошить AT90USB162, я сделал это при помощи CVAVR, т.к. ни PonyProg, ни USBASP_AVRDUDE_PROG не поддерживают данный кристалл. Кроме того CVAVR удобно пользоваться, если надпись на кристалле затёрта и не известен тип. Для этого, после подключения программатора, во вкладке «chip programmer» нажимается кнопка «read signature». Этой же функцией можно воспользоваться, если есть подозрения в исправности программатора или самой микросхемы.  Algorithm Builder удобно использовать для написания программ для 8-миногих «тинек» — изучая ассемблер, изучается внутренняя архитектура контроллера. Кроме того, при расчёте некоторых величин для записи в регистры удобно смотреть по вкладкам AB, т.к. при вводе частоты работы ядра автоматически рассчитываются, например, значения регистров для установки скорости обмена по UART, другие величины… Но я отвлёкся, разговор-то идёт про WinAVR. Итак, качаем дистрибутив отсюда и устанавливаем на своём компьютере. Я думаю пошагово объяснять установку не нужно – все, читающие эти сроки, наверняка подготовлены как пользователи ПК. Главной программой, в которой собственно и идёт работа является Programmer Notepage. Для себя я вынес её ярлык на рабочий стол ПК. Открываем Programmer Notepage, «File» -> «New». Откроется окно нового файла. Предварительно создадим папку в которой будут храниться наши проекты. В эту папку сохраним новый файл с расширением с. Набираем собственно код. Для примера я использовал небольшой проектик, который будет выводить на экран LCD индикатора все возможные для него символы, ведь содержимое знакогенератора адресов 0xA0 – 0xFF для различных видов HD44780-совместимых LCD индикаторов может меняться от модели к модели. Итак, набираем код. Сохраняем его как znakogenerator.c в папку Znakogenerator. Кроме того, для работы с LCD необходимо подключить файл с набором таких функций. Берём его из своей наработанной библиотеки и копируем в эту же папку. Ну и для задания параметров самого проекта необходимо создать так называемый makefile. В дальнейшем, после приобретения некоторого опыта данный файл можно будет копировать из других своих проектов, а я сейчас покажу как сделать его с помощью специальной программы из пакета WinAVR. Кликаем «Пуск» -> Все программы -> WinAVR -> MFile (иконка в виде кипящего чайника). Открывается окно. Кликаем «Mikefile» и начинаем вводить параметры своего проекта.

В основном там нужно будет поменять название главного файла проекта (по умолчанию «main»), мы вводим znakogenerator, выбрать тип микроконтроллера MCU type, остальное можно не трогать, все параметры, в том числе и указанные выше, возможно поменять будет потом в папке проекта. Потом кликаем «File» -> «Save As» и сохраняем его как mikefile (по умолчанию) в папку Вашего проекта, в нашем случае папку Znakogenerator. Сохранили, теперь из Programmer Notepage открываем папку проекта и видим там четыре файла: znakogenerator.c – это основной файл проекта, lcd.c, lcd.h – файл функций работы с LCD и заголовочный файл к нему (мы их добавили из своей библиотеки) и makefile  проекта, который мы с вами создавали. Откроем его.

Всё, что написано после символа # — это комменты, они нас не интересуют, хотя, если владеете английским можно почитать. Смотрим сверху вниз. Я буду пояснять только те строки, которые необходимы, остальные можно оставить по умолчанию. MCU = atmega88 – строка где мы выбираем тип кристалла. F_CPU = 1000000 – частота работы ядра, которую мы задаём фьюзами. TARGET = znakogenerator – строка, задающая имя главного файла проекта (того, где есть функция main), имя указывается без расширения С. SRC = $(TARGET).c – строка, указующая на источники Си-кода, под ней  добавлена строка SRC += lcd.c – этим мы подключаем к проекту файл lcd.c. Если подключаются ещё какие-то файлы, то они так же записываются как указано выше новой строкой под существующими. Листаем вниз, до опций программатора Здесь в строке AVRDUDE_PROGRAMMER = stk500 можно выбрать любой тип программатора, который есть в выпадающем списке программы MFile. Ниже строка выбора порта связи с программатором AVRDUDE_PORT = com1. Список портов также указан в выпадающем списке MFile. С программаторами есть небольшой нюанс. Дело в том, что в выпадающем списке программаторов нет USBasp, а он достаточно распространён среди радиолюбителей. Ничего страшного – пропишем его вручную. Вот так: AVRDUDE_PROGRAMMER = usbasp и укажем порт: AVRDUDE_PORT = usb. Всё, сохраним изменения, нажатием на соответствующую кнопочку. Теперь проект нужно откомпилировать и прошить в кристалл. Для этого соберём схему из элементов микроконтроллерного конструктора и подключим её к программатору USBasp, который хорошо описан здесь. В Programmer Notepage кликаем «Tools» -> «Make Clean» — это очистит папку от предыдущих результатов компиляции. После этого «Tools» -> «Make All» — это откомпилирует проект, и, если не будет ошибок, то вылезет такое окно.

После успешной компиляции в папке проекта появиться куча файлов, о них я сейчас рассказывать не буду – можно посмотреть самим. Потом прошиваем кристалл: «Tools» -> «Program». Если всё соединено правильно, результат будет таким,

а на экране LCD Вы уведите раз в полсекунды меняющиеся символы знакогенератора и их порядковый номер.

Теперь, создавая свой проект, можно не выходя после очередной компиляции в USBASP_AVRDUDE_PROG, Pony Prog или другую программу,  зашивать кристалл и видеть результаты изменения исходного кода. Фьюзы предварительно нужно зашить любой из вышеуказанных программ, в зависимости от используемого программатора. Следует также отметить, что WinAVR замечательно стыкуется с AVR studio, но об этом позже. Удачи, друзья!

Запись опубликована в рубрике Разное с метками LCD, WinAVR. Добавьте в закладки постоянную ссылку.

Программирование микрокотроллеров AVR. Шаг 2. Теория

Программирование МК AVR.
Шаг 2. Теория.


Описание среды разработки AVR Studio.


    В теоретической части вы получили общее представление о контроллерах, в частности о том как создавать для них ПО. Так же я упоминал о программной среде разработки AVR Studio.
Помимо данной среды разработки существуют и другие. Например WinAVR — бесплатный программный пакет, включающий в себя компилятор для С++ и Ассемблера, IDE, средства отладки, программатор, а так же другие вспомогательные утилиты. Кстати, я с него и начинал, когда писал на С++, очень хорошая вещь. Об этой среде достаточно хорошо расписано здесь. Не будем останавливаться на других средах разработки, более детальную информацию о них вы сможете просмотреть по этим адресам:
     http://myrobot.ru/stepbystep/mc_programming.php
     http://avr123.nm.ru
    Итак, у вас стоит AVR Studio 4. Программу вы уже написали. Теперь вам необходимо её скомпилировать. Для этого в верхнем меню выбираем Build->Build или просто жмём кнопку F7.
    Далее, в окне сообщений у вас должно появиться уведомление о том что код успешно скомпилирован, разумеется, если он правильный :)
    Теперь вы сможете осуществить отладку своей программы. Для этого выбираем пункт Debug->Start Debugging.
Запустится окно отладки. Отладка программы осуществляется, посредством последовательного выполнения инструкций и просмотра результатов этого выполнения. Для этого выберете пункт. Debug->Step Over
При этом эмулятор перейдёт на следующую команду.
    Думаю, что неплохо было бы рассмотреть основные элементы средства отладки. Однако, если хорошо дружите с английским, можете посмотреть это в хэлпе.
    Посмотрите ещё раз на содержание пункта Debug. Там есть также следующие подпункты:
    Stop Debuggind — остановка отладки.
    Run — запуск быстрой автоматической отладки. Эмулятор переходит в режим автоматического исполнение кода, при этом не информируя вас о том, на какой команде он находится в данный момент. Это может потребоваться, когда вам необходимо быстро прогнать через отладчик какой-то большой кусок кода и остановиться в нужном вам месте. При этом место остановки автоматической отладки должно быть указано стоп-точкой (Breakpoint).
    Например.
    Break — используется для остановки режимов автоматической отладки.

    Reset — для перезапуска программы эмуляции.
    Step Into — используется для режима ручной пошаговой отладки, с учётом перехода в подпрограмму, если встречается инструкция вызова подпрограммы.
    Step Over — работает точно так же как и Step Into за исключением того, что при переходе на инструкцию вызова подпрограммы переходит в режим быстрой автоматической отладки кода подпрограммы и останавливается на следующей инструкции после выполнения подпрограммы.
    Step Out — используется для запуска быстрой автоматической отладки, если текущая позиция команды находится в вызванной подпрограмме. Это может потребоваться когда вам необходимо перейти в код вызываемой подпрограммы но не отлаживать полностью её в ручном режиме, а остановиться на требуемом вам месте а затем запустить быструю автоматическую отладку в пределах кода подпрограммы.
    Run to Cursor — используется для запуска быстрой автоматической отладки от текущего положения до места, где установлен курсор.
    Auto Step — используется для запуска режима медленной автоматической отладки. При этом эмулятор информирует вас о текущем состоянии параметров всех элементов МК.
Теперь давайте рассмотрим другие элементы окна отладки.
Рассмотрим вкладку Processor.
Вот основные её поля:
    1 — Показывает текущее состояние счётчика программ, т.е. адрес текущей инструкции в памяти программ.
    2 — Указатель стека, показывает текущее значение адреса точки возврата в памяти данным, где, в принципе, и реализован стек.
    3 — Текущее значение указателя X (R26:R27).
    4 — Текущее значение указателя Y (R28:R29).
    5 — Текущее значение указателя Z (R30:R31).
    6 — Показывает количество машинных циклов, совершённых в режиме отладки.
    7 — Показывает условную частоту кварцевого резонатора.
    8 — Показывает текущее время по ходу выполнения программы.
    9 — Текущее состояние регистра SREG.
    10 — Список регистров общего назначения.
    У отладчика AVR Studio есть также удобное окно просмотра текущего состояния периферийных устройств и других компонентов, а так же регистров специального назначения, отвечающих за их настройки.
    Так же очень часто бывает нужно регистрировать различные изменения в памяти данных, или в других видах памяти. Для этого есть специальный просмоторщик текущего состояния различных областей и видов памяти.
    Имеется так же специальный наблюдатель, который показывает изменения, выбранных вами регистров как общего, так и специального назначения.
    Ну вот в принципе и всё, что хотел для начала рассказать о среде AVR Studio. Вот только ещё следует отметить, что иногда её глючит, особенно ранние версии, однако в большей своей части она работает довольно грамотно 🙂

Загрузка программы в память МК.


    После того, как вы написали программу её надо как-то «зашить» в сам МК. Для этого используются программаторы.
    Различают 2 основных способа программирования МК AVR: параллельное и последовательное.
    Параллельное программирование осуществляется с использованием специализированных параллельных программаторов при повышенном напряжении (+12 В) и обычно используется в массовом производстве для прошивки сразу большого количества МК.
    Последовательное (ISP) программирование может осуществляться через последовательный интерфейс МК, в данном случае SPI, а также с использованием специальных выводов при повышенном напряжении. Некоторые модели МК AVR поддерживают программирование через специальный интерфейс JTAG. Следует так же отметить, что параллельное и последовательное программирование поддерживается всеми МК серии Mega и некоторыми МК серии Tiny.
    На данном этапе мы пока рассмотрим только режим последовательного программирования через интерфейс SPI. Это вид программирования является весьма удобным, не только из-за простоты программирования, но так же возможности осуществлять прошивку контроллера не вынимая его из печатной платы устройства.
    Теперь поговорим о программаторах.
    Они бывают самыми разнообразными, но наибольшей популярностью, среди начинающих, обладают простейшие программаторы типа STK200. Самым простым является программатор из «5 проводков» от порта LPT. По сути дела это просто 5 проводков подключённых к соответствующим выводам МК интерфейса SPI. Они подключаются либо напрямую, либо через промежуточные буферы, либо через токоограничивающие резисторы, дабы обезопасить порт. Однако, прямое подключение, по отношению к порту LPT, является опасным, даже при наличие резисторов, т.к. LPT весьма чувствителен к перегрузкам. Впринципе, вы без особых проблем сможете приобрести фирменный программатор компании Atmel, но здесь весь вопрос упирается в финансы, а так же в ваше умение и желание работать с паяльником 🙂 Всё таки рекомендую вам спаять нормальный STK200 с промежуточным буфером, для безопасной работы с портом LPT.
Однако на первых этапах разработки можете использовать самый простой вариант программирования, т.е. программатор из 5 проводков.
    Вот например мой самый первый программатор, который я частенько использую и по сей день.
    Здесь я просто добавил стабилизированный источник питания (LM7805 + батарейка 9 В), а также внешний кварц. Светодиод служит для индикации напряжения питания. 2 панельки для большего удобства, что бы можно было прошивать МК серии Mega к корпусах DIP28 и DIP40. Подключение соответствующих выводов МК к порту LPT осуществляется через токоограничивающие резисторы по 150 Ом.
    Вторая версия моего программатора соответствует схеме фирменного STK200. Он очень удобен в применении и обеспечивает защиту порта LPT. Однако ему требуется отдельное питание, что не очень удобно в некоторых случаях.

Скачать архив с разводкой платы (формат Sprint Layout)


    Думаю, что с программатором особых проблем возникнуть не должно.
    Теперь поговорим о программах, с мощью которых мы будет осуществлять загрузку прошивки в память контроллера.
    В принципе, некоторые среды разработки, например WinAVR и CodeVisionAVR, позволяют производить загрузку вашей программы в контроллер с использование программатора STK200. Однако у AVR Studio нет такой возможности, поэтому придётся воспользоваться чем-нибудь другим.
На этот случай имеется очень удобная и бесплатная утилита — PonyProg. Она поддерживает многие популярные программаторы для контроллеров PIC и AVR, в том числе STK200 и позволяет осуществлять прошивку либо через последовательный порт COM и либо через параллельный порт LPT.
    Итак, устанавливаем и запускаем программу. Далее выбираем в верхнем меню пункт Setup->Interface Setup. Задаём соответствующие настройки. В моём случае — порт LPT1 и режим внутрисхемного программирования (ISP).
    В верхнем меню Device выбираем нужный тип и модель контроллера, в данном случае AVR micro->Atmega8
Теперь у вас всё есть для загрузки программы в контроллер.
В качестве примера попробуем загрузить программу, рассмотренную в предыдущей статье. Для этого мы с помощью меню File->Open Program (FLASH) File открываем файл прошивки «*.hex», который обычно лежит в той же директории где и основной файл вашего проекта.
Теперь подсоединяем программатор (ВЫКЛЮЧЕННЫЙ!) к порту LPT, затем включаем.
В верхнем меню выбираем вкладку Command->Write Program (FLASH) и ожидаем окончания загрузки и проверки.
В случае успешной загрузки данных, прога выдаст вам сообщение «Write Successful!»
После загрузки программы в МК отключаем программатор и только потом отсоединяем его от порта LPT.

Настройка фьюзов.


    Практически для всех МК, не только для AVR, существует ряд различных настроек которые определены в особой области памяти.
    Фьюзы — это обычные биты в регистрах фьюзов. Но программно они не могут быть изменены, а только лишь при помощи программатора. Они могут отвечать за такие настройки как: тип источника тактирования, настройки сброса, тип программирования, управление питанием и т.д. Здесь мы кратко рассмотрим несколько наиболее важных.

Выбор источника тактирования и управление питанием.


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

Картинка взята с сайта: http://avr123.nm.ru/

    Следует отметить, что бит CKOPT отвечает за режим работы усилителя тактового генератора. Здесь возможно два режима: режим работы в условиях сильных электромагнитных помех и высоких частот, когда амплитуда колебаний на выводе усилителя XTAL2 равна напряжению питания и режим, когда амплитуда колебаний значительно меньше напряжения питания. Первый режим так же рекомендуется использовать при необходимости тактирования других устройств тактовым сигналом МК, однако при таком режиме работы повышается его энергопотребление.
    Для надежной работы МК как на низких так и на максимальных частотах можно выставить конфигурацию фьюзов, представленную на картинке. Для этого подсоедините и включите программатор, а затем выберете пункт меню Command->Security and Configuration Bits…

    Отметив галочкой нужные биты, нажмите кнопку Write. Теперь ваш МК настроен на работу с внутренним кварцевым генератором, а к выводам XTAL1 и XTAL2 вы должны будете подключить кварцевый резонатор. ВНИМАНИЕ! резонатор вам будет так же необходим при последующем программировании МК, поскольку до этого, контроллер, в соответствии с заводскими настройками, тактировался от встроенного RC-генератора с частотой 1 МГц.
    В общем-то о конфигурационных битах достаточно хорошо расписано в соответствующей литературе, поэтому не будем в деталях рассматривать данный вопрос, т. к. для начала вам этого будет достаточно. Вот впринципе и всё что хотелось рассказать в данной статье, а следующей темой будет конкретный практический пример.

Желаю удачи!

©2010 «my-electronics.narod.ru»

НА ГЛАВНУЮ

Использование WinAVR и командной строки для разработки AVR

С тех пор, как мои учебные пособия по V-USB стали популярными, в разделе комментариев постоянно появлялись люди, которые явно заинтересованы в опробовании этого руководства, но из-за ограниченного знакомства с языком C и командной строки либо не могут следовать моим кратким инструкциям по компиляции примеров файлов .hex, либо боятся командной строки, пытаются вместо этого использовать AVR Studio и терпят неудачу.

Должен признаться, поначалу меня немного раздражали эти люди — почему они пытаются следовать сложному проекту, когда они, казалось бы, не понимают, как работает командная строка, make-файлы, компилятор C и процесс компоновки? Затем, комментарий за комментарием, я, наконец, понял, что не все начали программировать в девяностых, когда вы запускали Windows 3. 11 в основном для того, чтобы играть в пасьянс, а самым важным фактором в производительности кодирования был текстовый режим 80 × 50, который позволял вам получать 16-цветное блаженство хакерства в вашей Borland Turbo C++ 3.0 IDE (или RHIDE, после появления DJGPP).

Итак, вместо того, чтобы игнорировать этих людей или часами отвечать на одни и те же вопросы, я решил начать новую серию руководств, чтобы охватить действительно основы разработки AVR так, как я люблю это делать: Old skool.

Навигация по командной строке

Низкая планка мастерства командной строки в разработке AVR. В нем четыре уровня:

  1. Запуск командной строки
  2. Переход к каталогу и просмотр его содержимого
  3. Запуск команд

Первый очень простой. В Windows 7 вы можете просто нажать кнопку «Пуск», ввести «cmd», и все готово. Или введите «команда», так как командная строка обычно отображается первым поисковым запросом. Более хардкорные люди используют Win + R (эта клавиша с символом флага, наконец, делает что-то полезное!) И введите «cmd» в диалоговом окне «Выполнить», как показано на заглавном изображении этого поста.

После того, как вы откусили синюю таблетку, команда № 2 также довольно проста. Во-первых, вам нужно понять, что командная строка очень похожа на проводник Windows (показан на скриншоте выше) — вы всегда находитесь в каком-то каталоге, и команды, которые вы вводите, обычно работают в пределах этого каталога. В приведенном выше примере мы находимся в каталоге E:\Koodi\AVR\usb_tutorial — давайте попробуем воспроизвести это в командной строке:

Как видите, вы используете «X:» для переключения на другой диск, «cd XXX», чтобы перейти в каталог XXX, и «dir», чтобы отобразить содержимое каталога (хороший способ убедиться, что вы находитесь в правильном месте). Кстати, вы можете перейти сразу в несколько каталогов, используя разделитель каталогов \ с такими командами, как «cd koodi\avr\usb_tutorial». Вы, наверное, уже заметили, что имена файлов командной строки Windows не чувствительны к регистру, потому что они не были такими в 80-х, и, знаете, кому вообще нравятся изменения?

Чтобы подняться на один уровень, вы используете «cd . .» («..» по существу означает «один выше»). Чтобы перейти в каталог верхнего уровня, «cd\». Обратите внимание, что обратная косая черта «\» отличается от обычной косой черты «/», используемой в средах типа Unix — не торопитесь, чтобы найти ее с клавиатуры! Вы также можете комбинировать \ и .. с обычными именами каталогов. Теперь вы можете догадаться, что они делают:
cd ..\.. cd \koodi\avr\..\avr dir \koodi\avr dir ..\
Как только вы освоите cd и dir , вы уже должны понимать почти все, что нужно знать о командной строке Windows — команды (такие как «cd» и «dir») и их параметры (для обеих этих команд это каталог, в который вы хотите перейти или отобразить содержимое) .

Примечание: нераспознанные команды и переменная PATH

Внимательные читатели обратите внимание, что в приведенном выше примере сеанса командной строки я также пытался запустить «make», как указано в руководствах по V-USB. Командная строка очень удобна и полезна, и в этом случае она распечатала подробное и простое для понимания сообщение об ошибке: Не удалось распознать введенную команду. Это означает, что:

  1. «make» не является допустимой командой внутренней командной строки
  2. В текущем каталоге нет «make.exe» (бинарный исполняемый файл) или «make.bat» (текстовый пакетный командный файл)
  3. … также нет «make.exe» или «make.bat» ни в одном каталоге, указанном в переменной PATH

Что означает эта «переменная PATH»? По сути, это общесистемная переменная (точнее, командная строка «наследует» глобальную настройку, и затем вы можете изменить ее локально с помощью команды «set» и глобально с помощью «setx»), которая сообщает каталоги, в которых выполняется поиск команд. Вы можете просмотреть/изменить глобальную переменную PATH, щелкнув правой кнопкой мыши «Компьютер» в меню «Пуск», выбрав «Свойства»/«Дополнительные параметры системы»/«Дополнительно»/«Переменные среды».

Теперь, когда вы прочитали предыдущий абзац, вы можете забыть об этом. Ключевым выводом является то, что утилиты командной строки, такие как «make», «avrdude» и «gcc», обычно устанавливаются «где-то» при установке WinAVR, MinGW и подобных пакетов компилятора, и установщик изменяет переменную PATH, чтобы включить это. местоположение, поэтому, когда вы вводите эту команду «сделать», она просто работает автоматически. Это означает, что вам не нужно копировать make.exe, gcc.exe или что-либо еще в каталог вашего проекта — если вы это делаете, вы делаете это неправильно !

Установка WinAVR

WinAVR — отличный кросс-компилятор GNU GCC, в котором есть все необходимые утилиты для разработки AVR на языке C (и ассемблере) в Windows. «Кросс-компилятор» означает, что он работает на оборудовании ПК, но генерирует двоичный код для другой платформы, в данном случае для 8-битных микроконтроллеров AVR. GNU GCC — это широко распространенный набор компиляторов C с открытым исходным кодом (также часто включает C++). WinAVR содержит компилятор, несколько полезных утилит, таких как make, и некоторые специфичные для AVR вещи, такие как утилита «avrdude», которую можно использовать для прошивки двоичного файла в микроконтроллер AVR и изменения настроек предохранителей микроконтроллеров AVR.

Установка WinAVR очень проста: вы просто заходите на сайт WinAVR, переходите в раздел загрузки, выбираете последнюю версию install.exe (на момент написания, версия 2010-01-10) и запускаете ее. Вы можете установить его куда угодно, но в целях безопасности можно избегать пробелов в именах каталогов, так как они иногда вызывают проблемы.

После установки WinAVR перезапустите командную строку, чтобы изменения PATH вступили в силу, и убедитесь, что команды «avr-gcc», «avrdude» и «make» выдают собственные сообщения об ошибках (на самом деле avrdude просто отображает свою команду — параметры строки), и вы не получите стандартную тираду «команда не распознана как…». Теперь давайте снова попробуем наш процесс «сделать»:

Вуаля! Теперь, если у вас была схема учебного проекта USB, подключенная к компьютеру через программатор ISP, и настройки Makefile в порядке, вы можете просто ввести «make flash» и начать пользоваться своей программой. Если вы не следите за обновлениями для следующей части, которая будет посвящена компиляции, компоновке и основам Makefile!

Использование микропроцессоров AVR в CCRMA под Win32

Использование микропроцессоров AVR в CCRMA под Win32

Pascal Stang, май 2005 г. (в значительной степени основано на руководстве по AVR/OSX, написанном Мэттом Райт)

В этом документе объясняется, как подготовить ПК с Win32 (ПК под управлением Windows 98, Windows2000, WindowsXP) для разработки программного обеспечения AVR в CCRMA. Это в первую очередь предназначен для людей, которые занимались разработкой AVR под Планетой CCRMA Linux, и которые теперь хотят заниматься разработкой самостоятельно ПК с Windows. Это руководство предназначено для тех, кто участвует в программе CCRMA 250a. класс или взаимодействие человека с компьютером летний мастер-класс), но и другим может пригодиться.

Содержимое

  • Программное обеспечение Win32, необходимое для разработки AVR: что будет быть установлен и откуда он взялся?
  • Этапы установки: как скачать и установить инструменты и библиотеки
  • Преобразователи USB-to-Serial
  • : какой использовать и другие полезные детали
  • Связь между avr и pd через последовательный OSC (Pd)

Программное обеспечение Win32, необходимое для разработки AVR

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

  • Необходимые инструменты
    • WinAVR — полный инструмент разработки Win32 AVR-GCC. упаковка [Интернет]
      • Компилятор AVR-GCC
      • Отладчик AVR-GDB (с графическим интерфейсом Insight)
      • Программатор УИСП AVR
      • Блокнот программиста — отличный редактор кода и менеджер проектов
      • Большой набор команд Linux, скомпилированных для Win32 (например, bash, make, ls, больше и т. д.)
    • AVRlib — большой набор библиотек кода AVR для облегчения разработка [местный]
  • Дополнительные инструменты
    • Atmel AVRStudio — бесплатный ассемблер, симулятор, отладчик и программатор [веб]
    • PonyProg2000 — бесплатный программатор, поддерживающий Процессоры AVR среди многих других [Интернет]

Этапы установки

Для установки всех необходимых инструментов вам потребуется около 80 МБ дискового пространства. Вам также нужно будет выбрать ДОМАШНИЙ каталог на вашем ПК с Windows. Этот каталог будет иметь ту же структуру, что и каталог HOME вашей учетной записи CCRMA linux.

  1. Загрузите следующие необходимые файлы (версии CCRMA сверху):
  • WinAVR-20050214-install.exe (13,3 МБ)
  • Запустите программу установки WinAVR.
    • Чтобы свести к минимуму проблемы, установите WinAVR в новый домашний каталог, который вы создадите, и выберите его без пробелов. путь (например, c:\ccrma).
    • Если вы используете Win2000 или WinXP, рекомендуется установить WinAVR с правами администратора.
  • Добавьте переменную среды Windows, указывающую на ваш новый ГЛАВНЫЙ каталог.
    Для большинства версий Windows:
    • Щелкните правой кнопкой мыши Мой компьютер
    • Выберите Свойства
    • Выберите вкладку Дополнительно
    • Щелкните Переменные среды
    • Нажмите New , чтобы добавить системную переменную среды.
      • Имя переменной: ГЛАВНАЯ
      • Значение переменной: c:\ccrma ​​ (или что вы выбрали в качестве домашнего каталога)
  • Загрузите AVRlib и поместите в свой домашний каталог.
    • в ~/avrlib/make отредактируйте файл avrccrma_make, раскомментировав «пользователь Windows»
  • Установите Atmel AVR Studio. [Интернет]
  • Почему именно эти каталоги?

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

    В CCRMA принято, что avrlib находится в домашнем каталоге каждого пользователя, поэтому, если вы поместите avrlib в указанный вами домашний каталог Windows, у вас будет меньше изменяться при копировании проектов AVR из вашей учетной записи CCRMA Linux.


    Преобразователи USB-последовательный порт

    Многие современные компьютеры PC/x86 больше не оснащены последовательными портами, поэтому использовать адаптер USB-to-Serial. Я лично добился успеха с Keyspan УПР-112 и Keyspan USA-19устройства и отсутствие успеха с немаркированным универсальное устройство, известное как «Prolific» или «BF». я слышал это в основном эти инструменты работают только с оборудованием Keyspan; пожалуйста, дайте мне знать [Мэтт at CCRMA] вашего опыта работы с другим оборудованием. Если вы физически находитесь в CCRMA Весной 2005 года вы можете одолжить один или оба моих серийных номера на USB устройства.

    Для всех этих USB-устройств требуются драйверы, которые обычно поставляются на компакт-диске. вы покупаете устройство, но также доступны для скачивания с сайта производителя веб-сайте (например, http://www.keyspan.com/downloads/win).

    После установки драйвера и подключения USB-устройства оно будет отображаться как стандартный COM-порт. Вы можете увидеть, какой номер COM был назначен вашему USB-последовательному порту. адаптер, проверив в диспетчере устройств Windows.


    серийный номер osc: от avr до pd

    Чтобы заставить AVRmini общаться с Pd на вашем компьютере с Win32 через OSC через последовательный порт через USB в это время не тривиально.

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

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