Winavr: WinAVR download | SourceForge.net

Содержание

WinAVR — пакет программ для написания прошивок AVR, Tiny, Mega (free лицензия) | avr

1. Скачать тут [1]. Установка проста до безобразия.

2. В качестве примера можно скачать какой-нибудь проект. Неплохо для этого подходит V-USB, скачать тут [2]. Я скачал avrusb-20080513.zip. Распакуйте архив в отдельный каталог.

3. Будем компилировать примерчик examples\custom-class\firmware\. Зайдите в этот каталог, откройте текстовым редактором файл Makefile. Там нужно прописать тип процессора AVR, тактовую частоту, значение перемычек и другие параметры (см. текст Makefile, он хорошо задокументирован комментариями). Вот фрагмент файла Makefile, где были внесены изменения (остальное поначалу можно не трогать):

DEVICE  = atmega16
F_CPU   = 16000000    # частота в герцах
FUSE_L  = 0x9f
FUSE_H  = 0xc9
AVRDUDE = 
CFLAGS  = -Iusbdrv -I. -DDEBUG_LEVEL=0
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(F_CPU) $(CFLAGS) -mmcu=$(DEVICE)

4. Введите в консоли команду make hex. Получится файл main.hex, который можно шить в кристалл, и main.elf, который можно грузить в среду отладки AVR Studio (ну и отлаживать тем, что есть — эмулятором или симулятором)!

5. Прикрутим программатор на примере JTAGICE mkII, работающего в режиме ISP (In System Programmer) и подключенного через USB. Отредактируйте Makefile (переменную AVRDUDE я закомментировал и ввел переменную JTAGICEII):

#AVRDUDE = avrdude -c jtag2 -p $(DEVICE) -P usb:xx -v 
JTAGICEII = c:Program FilesAtmelAVR ToolsJTAGICEmkIIjtagiceii.exe -d $(DEVICE) -e -mi
  ...
 
flash: main.hex
# $(AVRDUDE) -U flash:w:main.hex:i
    $(JTAGICEII) -pf -if main.hex

Немного комментариев. Несмотря на то, что путь до консольной утилиты jtagiceii.exe (которая поставляется в пакете AVR Studio и служит для управления программатором/эмулятором JTAG ICE mkII) содержит пробелы, НЕ НУЖНО здесь применять кавычки. Опция -d $(DEVICE) задает через переменную DEVICE тип микроконтроллера (atmega16), -e указывает стереть устройство перед программированием, -mi включает режим ISP, -pf указывает программировать flash, а -if main.hex указывает входной файл для программирования.

Программатор avrdude.exe вроде (судя по документации doc\avrdude.pdf) должен поддерживать JTAG ICE mkII, подключенный по USB, но к великому сожалению он у меня не заработал — не мог по шине USB найти устройство:

c:avrusb-20080513examplescustom-classfirmware>avrdude -c jtag2 -p atmega16 -P usb:xx -v
avrdude: Version 5.5, compiled on Jun  9 2008 at 14:32:04
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         System wide configuration file is "c:WinAVR-20080610binavrdude.conf"
         Using Port            : usb:xx
         Using Programmer      : jtag2
avrdude: usbdev_open(): did not find any (matching) USB device "usb:xx"
 
c:asmavrusb-20080513examplescustom-classfirmware>avrdude -c jtag2 -p atmega16 -P usb -v
avrdude: Version 5.5, compiled on Jun  9 2008 at 14:32:04
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         System wide configuration file is "c:WinAVR-20080610binavrdude.conf"
         Using Port            : usb
         Using Programmer      : jtag2
avrdude: usbdev_open(): did not find any USB device "usb"
-------

6. Чтобы можно было отлаживать программу эмулятором JTAGICE mkII, нужен файл coff-формата. Он получается из файла *.elf с помощью утилиты avr-copy. Итак, в Makefile нужно внести следующие изменения:

COMPILE = avr-gcc -Wall -Os -gstabs -DF_CPU=$(F_CPU) $(CFLAGS) -mmcu=$(DEVICE)
...
main.elf: usbdrv $(OBJECTS) # зависимость usbdrv нужна только потому, что папка usbdrv копируется.
 $(COMPILE) -o main.elf $(OBJECTS)
 
main.hex: main.elf
    rm -f main.hex main.eep.hex
    avr-objcopy -j .text -j .data -O ihex main.elf main.hex
    avr-objcopy --debugging -O coff-ext-avr $< main.cof
    avr-size main.hex

Теперь после команды make hex будет также появляться файл main.cof, который можно загрузить в AVR Studio, и в нем с помощью эмулятора JTAGICE mkII отлаживать программу.

7. После того, как Вы скомпилировали программу и записали её в Ваше USB-устройство, то может понадобиться USB-драйвер. Например, если Вы скомпилировали пример examples\custom-class\firmware\, то если Вы воткнете свое USB-устройство в компьютер, то определится устройство LEDControl, для которого и нужен драйвер. Делается он просто, процесс по шагам:

— скачайте пакет libusb-win32-device-bin-x.x.xx.x.tar.gz с сайта http://sourceforge.net/ (строка для поиска в Google «libusb-win32-device-bin»). Я скачал libusb-win32-device-bin-0.1.12.1.tar.gz.

— в архиве найдите папку bin, в которой есть программа inf-wizard.exe. Распакуйте всю папку bin куда-нибудь во временное место.
— программа inf-wizard.exe позволяет генерировать inf-файлы для устройств avr-usb, которые подключены в настоящий момент. Подключите свое USB-устройство, на сообщения о том, что необходимо установить драйвер, не обращайте внимания. Запустите программу inf-wizard.exe, и следуйте указаниям на экране (на первом экране просто жмем Next).
— на втором экране отобразится список устройств, которые определила программа, и для которых может быть сгенерированы файлы драйвера. Здесь «Vendor ID» и «Product ID» показывают шестнадцатеричные величины, которые вы ввели в файле examples\custom-class\firmware\usbconfig.h, опции USB_CFG_VENDOR_ID и USB_CFG_DEVICE_ID соответственно. Значение «Description» берется из опции USB_CFG_DEVICE_NAME того же файла examples\custom-class\firmware\usbconfig.h.
— на третьем экране «Vendor ID (hex format)» и «Product ID (hex format)» оставляем без изменений, а Manufacturer Name и Device Name лучше поменять на что-либо более информативное. Жмем Next.
— появится диалог для сохранения inf-файла. Указываем ту же самую папку, где находится inf-wizard.exe (поскольку там же лежат другие необходимые для установки драйвера файлы — libusb0.dll, libusb0.sys и другие), имя для inf-файла даем произвольное — предположим, что имя дали your_file. По окончании процесса в папке, откуда мы запустили inf-wizard.exe, появятся файлы your_file.inf, your_file.cat, your_file_x64.cat.
— отключим и снова подключим наше устройство. Появится диалог установки драйвера, где нужно указать месторасположение драйвера там, где находятся наши сгенерированные inf-файлы. После этого в диспетчере устройств должно появиться наше устройство LEDControl. Теперь можно скомпилировать и запустить программу для хоста ().

Для написания собственного драйвера USB понадобится установленный пакет

libusb-win32 (см. пункт 10, 11), а также Windows Server 2003 DDK. Я его скачал в виде файла .iso (276 мегабайт) и установил обычным образом.

8. Чтобы можно было откомпилировать ПО хоста, скачаем компилятор gcc. Он есть в составе пакета MinGW (http://www.mingw.org/). Заходим на сайт MinGW, идем по ссылке Today’s: MinGW, ищем в низу секцию Download, там есть ссылка на Sourceforge’s MinGW project page, оттуда скачиваем пакет. Я скачал «Automated MinGW Installer MinGW 5.1.4», файл MinGW-5.1.4.exe. Запускаем, выбираем Download and install, на вопрос «Which MinGW package do you wish to install?» выбираем Current, в выборе типа инсталляции галочка стоит только на «MinGW base tools», ставим еще галочку на «g++ compiler». Жмем Next, папку установки выбираем c:\MinGW, жмем Next, выбираем месторасположение ярлычков, жмем Install. Запустится процесс скачки из Интернета нужных пакетов (около 18 мегабайт, они будут складываться в текущую папку, откуда запустили MinGW-5.1.4.exe), а потом их распаковка и установка. Если что-то не закачалось или не докачалось, можно запустить MinGW-5.1.4.exe заново — будет закачиваться только то, чего не хватает в текущей папке (если какой-то файл недокачался и выдает ошибку при распаковке, его нужно удалить перед запуском MinGW-5.1.4.exe).

9. Добавляем в переменную окружения PATH строчку c:\MinGW\bin (я добавил в начало старой переменной PATH c:\MinGW\bin;). Теперь у Вас должны работать команды make, gcc, ld, rm и другие в любой текущей папке (это нужно для компиляции программ через среду Makefile).

10. Устанавливаем пакет libusb\libusb-win32-filter-bin-0.1.12.1.exe, перед установкой файл libusb\readme.txt рекомендует закрыть все программы, работающие с устройствами USB. По окончании установки по умолчанию запустится тест (если не убрать галочку), который показывает все устройства, доступные через библиотеку. Этот тест показывает все устройства USB, для которых установлен драйвер (те устройства USB, у которых восклицательный значок в диспетчере устройств, не показываются), и их параметры — весьма полезная программа!

11. Чтобы правильно откомпилировалось ПО хоста, нужно в файле Makefile (он находится в папке каждого примера) исправить пути до файла usb.h (заголовочный файл) и libusb.a (библиотека usb). С заголовочным файлом я разобрался быстро, а вот с путем до библиотеки я помучился всласть. Предположим, мы хотим откомпилировать программу хоста из примера custom-class, для этого заходим в папку examples\custom-class\commandline, и открываем файл Makefile текстовым редактором. Итак, вот секция Makefile, где нужно внести изменения (старую строчку я закомментировал символом #):

#USBFLAGS = -I/usr/local/include
USBFLAGS = -I"c:/Program Files/LibUSB-Win32/include"
#USBLIBS = -L/usr/local/lib -lusb
USBLIBS = -L"c:/Program Files/LibUSB-Win32/lib/gcc" -lusb

Запутался я тут с настройкой USBLIBS — пытался прописать опцию -llibusb.a, поскольку библиотеки с именем usb не нашел, была библиотека с именем libusb.a. Оказывается, нужно просто указать -lusb (почему, не знаю).

Теперь, если ввести в каталоге проекта (examples\custom-class\commandline) команду make, то появится файл set-led.exe. Если ввести команду make clean, то удалятся все объектные файлы (с расширением *.o).

Как вариант, можно внести вышеуказанные изменения в файле Makefile.windows, и компилировать проект командой make -f Makefile.windows.

12. В пакете WinAVR есть драйвера USB для эмулятора JTAG ICE mkII, и можно их установить, если Вы раньше не установили эти драйвера вместе с пакетом AVR Studio. Драйвера находятся в папке \utils\libusb\bin. Процедура установки подробно описана в разделе «LibUSB-Win32» файла справки WinAVR-user-manual.html.

13. В папке \utils\bin\ лежит куча консольных unix-like утилит —

grep, tail, cat, cmp, cp, cut, date и многие другие (!). Ну и маке, естественно. Путь поиска да этого каталога прописывается при установке WinAVR, так что теперь можно пользоваться мощью консольных команд UNIX в любом текущем каталоге.

[Ссылки]

1. Download WinAVR site:sourceforge.net.
2. Download V-USB site:obdev.at.

WinAVR. Использование инструментов GNU #03. Управление компоновщиком avr-ld

Сохранить или поделиться

Некоторые опции компоновщика

Хотя это не платформозависимые опции для avr-ld, перечисленные стандартные опции могут быть интересны пользователям AVR.

-lимя
Указывает расположение статической библиотеки, названной libимя.a, и использует её для определения из неё неопределенных символов. Библиотека ищется по пути, который задан в списке стандартных каталогов, которые заданы во время компиляции (например, для Unix-систем это /usr/local/avr/lib), и который можно расширить списком каталогов, заданным опциями -L (которые должны предшествовать опциям -l в командной строке).
-Lпуть
Дополнительное место для поиска статических библиотек, запрашиваемых опциями -l.
—defsym symbol=expr
Определяет использование значения выражения expr вместо глобального символа symbol.
-M
Печать карты компоновки в стандартный выходной поток stdout.
-Map mapfile
Печать карты компоновки в файл распределения mapfile.
—cref
Вывод таблицы перекрёстных ссылок в файл распределения mapfile (в случае передачи опции -Map) или в stdout.
—section-start sectionname=org
Начинает секцию sectionname с абсолютного адреса org.
-Tbss org
-Tdata org
-Ttext org
Начинает секцию bss, data или org с адреса org.
-T scriptfile
Использует scriptfile как скрипт компоновщика, заменяя стандартный скрипт компоновщика. Стандартные скрипты компоновщика записаны в каталоге, зависящем от системы (например, /usr/local/avr/lib/ldscripts для Unix-систем), и состоят из имени архитектуры AVR (с avr2 по avr5) с добавленным суффиксом .x. Они описывают, как различные секции памяти должны быть связаны между собой.

Передача опций компоновщику из C-компилятора.

По умолчанию все неизвестные аргументы “не опции” в командной строке avr-gcc (то есть все аргументы “имена файлов”, у которых нет суффиксов, обрабатываемых компилятором avr-gcc) передаются напрямую компоновщику. Таким образом, все файлы, заканчивающиеся на .o (библиотеки объектных модулей), предоставляются компоновщику.

Системные библиотеки обычно не передаются их явными именами, лучше использовать опцию -l, которая использует сокращенную форму имени архива (смотрите на странице 1 данного раздела). avr-libc добавляет две системные библиотеки, libc.a и libm.a. Хотя стандартная библиотека libc.a всегда будет искаться для неопределенных ссылок, когда запускается компоновщик, используя препроцессор компилятора Си (то есть всегда есть по крайней мере одна неявная опция -lc), математическая библиотека libm.a нуждается в явном запросе, используя -lm. Смотрите также объясняющий это раздел FAQ.

Условно makefile’ы используют макрос сборки LDLIBS, чтобы следить за опциями -l (и возможно -L), которые должны быть добавлены в командную строку Си компилятора только при компоновке конечного двоичного кода. А макрос LDFLAGS используется, чтобы записать другие опции командной строки Си компилятора, которые должны быть переданы как опции во время этапа компоновки. Отличие этих опций, размещенных ранее в командной строке, в том, что библиотеки включаются в её конце, так как они должны быть использованы, чтобы определить глобальные символы до сих пор еще неопределенные на данный момент.

Специальные флаги компоновщика могут быть переданы из командной строки Си компилятора, используя опцию компилятора -Wl (смотрите страницу 1 раздела). Эта опция требует отсутствия пробелов в добавленных опциях компоновщика, хотя некоторые из приведённых выше опций компоновщика (подобных -Map или —defsym) нуждаются в пробелах. В этих ситуациях, пробел может быть заменен эквивалентным символом. Например, следующая командная строка может быть использована, чтобы скомпилировать foo.c в исполняемый файл и вывести карту компоновки, которая содержит список перекрестных ссылок, в файл foo.map:

$ avr-gcc -O -o foo.out -Wl,-Map=foo.map -Wl,—cref foo.c

В качестве альтернативы, запятая, как заполнитель, будет заменена пробелом перед передачей опции компоновщику. Так для устройств с внешней SRAM следующая командная строка заставит компоновщик разместить сегмент данных по адресу 0x2000 в SRAM:

$ avr-gcc -mmcu=atmega128 -o foo.out -Wl,-Tdata,0x802000

Смотрите описание секции данных для разъяснения, почему необходимо добавить 0x800000 к реальному значению. Заметьте, что стек всё еще остается во внутренней RAM, начиная с символа __stack, который обеспечивается исполняемым кодом инициализации. Это вероятно является хорошей идеей (так как доступ к внутренней RAM быстрее), и даже обязательно для некоторых ранних контроллеров, у которых были аппаратные ошибки, не допускающие использование ими стека во внешней RAM. Заметьте, что динамически распределяемая область памяти для malloc() всё ещё может быть выделена после всех переменных в секции данных, при этом конфликтов между стеком и динамически распределяемой памятью не произойдет.

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

-Wl,—defsym=__stack=0x8003ff

Пример выше генерирует код, использующий под стек пространство от RAM адреса 0x3ff и ниже. Размер доступного стекового пространства зависит от нижней границы внутренней RAM конкретного контроллера. Приложение должно гарантировать, что стек не выйдет за границы, а также так организовывать стек, чтобы не конфликтовать с размещением переменных, созданным компилятором (секции .data и .bss).

Перевод раздела Using the GNU tools из AVR Libc v.1.6.6

Теги

AVRavr-gccMCUWinAVRЛинкерМикроконтроллер

Сохранить или поделиться

Winavr как компилировать

Для пользователей замечательной среды моделирования электронных схем Proteus 8 не секрет, что одной из основных реально полезных новых функций по сравнению с 7ой версией стало то, что в 8ой появиласть возможность разработки программного обеспечения микроконтроллеров прямо в оболочке Протеуса. И это реально удобно и круто, оно реально работает! Я, являясь заядлым поклонником контроллеров семейства AVR заострю внимание именно на них и на проблеме, с которой на днях столкнулся и нигде на просторах интернета решение найти не смог, вот и решил отписать найденое мною, для общественности. Итак Протеус работает с внешними компиляторами, он знает их великое множество и вроде как может сам находить установленные, а то, что не установлено предлагает скачать и установить одним кликом почти.


Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам. ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Этапы компиляции на Си: предобработка, трансляция, компоновка

Proteus 8 и WinAVR


И всё будет работать? Возможно будет, возможно нет. Ведь я похожий вопрос здесь задал, по версиям Студио и по их компиляторам. Как видите, ответа нет. Для его создания есть мастер. В Студии, примерно тоже самое. То есть, для того чтобы скомпилировать проект, надо не только исходник. Если что-то работает не так, открываю AVR Studio 4.

С ейной помощью открываем из папки проекта файл с расширением. Теперь в Студии занимаемся отладкой проекта. Причем, изменения в исходнике делаем опять же в среде WinAVR, там же и компилируем. Потом Студия увидит, что в исходном файле произошли изменения, спросит ваше разрешение.

Можно проект создать и в Студии. Но, до 19 версии, в качестве компилятора она использовала компилятор, который входит в пакет WinAVR. Торрент трекер. Скачайте программы AVR Studio 6. Содержит встроенный компилятор С. Получится файл main. Чтобы можно было откомпилировать ПО хоста, скачаем компилятор gcc. Компилировать она не захотела, пишет: не видит файл с расширением. А компилятор, который входит в WinAVR она не признает.

Хотя проекты скомпилированные им, она к отладке принимает. Поэтому, однозначно ответить на Ваш вопрос, я не могу. Не компилируется, куча ошибок. Проанализировал внимательно код, ну да, конечно, в самом начале include. То есть скомпилировать, как я понимаю, можно будет только в Atmel Studio?

А я снёс её, потому как не нашёл кнопки, как запустить компилятор. В общем, не кидайте камнями, я первый раз занялся МК. Наверное, всё-таки проще всего было поставить Atmel Studio и не париться, но и тут засада. Шесть раз пытался скачать её с офф сайта, но ни разу она нормально не скачалась, почему — не понятно.

Каждый раз файл получался разной длины, хотя на разрыв соединения или ещё что-то в процессе закачки ругани не было. Не знаю в чём дело, у меня ADSL скорость небольшая 8 мБит , но качал и по 40 гигов игрушки, торрент нормально всё качает, а тут такая засада. Может кто даст ссылку на другой источник Atmel Studio, не обязательно последнюю, даже лучше на ту, которая пойдёт под WinXP? Кстати, когда ставил Atmel Studio из битых как потом оказалось архивов — понаставилось куча всякого хлама, кое что руками потом поудалял, но Microsoft Visual Studio Shell удаляться не желает.

Вообще фигня какая-то. В общем — help me! Вот это пробовали? Нет, не пробовал, спасибо за линк, сегодня попытаюсь качнуть и поставить. Довольно интересная тема, цены на сами чипы копеечные, масса публикаций.

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

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

Именно так. Или открывайте книжку, например Шпак Ю. И правьте синтаксис. Хотя книжка несколько устарела, иногда синтаксис не соответствует тому, что есть в библиотеках. А вот скрин экрана с Code Vision. Но, для начала, если у Вас не полный проект, а только файл исходника, надо создавать проект с помощью мастера. Для меня это единственное удобство, которое меня подвигло поставить сначала Code Vision. Но, потом я от него ушел, по разным причинам.

По этой среде книжка, например: Лебедев М. У меня указаные Вами кнопки неактивны. Вообще неактивных кнопок целая куча. А кнопка дебаггера, хоть и активна, но ругается, что не может найти его. Вообще весело. И, кстати, если я что нибудь неправильно укажу в проекте к примеру частоту процессора или коэффициент деления — это может сказаться каким либо образом на прошивке.

Я понимаю, что это пишется каким-то образом в служебные регистры, но частота это же вроде фьюзы, которые я знаю, как надо установить. Создавайте проект, как. Читайте Лебедева. При создании проекта у Вас появится пустой файл, куда надо вставить исходный текст. Открываем Code Vision. Файл- new — на вопрос что делать, указываем Project, потом выбираем порты и все остальное, короче надо читать, тут не опишешь всего.

Кстати, если у Вас впереди еще много времени, возможно надо начинать с STM Ибо что там дальше будет, неизвестно. Добавлено через 7 минут ы. В общем информации у Вас теперь много, можно запутаться. Поэтому я бы делал так. Довел бы свою плату до ума, для чего поставил бы Code Vision. Обновился я тут недавно до AVR Studio 4. Либо компилятся, но не отлаживаются. После недолгого выяснения и теребления народа из выяснилось, что WinAVR как самостоятельный проект ныне не существует, а полностью перешел под крыло Atmel и ныне зовется AVR Toolchain.

Ставить его нужно отдельно с, предварительно снеся старый WinAVR, поверх студии 4. Ставится он теперь в дебри папки студии. В целом ничего не изменилось, по крайней мере все старые проекты скомпилились без проблем. Ребята, как полет на 4. Там есть 2 пункта связанных с частотой. Первый Frequency MHz это я так понял для симуляции внешнего источника тактового сигнала. Галочку с него надо снять, чтобы частота не делилась на 8. Вообщем я уже что там только не менял.

Частота как была 1 МГц так и остается. На ноуте у меня стоит AVR Studio 4. Там все меняется. Не пойму то ли это проблема компа, что я думаю врятли, то ли AVR Studio. Какие есть идеи, чтобы побороть эту проблему? Скажите пожалуйста, это косяк: студия не эмулирует 4-х разрядный счётчик интерфейса USI в ATtiny в других МК не пробовал , когда устанавливаешь бит usiclk программное управление — счётчик в регистре usisr стоит как вкопанный.

Ни кто с такой проблемой не сталкивался? А сбрасывается упорно по OCR1A, получается режимы 8,10,12,14 не соответствуют даташиту. Получается косяк в даташите, а эмуляция в студии и в МК оказалось одинаково!!! Может кто сталкивался с этим? December RSS Feed. Теперь она заимела свой компилятор. Попробовал создать проект прямо в Студии. А потом от него я бы ушел на AVR Studio.

Ещё одна среда программирования микроконтроллеров AVR.


Atmel Studio 6. Создание HEX-файла

Вернуться в Микроконтроллеры — Программы для ПК. Сейчас этот форум просматривают: Google [Bot] и гости: 0. Сотворим вместе. Загрузка и установка WinAVR; 2. Загрузка файла «Makefile»; 3.

То есть, для того чтобы скомпилировать проект, надо не только исходник. Сейчас я поступаю так: создаю проект в WinAVR

WinAvr — создание первого проекта

Специально для любознательного парня, который задал вопрос в комментариях. Запускаем AVR Studio:. Выбираем «New Project»:. Выбираем язык написания программы:. Заполняем поле «Project Name» и жмем «Finish»:. Меняем настройки проекта под наши нужды: Выбираем микроконтроллер для которого планируем писать программу по умолчанию стоит ATmega :. Пишем программу в пустом окошке:. Жмем кнопку «Build»:.

Цель — как получить *.hex файл, делаем проект в первый раз

Синтаксис языка C. Библиотека языка C GNU glibc. Главная страница. Инструкция пользователя.

В качестве платформы для разработки конструкций на микроконтроллерах я использую пакет программ WinAVR. Почему выбор пал именно на него?

Основы работы в WinAVR

Написав программу вы не сможете просто так загрузить её в микроконтроллер, для этого надо её откомпилировать. Для компиляции я использую WinAVR и с радостью научу вас им пользоваться! Для начала нужно создать файл MakeFile , он задаёт сценарий программе. У нас вылезет вот такое окошко:. Затем нажимаем то, что показано на картинке и выбираем имя файла с прошивкой.

MAKEFILE И КОМПИЛЯЦИЯ ПРОГРАММЫ

Запросить склады. Перейти к новому. Меню пользователя avrnm-ru Посмотреть профиль Отправить личное сообщение для avrnm-ru Посетить домашнюю страницу avrnm-ru Найти ещё сообщения от avrnm-ru. Пробовал компилировать из Vmlab, выдает сообщение: — Прилагается рисунок: C протеусом 6. Меню пользователя dosikus Посмотреть профиль Отправить личное сообщение для dosikus Найти ещё сообщения от dosikus. Обсуждение сайта и форума. RU — Архив — Вверх.

То есть, для того чтобы скомпилировать проект, надо не только исходник. Сейчас я поступаю так: создаю проект в WinAVR

roboforum.ru

И всё будет работать? Возможно будет, возможно нет. Ведь я похожий вопрос здесь задал, по версиям Студио и по их компиляторам. Как видите, ответа нет.

Очистить cookie Помощь. Форум Компьютеры, телекоммуникации, ПО Программирование Компиляция AVR. Творить добро легко! Спасение жизни детей! Окажи помощь Ветерану!

Следуя пожеланиям читателей, мы будем вести разработку проектов в более современной и удобной программе: Atmel Studio 6. У нее есть один существенный недостаток, который не позволяет воспользоваться этой программой на относительно слабых машинах.

Войдите , пожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Войти Регистрация. Программируем Arduino на чистом Си C Из песочницы В жизни ардуинщика рано или поздно наступает момент, когда в штатной среде разработки становится тесно. Если скетчам перестает хватать памяти, требуется жесткий реалтайм и работа с прерываниями или просто хочется быть ближе к железу — значит пришло время переходить на C.

Пожалуйста, сообщите об этом — просто выделите ошибочное слово или фразу и нажмите Shift Enter. Подсказка по командной строке компилятора высвечивается командой: avr-gcc —help. Нужно удалить старые пути запуска из переменной окружения Path.


Компиляция программы в WinAvr в картинках! — Роботы и программирование — Каталог статей

Написав программу вы не
сможете просто так загрузить её в микроконтроллер, для этого надо её
откомпилировать. Для компиляции я использую WinAVR и с радостью
научу вас им пользоваться!

Для начала нужно создать
файл MakeFile, он задаёт сценарий программе. Для этого запускаем
программу, входящую в состав WinAVR, MFile.

У нас вылезет вот такое
окошко:

Затем нажимаем то, что
показано на картинке и выбираем имя файла с прошивкой. Я выбрал просто одну
латинскую букву «A» и вам советую т. К. в
дальнейшем будем использовать именно это имя!

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


Затем делаем следующее:

Затем спускаемся немножко
ниже и выбираем программатор, которым вы будете прошивать микроконтроллер (если
вы используете программатор ”пять проводков” то следует указать «stk200”).

Затем выбираем порт,
который использует программатор (stk200 использует
порт ltp)

Закончив создание makeFile его
нужно сохранить, весь проект должен находиться в одной папке и на одном жестком
диске с компилятором.

Теперь закрываем программу
и открываем утилиту Programmers Notepad

Вставляем в окошечко
посередине свою программу (я вставил программу из статьи «первый проект на
микроконтроллере”) и выберем из списка язык программы, в нашем случае C/C++

Потом сохраняем программу
в папку с созданным ранее файлом makeFile в
расширении *.c и с именем, указанном в makeFile как
показано на рисунке:



Затем финишная прямая!
Начинаем компилировать программу:

Если всё прошло  правильно то вы увидите вот это:

А в папке с проектом
появятся следующие файлы:

Самым главным из них будет являться .hex файл, его и следует загружать в микроконтроллер, но для WinAvr также важен файл MakeFile, он как я ранее говорил служит сценарием для программы не только при компиляции, но и при прошивке!

Удачи!

Все вопросы на Форум
Скачать: WinAvr

Скачать WinAVR для Windows 10, 7, 8/8.1 (64-битная/32-битная версия)

WinAVR — набор бесплатных утилит для программирования микроконтроллеров AVR. Он включает в себя все инструменты, необходимые разработчику, наиболее важным из которых является компилятор GNU GCC, поддерживающий языки C+, C и Objective-C. Кроме того, есть отладчик GNU с поддержкой командной строки, отладчик с графической оболочкой и удобный текстовый редактор с подсветкой синтаксиса. Уже этих инструментов хватило бы для обеспечения полного цикла разработки, но создатели WinAVR пошли гораздо дальше.

В составе пакета вы найдете полноценный инструмент для имитации поведения микроконтроллеров — Simulav, снабженный «фирменным» отладчиком. Чрезвычайно полезное приложение, помогающее прогнозировать поведение оборудования после внесения изменений в его код. Также имеется утилита для программирования микросхем с SPI-интерфейсом, а также огромная библиотека со спецификациями и другой справочной информацией по различным моделям микроконтроллеров AVR. Все инструменты снабжены подробной документацией.Помимо разработки и отладки программного обеспечения для контроллеров AVR, программа также помогает редактировать загрузочные файлы EPROM в различных форматах. Все необходимое для этого находится в папке SRecord.

Подводя итог, можно сказать, что WinAVR — уникальная программа, поддерживающая тесную интеграцию с пакетом Atmel Studio. В отличие от последнего, этот набор распространяется под лицензией GPL. То есть любой разработчик может вносить изменения в программу по своему желанию.

— компилятор GNU GCC, поддерживающий языки C+ C и Objective-C;

— встроенный редактор кода с функциями подсветки синтаксиса;

— несколько отладчиков, в том числе с поддержкой командной строки;

— библиотека с информацией обо всех моделях микроконтроллеров AVR;

— встроенный симулятор микроконтроллера;

— подробная документация на каждый инструмент;

— утилиты для работы с загрузочными файлами EPROM;

— интеграция с Atmel Studio.

Список файлов загрузки — WinAVR

-install.exe 1 -INSTALL.exe 13
WinAVR-20100110-install.exe 28,2 МБ 21.01.2010 03:51 20576
WinAVR-200 22,1 МБ 2009-03-14 13:40 1749
WinAVR-200rc1-установить.EXE 20,2 МБ 07.03.2009 15:24 360
WinAVR-20081205-install.exe 20,1 МБ 2008-12-07 07:18 781
WinAVR-20081124rc3-install.exe 20,1 МБ 2008-11-26 02:58 370

Все файлы

WinAVR
20100110
WinAVR-20100110-установить.exe 28.2 MB 2010-01-21 03:51 20576
Winavr-200 22.1 MB 2009-03-14 13 : 40 1749
2
20.1 MB 2008-12-07 07:18 781
3
WinAVR-20080610-установить.exe 22.9 MB 2009-06-12 09:10 457
4
4
Winavr-20080512-INSTALL.exe 22.9 MB 2008-05-13 08 : 28 145 145
5
22.9 MB 22.9 MB 2008-05-01 07:11 60
6
WinAVR-20071221-установить.EXE 24,4 МБ 2007-12-214 14:59 480
7 70033
Winavr-20070525-Install.exe 18.0 MB 2007-05-26 03 : 54 402 402
8
Winavr-20070122-Install.exe 23,4 MB 23.4 MB 2007-01-24 08:48 159
9
WinAVR-20060421-установить.exe 23,3 МБ 2006-05-13 07:04 1322
10
Winavr-20060125-Install.exe 24.1 MB 2006-01-27 09 : 05 166 166
11
13.7 MB 13.7 MB 2005-02-16 03:05 246
12
WinAVR-20040720-установить.exe 12,9 МБ 2004-07-20 10:40 427
13
Winavr-200404-B-Bin-Install.exe 11.6 MB 2004-04-04-04 03 09:00 99 99
14
Winavr-20030913-Src-install.exe 429,2 Kb 429.2 KB 2003-09-13 08:35 45
15
WinAVR-20030913-bin-установить.exe 18,5 МБ 2003-09-13 08:34 184
16 16
Winavr-20030424-Bin-Install.exe 12.1 MB 2003-04- 25 07:57 31 31
17
Winavr-20030424-SRC-Install.exe 12.0 MB 2003-04-25 07:54 26
18
WinAVR-20030312-src-install.EXE 12.0 MB 2003-03-13 05:35 24
19
Winavr-20030312-Bin-Install.exe 12,9 МБ 2003-03- 13 05:32 18 18
20
Winavr-20030115-Src-install.exe 21.1 MB 21.1 MB 2003-01-16 03:53 19
21
Winavr-20030115-bin-установить.exe 10,0 МБ 2003-01-16 03:45 24
22
Winavr-20021209-SRC-INSTANT.EXE 21,2 МБ 2002-12- 11 05:58 24 24
23
Winavr-20021209-Bin-Install.exe 8,8 MB 2002-12-11 05:55 45
24
Winavr-20021111-src-install.EXE 21.1 MB 2002-12-03 03:05 28
25
Winavr-20021111-Bin-Install.exe 11,5 МБ 2002-12- 03 03:00 49
200RC1
Winavr-200RC1-INTERAL.EXE 20.2 MB 2009-03-07 15:24 360
20081124rc3
WinAVR-20081124rc3-установить.exe 20.1 МБ 2008-11-26 02:58 370
20081118RC2
Winavr-20081118RC2-INTALL.EXE 20.1 MB 2008-11-19 04 : 03 900
OldFiles
Winavr-20081114RC1-INSTALL.EXE 20.1 MB 2008-11-16 03:26 16
Winavr-20070610 .exe 22.9 МБ 2008-06-11 06:15 15
Winavr-20080411-Install.exe 22.9 MB 2008-04-13 04:26 32
Winavr- 20080407-install.exe 22,8 МБ 2009-04-08 13:12 17
Winavr-20080402-Install.exe 22,8 MB 2008-04-05 07:21 22
WinAVR-20080402rc1-install.exe 22.8 МБ 2008-03-27 22:58 22:58 13
Winavr-20071221RC1-install.exe 22.8 MB 22.8 MB 2007-12-18 06:15 43
Winavr- 20070525RC2-install.exe 18.0 MB 2007-05-16 13:34 14
Winavr-20070101-Install.exe 22,3 MB 2007-01-02 14:53 24
WinAVR-20060119-install.exe 24.8 МБ 2006-01-20 2006-01-20 09:11 44
Winavr-avrcoffbeta-install.exe 1.6 MB 2003-05-20 23:29 23
SRecord- 1_12-SRC-install.exe 299.1 KB 2003-01-31 02:26 14
SRecord-1_12-Bin-Install.exe 355.7 Kb 2003-01-31 02:26 15
Srecord-1.12-src-install.exe 299.1 КБ 2003-01-30 08:48 40 40
SRecord-1.12-Bin-Install.exe 355.7 KB 2003-01-30 08:47 15

Микроконтроллер — среда программирования WinAVR Install

Микроконтроллер — Руководство для начинающих — Установка среды программирования и Немного о нем — WIinAVR

Чтобы заставить микроконтроллер делать что-то полезное, мы должны написать инструкции чтобы оно последовало.Хотя мы можем написать эти инструкции с помощью простого текстового редактора, многим людям гораздо проще использовать специальную «среду программирования» для писать свои программы. Видео в этом руководстве проведет вас через каждый необходимый шаг установить на компьютер одну такую ​​среду программирования (WinAVR). я называю это среда программирования, потому что программа, которую вы установите, имеет множество функций. Эта конкретная среда программирования позволяет вам создавать и редактировать программы в различных языках (мы остановимся на C), а затем скомпилируем программу в исполняемый файл формат, понятный микроконтроллеру.Наконец, WinAVR поможет нам перенести этот файл в микроконтроллер. WinAVR также поможет нам сделать многое другое, как отладка наших программ и предоставление предупреждений, когда есть компиляция и синтаксис ошибки. Мы подробно рассмотрим их в следующих уроках.

Процесс установки WinAVR очень быстрый и лаконичный. Вот подробные шагов:

  • Загрузите последние файлы с Расположение исходных файлов WinAVR. официальный сайт имеет некоторую информацию, касающуюся программы, если вы склонен исследовать его дальше.
  • Нажмите на последнюю версию.
  • Вам нужно будет ответить на контрольный вопрос о том, хотите ли вы сохранить загружать или нет, так как вы будете загружать исполняемый файл.
  • После загрузки запустите файл, щелкнув по нему.Процесс установки начнет.
  • В процессе установки будет использоваться обычная информация мастера установки Windows, и некоторые вопросы, предложенные, чтобы помочь вам адаптировать процесс. Большинство из них могут просто оставить значение по умолчанию, но выберите, как считаете нужным.

Ну вот и все, что касается установки. Не сильно отличается от установки для большинства программ Windows.Но вы, вероятно, заметите множество опций в папка стартового меню для среды программирования WinAVR. Не бойтесь, вы, как правило, используйте только одну из этих программ под названием «Блокнот программиста». Нажав на это icon запустит пользовательский интерфейс для приложения, которое позволит нам написать наш программы (создание и редактирование). Программа также содержит команды меню, которые помогите нам скомпилировать код и затем перенести его в микроконтроллер.

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

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

Руководство пользователя WinAVR

— 20100110 : 네이버 블로그

В этом разделе содержится различная информация и примечания по установке WinAVR.

2.1 Манифест
  1. AVR GNU Binutils 2.19

    Бинарные утилиты для цели AVR (включая ассемблер, компоновщик и т.д.).

  2. Коллекция компиляторов AVR GNU (GCC) 4.3.3

    Компилятор языка C и языка C++ для цели AVR. Есть предостережения по использованию компилятора C++. Смотрите установленную avr-libc Руководство пользователя в каталоге \doc.

  3. avr-libc 1.6.7cvs

    Стандартная библиотека C для AVR.

  4. АВРДУДЕ 5.8cvs

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

  5. Отладчик AVR GNU (GDB) / Insight 6.8

    GDB — отладчик командной строки. Insight — это GDB с графическим интерфейсом!

  6. АВАРИС 2.9

    avarice — программа для сопряжения Atmel JTAG ICE с GDB и пользователями. может отладить их AVR. Используйте его вместе с GDB.

  7. СимулАВР 0.9cvs

    simulavr используется вместе с GDB для моделирования AVR.

  8. AVR32 GNU Binutils 2.19

  9. Сборник компиляторов AVR32 GNU (GCC) 4.3.2

  10. Newlib (для AVR32) 1.16.0

  11. Отладчик AVR32 GNU (GDB) / Insight 6.7.1

  12. Шина 3.1.2

  13. S-запись 1.47

    SRecord — это набор мощных инструментов для управления загрузочными файлами EPROM.Он читает и записывает множество форматов файлов EPROM и может выполнять множество операций. различные манипуляции.

  14. MФайл

    Автоматический генератор make-файлов для AVR GCC.

  15. Блокнот программиста 2.0.8.718

    Редактор программирования и IDE. Этот редактор включает редактор Scintilla компонент.

  16. LibUSB 0.1.12.1 и драйверы устройств

    Это USB-библиотека, связанная с AVRDUDE и AVARICE, чтобы позволить им для подключения к Atmel JTAG ICE mkII и Atmel AVRISP mkII.Драйверы для этих устройств также включены.

  17. библиотеки DLL Cygwin

    Определенные библиотеки DLL из проекта Cygwin требуются для конкретных включенных пакеты. См. раздел «Примечания к сборке», чтобы узнать, какие пакеты требуют какой DLL.

    ПРИМЕЧАНИЕ. Не для всех исполняемых файлов требуются эти библиотеки Cygwin.

  18. Многие собственные программы и утилиты GNU для Win32, включая make и bash.

  19. Тофродос 1.6

    Преобразователь конца строки текстового файла командной строки.

  20. Шаблон Makefile для использования в ваших проектах.

  21. Документация для различных проектов.

  22. Патчи исходного кода, используемые для сборки различных проектов.

2.2 Макет

Ниже перечислены некоторые каталоги, о которых вы, возможно, захотите узнать.

= Каталог, в который вы установили WinAVR.

<установить>\bin

Программы разработки программного обеспечения AVR.Этот каталог должен быть в вашей переменной окружения PATH. В том числе:

  • GNU Binutils

  • ГЦК

  • аврдуде

  • Отладчик GNU (GDB)

  • Проницательность

  • АВАРИС

  • СимулАВР

  • S-запись

  • Различные требуемые библиотеки DLL

<установить>\utils\bin

Набор программ Unix, созданных для платформы Windows.Здесь находятся программы make и sh (bash). Этот каталог должен быть в вашей переменной окружения PATH.

<установить>\avr\lib

библиотеки avr-libc, файлы запуска, скрипты компоновщика и прочее.

<установить>\avr\include

заголовочные файлы avr-libc. Отсюда, например, #include .

<установить>\avr\include\avr

файлы заголовков avr-libc, специфичные для микропроцессора AVR.Отсюда, например, #include .

<установить>\lib

библиотеки GCC, другие библиотеки, заголовки и прочее.

<установить>\libexec

Программные компоненты GCC

<установить>\doc

Различная документация. Прежде чем спрашивать, RTFM! 🙂

<установить>\doc\avr-libc\examples

Примеры проектов с исходным кодом. Повеселись!

<установить>\образец

Пример make-файла (см. ниже).Пакетные файлы для использования при компиляции из AVR Studio 3.x (см. ниже).

<установить>\pn

Блокнот программиста

<установить>\mfile

MФайл

<установка>\источник

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

<установить>\utils\bin

Служебные программы, в основном из Unix-страны, которые используются при создании программного обеспечения, такого как оболочка (sh.exe), make.exe и другие программы, вызываемые из файла Makefile.

<установить>\utils\libusb\bin

Программы и драйверы LibUSB.

2.3 Переменная окружения PATH

В WinAVR есть две директории, содержащие исполняемые программы. Если является вашим каталогом установки, то эти два каталога:

<установить>\bin
<установить>\utils\bin

Каталог \bin содержит собственно набор инструментов для разработки программного обеспечения.Сюда входят GNU binutils, GCC и другие программы.

\utils\bin содержит множество различных программ Unix или GNU, созданных для Windows. Это включает в себя sh (bash) и make среди множества других вещей.

Чтобы ваша операционная система могла легко найти эти каталоги, они должны быть помещены в начало переменной среды PATH. WinAVR может сделать это автоматически при установке, если вы выбрали эту опцию. Причина помещения этих каталогов в начало переменной окружения PATH состоит в том, чтобы вызвать правильную программу make.Были сообщения от пользователей, у которых были установлены инструменты Borland и программа Borland make запускается, а не GNU make запускается правильно.

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

Если вы не хотите использовать утилиты, поставляемые с WinAVR, удалите каталог \utils\bin из переменной окружения PATH.

Для пользователей Windows 95 и 98 см. файл autoexec.bat в корневом диске, где установлена ​​ваша ОС. Обычно это C:\.

Для всех остальных пользователей Windows программа установки WinAVR изменяет этот раздел реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path

Важно

В Windows NT/2K/XP у вас должны быть права администратора, чтобы программа установки автоматически помещала эти каталоги в вашу переменную среды PATH.
2.4 ключа реестра

WinAVR устанавливает минимальное количество ключей реестра. Эти ключи устанавливаются для информирования о пути установки, программе удаления и для того, чтобы GCC мог найти другие части компилятора по мере необходимости. Ниже приведены конкретные ключи, которые установлены.

  • Место установки:: Этот раздел реестра будет добавлен, чтобы указать местоположение установки WinAVR:

    `HKEY_LOCAL_MACHINE\ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\WinAVR\{ВЕРСИЯ}`

    с заменой {VERSION} номером версии WinAVR.Раньше, указанный выше ключ без {VERSION} совпадал с местом установки.

  • Пути к компонентам GCC:: Есть несколько установленных ключей, которые используются, чтобы помочь GCC найти установленные программы-компоненты:

    `HKEY_LOCAL_MACHINE\Software\Free Software Foundation\WinAVR-{VERSION}\GCC`

    `HKEY_LOCAL_MACHINE\Software\Free Software Foundation\WinAVR-{VERSION}\BINUTILS`

    `HKEY_LOCAL_MACHINE\Software\Free Software Foundation\WinAVR-{VERSION}\G++`

    с заменой {VERSION} номером версии WinAVR.Каждый из этих ключей указывает на место установки WinAVR для этой версии. из ВинАВР.

  • PATH Переменная среды:: Раздел реестра:

    `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path`

    можно изменить (если выбрано во время установки), чтобы добавить два каталога в Переменная окружения PATH.

  • Uninstaller:: Есть несколько ключей реестра, записанных под:

    `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\WinAVR-{ВЕРСИЯ}`

    с заменой {VERSION} номером версии WinAVR.Эти разделы реестра используются для регистрации программы удаления в Windows.

2.5 LibUSB-Win32

LibUSB-Win32 — это библиотека USB, которая связана с AVRDUDE и AVaRICE, чтобы позволить им подключаться к Atmel JTAG ICE mkII и Atmel AVRISP mkII. Драйверы для этих устройств также включены. LibUSB установлен под:

<установить>\utils\libusb\bin

Драйверы для JTAG ICE mkII и AVRISP mkII также находятся в указанном выше каталоге.

Чтобы установить драйверы LibUSB-Win32 (если не установлена ​​AVR Studio): — Подключите устройство Atmel (JTAG ICE mkII или AVRISP mkII). — Когда Windows попросит найти драйверы для этого устройства, выберите «Установить из списка или из определенного места». Нажмите «Далее. — Снимите флажок «Поиск съемных носителей». — Установите флажок «Включить это расположение в поиск» и выберите расположение драйверов в указанном выше каталоге. Нажмите «Далее. После этого драйвер будет установлен.

AVR Studio может устанавливать и использовать драйверы USB от Jungo (которые входят в состав установки AVR Studio).Однако драйверы Jungo и драйверы LibUSB-Win32 являются взаимоисключающими; если один набор установлен, другой набор работать не будет.

Вы можете удалить драйвер, подключив устройство (и убедившись, что оно включено), используйте Диспетчер устройств, чтобы найти и выбрать устройство (под Jungo или LibUSB-Win32, в зависимости от того, какой драйвер установлен), щелкните правой кнопкой мыши и выберите «Удалить». Затем установите другой драйвер в соответствии с правильными процедурами.

LibUSB также имеет доступный «фильтрующий» драйвер, однако его использование не рекомендуется автором LibUSB.

WinAVR — это набор исполняемых инструментов разработки программного обеспечения для процессора Atmel AVR, размещенного в Windows.

Эти средства разработки программного обеспечения включают:

3.1 Набор инструментов и открытый исходный код

Каждый из инструментов, включенных в WinAVR, является открытым исходным кодом и/или бесплатным программным обеспечением. Каждый инструмент имеет свой собственный проект, обычно размещенный на SourceForge или Savannah, со своими собственными сопровождающими проекта и разработчиками, которые добровольно посвящают свое время и энергию созданию этих инструментов. Посмотрите в разделе «Ссылки» ниже, чтобы узнать веб-сайты каждого из этих проектов.

Особо отметим, что многие из этих программ созданы для платформ Unix и Linux. Эти программы были перенесены на платформу Windows, но обычно работают в Unix-подобной среде. Если вы не привыкли к Unix-подобной среде, это может вас разочаровать. Читайте как можно больше документации. Посмотрите на примеры. Искать в Интернете. В этом руководстве также имеется множество ссылок.

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

3.2 Компилятор

Компилятором в WinAVR является коллекция компиляторов GNU или GCC. Этот компилятор невероятно гибкий и может размещаться на многих платформах, он может быть ориентирован на множество разных процессоров/операционных систем (внутренние компоненты) и может быть настроен для нескольких разных языков (интерфейсные интерфейсы).

GCC, включенный в WinAVR, предназначен для процессора AVR, создан для работы на платформе Windows и сконфигурирован для компиляции C или C++.

Предостережение

Существуют предостережения по использованию C++. См. FAQ по avr-libc.

Поскольку этот GCC предназначен для AVR, основной создаваемый исполняемый файл имеет префикс целевого имени: avr-gcc.exe. Его также называют AVR GCC.

avr-gcc — это всего лишь программа-драйвер. Сам компилятор называется cc1.exe для C или cc1plus.exe для C++. Кроме того, перед препроцессором cpp.exe обычно автоматически добавляется целевое имя: avr-cpp.EXE. Фактический набор вызываемых программ-компонентов обычно получается из суффикса каждого обрабатываемого файла исходного кода.

GCC компилирует компьютерный язык высокого уровня в ассемблер, вот и все. Он не может работать один. GCC связан с другим проектом, GNU Binutils, который предоставляет ассемблер, компоновщик, библиотекарь и многое другое. Поскольку GCC — это всего лишь программа-драйвер, она может автоматически вызывать ассемблер и компоновщик напрямую для сборки конечной программы.

3.3 Ассемблер, компоновщик, библиотекарь и многое другое

GNU Binutils — это набор бинарных утилит.Это также включает ассемблер, as. Иногда вы увидите, что на него ссылаются как на GNU, так и на газ. Binutils включает компоновщик ld; библиотекарь или архивариус, ар. Есть много других программ, которые предоставляют различные функции.

Обратите внимание, что, хотя ассемблер использует ту же мнемонику, что и предложенная Atmel, «клей» (псевдооперации, операторы, синтаксис выражений) получен из общего синтаксиса ассемблера, используемого в ассемблере Unix, поэтому он не совместим напрямую с ассемблером Atmel. исходные файлы.

Binutils настроен для цели AVR, и каждая из программ имеет префикс имени цели. Итак, у вас есть такие программы, как:

авр-ас

Сборщик.

авр-лд

Линкер.

авр-ар

Создавать, изменять и извлекать из архивов (библиотек).

авр-ранлиб

Создать индекс для содержимого архива (библиотеки).

avr-objcopy

Скопируйте и переведите объектные файлы.

avr-objdump

Отображение информации из объектных файлов, включая дизассемблирование.

AVR-размер

Список размеров секций и общий размер.

авр-нм

Список символов из объектных файлов.

avr-строки

Список печатных строк из файлов.

авр-полоса

Сбросить символы.

avr-readelf

Показать содержимое файлов формата ELF.

avr-addr2line

Преобразование адресов в файловые и строковые.

avr-c++фильтр

Фильтр для разбора закодированных символов C++.

См. руководство пользователя binutils для получения дополнительной информации о том, что может делать каждая программа.

3.4 Библиотека C

avr-libc — это стандартная библиотека C для AVR GCC. Он содержит множество стандартных подпрограмм C и множество нестандартных подпрограмм, специфичных и полезных для процессора AVR.

Примечание

Фактическая библиотека в настоящее время разделена на две основные части, libc.a и libm.a, где последняя содержит математические функции (все, что упомянуто в и немного больше). Таким образом, рекомендуется всегда включать параметр компоновщика -lm. Шаблон WinAVR Makefile автоматически включает параметр компоновщика -lm. Кроме того, существуют дополнительные библиотеки, которые позволяют настраивать семейства функций printf и scanf.

avr-libc также содержит большую часть документации по использованию (и сборке) всего набора инструментов, включая примеры кода. Руководство пользователя avr-libc также содержит FAQ по использованию набора инструментов.

3.5 Создание вашего программного обеспечения

Есть одна программа, которая объединяет все это.Это программа GNU make. Программа make читает и интерпретирует make-файл. Makefile — это текстовый файл, который вы пишете, который перечисляет и контролирует, как что-то делается. Чаще всего он используется для управления процессом создания программного обеспечения.

Каждая из этих программ является инструментом интерфейса командной строки (CLI). Они управляются параметрами или переключателями, которые добавляются в командную строку. Или, в случае с make, текстовыми файлами, которые записываются и используются в качестве входных данных.

Большинство коммерческих наборов инструментов для разработки программного обеспечения имеют интегрированную среду разработки (IDE).Он состоит из графического пользовательского интерфейса (GUI), который содержит редактор программирования и графические интерфейсы для компилятора, ассемблера, компоновщика, стандартной библиотеки C и библиотечных программ. Эти внешние интерфейсы состоят из диалоговых окон, которые позволяют вам устанавливать параметры сборки и способ создания списка файлов, которые находятся в «проекте». Эти графические интерфейсы скрывают и инкапсулируют настоящий компилятор командной строки, ассемблер, компоновщик и стандартную библиотеку, лежащие в основе любого набора инструментов для разработки программного обеспечения.

WinAVR — это набор инструментов разработки программного обеспечения с открытым исходным кодом из различных проектов. WinAVR пока не имеет полноценной графической среды разработки, подобной коммерческому набору инструментов. Из-за этого обучение сборке программного обеспечения в GCC означает, что лучше всего научиться использовать программу make и научиться писать make-файлы. Изучите общие флаги, которые используются для управления GCC, который, в свою очередь, может управлять газом и ld. Вы можете многому научиться, взглянув на шаблон Makefile, поставляемый с WinAVR, и просмотрев все программы и флаги в прилагаемых руководствах пользователя.

3.6 Программирование

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

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

3.7 Отладка

Отладка включает в себя как моделирование, так и эмуляцию. Оба доступны в WinAVR.

Отладчик GNU (GDB) — это основной пакет, который можно использовать для общей отладки. GDB — это только программа командной строки. Insight — это GDB плюс графический интерфейс, написанный на Tcl/Tk. И GDB, и Insight настроены для AVR, а основные исполняемые файлы имеют префикс имени цели: avr-gdb и avr-insight. Теперь для GDB также есть графический интерфейс в текстовом режиме: avr-gdbtui.

Для эмуляции JTAG ICE, GDB/Insight требуется «вспомогательная» программа под названием avarice, которая также включена.

Для моделирования GDB/Insight требуется другая «вспомогательная» программа, называемая simulavr, которая также включена.

Существуют также альтернативы для симуляции. Atmel предлагает бесплатный пакет под названием AVR Studio, который также может выполнять моделирование. Последняя версия AVR Studio — 4.13. Обратите внимание, что AVR Studio в настоящее время является общедоступной, но не с открытым исходным кодом.

Подробную информацию об отладке см. в разделе 5.0 Отладка, имитация и эмуляция.

4.1 Где GUI/IDE?

Вы не найдете типичный графический интерфейс пользователя или интегрированную среду разработки, к которым вы могли бы привыкнуть с другими коммерческими кросс-компиляторами или к родным компиляторам в Windows. Каждый инструмент в WinAVR взят из собственного проекта. В этом случае редактор или IDE — это просто еще один компонент в наборе инструментов. И у каждого есть свой фаворит, который они хотят использовать. WinAVR обеспечивает гибкость.

WinAVR поставляется с редактором / IDE под названием Programmers Notepad. Это редактор с открытым исходным кодом с некоторыми возможностями IDE.Поскольку компилятор и связанные с ним утилиты управляются из командной строки, вы можете использовать любой редактор или IDE, которые хотите, при условии, что он может вызывать программы командной строки. См. ниже дополнительную информацию о блокноте программиста.

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

4.2 Блокнот программиста

Programmers Notepad (PN) — это редактор с открытым исходным кодом и некоторыми функциями IDE.Версия 2.x полностью переписана с версии 1. Многие новые функции все еще добавляются.

PN содержит компонент редактора Scintilla с открытым исходным кодом в качестве основы для своего редактора.

PN может вызвать любой инструмент командной строки и зафиксировать его вывод. Это идеально подходит для вызова утилиты make, которая выполняет ваш make-файл, который, в свою очередь, вызывает компилятор, компоновщик и другие утилиты, используемые для сборки вашего программного обеспечения. Затем PN захватит вывод и отобразит его в окне. Вы также можете нажать на любое предупреждение или ошибку GCC, и PN автоматически откроет файл и перейдет к строке, где произошло предупреждение или ошибка.

Чтобы настроить инструменты, перейдите в меню «Инструменты» вверху, выберите «Параметры», затем выберите «Инструменты» в меню слева. Лучшая схема для добавления инструментов находится в разделе «(Нет — глобальные инструменты)». После того, как вы добавите свой инструмент, он появится в главном меню в разделе «Инструменты».

4.3 Make, файлы Makefile и шаблон файла Makefile

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

При настройке проекта добавьте make-файл, чтобы управлять сборкой программного обеспечения. Когда вы используете Блокнот программиста или другую IDE, настройте его на вызов make и выполнение make-файла вашего проекта.

В WinAVR включены три шаблона Makefile, которые предоставляют множество функций, уже написанных для вас. Существует стандартный шаблон Makefile (Makefile), который всегда входил в состав WinAVR. И есть два новых шаблона Makefile, один для создания библиотеки вместо приложения (Makefile.lib) и еще один шаблон Makefile, позволяющий оптимизировать всю программу (Makefile.wpo). Вы можете скопировать любой из этих шаблонов в каталог вашего проекта и легко изменить его в соответствии с вашим проектом. Эти шаблоны Makefile можно найти в каталоге \sample. Скопируйте любой из этих шаблонов и переименуйте их в Makefile.

WinAVR также включает утилиту MFile. MFile — это автоматический генератор make-файлов для AVR GCC, написанный на Tcl/Tk и работающий на различных платформах, включая Windows, FreeBSD, Linux и т. д.Вы можете использовать эту утилиту, чтобы помочь вам быстро создать make-файл для вашего проекта на основе простого ввода меню. MFile для платформы Windows использует шаблон Makefile WinAVR для своего шаблона.

Примечание

НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ ВАМ ОЗНАКОМИТЬСЯ С ПРОГРАММОЙ MAKE И НАПИСАТЬ MAKEFILES! ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ MAKE!

Для получения дополнительной информации о программе make и написании make-файлов см. прилагаемое руководство пользователя make или см. приведенные ниже ссылки на онлайн-руководства GNU.

Примечание

Термин «отладка» является общим термином и может означать либо моделирование, либо эмуляцию ниже.

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

Существуют приложения с открытым исходным кодом, которые можно использовать для имитации и эмуляции, и они входят в состав WinAVR. Используйте GDB или Insight с серверной частью simulavr для моделирования или с серверной частью avarice для эмуляции с помощью Atmel JTAG ICE.

Существует бесплатное приложение от Atmel, которое можно использовать для имитации или эмуляции: AVR Studio. Последняя версия на момент написания этой статьи — 4.11. AVR Studio можно загрузить с веб-сайта Atmel.

Существует также ряд коммерческих симуляторов, таких как VMLab или Proteus VSM.

В целом отладка зависит от:

  1. Приложение, используемое для отладки.

  2. Используемый формат файла.

  3. Тип отладочной информации, генерируемой в объектном коде.

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

Эта версия компилятора может генерировать как DWARF2 , так и удары отладочной информацией.

Примечание

В настоящее время компилятор по умолчанию будет генерировать отладочную информацию DWARF2.

Если вы используете шаблон WinAVR Makefile или MFile, в make-файле есть строка, которая управляет типом генерируемой отладочной информации:

Для генерации информации о ударах измените эту строку на:

Совет

MFile может изменить этот параметр автоматически через пункт меню.

Эта строка в make-файле изменяет ключ компилятора -g, который отправляется в GCC. Дополнительную информацию см. в руководстве пользователя GCC.

Компилятор соберет ваше программное обеспечение и автоматически выведет файл ELF.

5.1 GDB/Insight + simulavr или скупость

Отладчик GNU (GDB) можно использовать с другими программами для имитации или эмуляции вашей программы AVR. Insight — это GDB с графическим интерфейсом (написанным на Tcl/Tk). Insight также имеет консольное окно, которое обеспечивает традиционный интерфейс командной строки для GDB.Термины GDB и Insight будут использоваться взаимозаменяемо.

Используйте жадность с GDB для использования с внутрисхемным эмулятором JTAG (ICE).

Использовать simulavr с GDB для симуляции.

Дополнительные сведения об использовании см. в документации к каждому пакету.

Требования

Формат файла: ELF
Отладочная информация: DWARF-2 (предпочтительно) или stabs

Совет

Если вы используете жадность, когда вы указываете последовательный порт для использования с флагом —jtag, вы должны указать его в форме:

, где X — это номер COM-порта, который вы используете.Это связано с тем, что жадность связана с DLL Cygwin, которая требует формат типа Unix для номера COM-порта.

5.2 Студия АВР

AVR Studio 4.10 и более поздние версии имеют новый компонент синтаксического анализатора, который изначально может читать файлы ELF. Эти файлы ELF должны содержать отладочную информацию DWARF2.

Требования (для AVR Studio версии 4.10 и выше)

Формат файла: ELF
Отладочная информация: DWARF-2

5.3 Коммерческие симуляторы

Некоторые коммерческие симуляторы предъявляют дополнительные требования к использованию своих продуктов.А именно, вы должны скомпилировать свое программное обеспечение с информацией об отладке stabs, и вы должны преобразовать файл ELF либо в формат COFF , либо в формат Atmel Extended COFF .

Требования (в зависимости от используемого приложения)

Формат файла: COFF / Atmel Extended COFF
Отладочная информация: stabs

Программа GNU Binutils objcopy (avr-objcopy) была исправлена, и теперь она может конвертировать из ELF в любой из этих форматов. Обратите внимание, что конвертер является бета-версией.

Использование avr-objcopy для преобразования отладочной информации ELF/stabs в отладочную информацию AVR COFF (длинные строки с обратной косой чертой):

avr-objcopy \ —отладка \ -О $(ФОРМАТ) \ —change-section-address .data-0x800000 \ —change-section-address .bss-0x800000 \ —change-section-address .noinit-0x800000 \ —change-section-address .eeprom-0x810000 \ $(имя файла).elf $(имя файла).код

, где $(FORMAT) должен быть либо coff-avr (формат COFF, который соответствует старой документации Atmel AVR COFF, как это понимается AVR Studio 3, ранними версиями AVR Studio 4, а также VMLab), либо coff-ext-avr (текущая спецификация AVR Extended COFF, как она понимается AVR Studio 4.07+; добавлены длинные имена файлов и отладка структуры).

При выполнении вышеуказанного могут появиться некоторые предупреждения, например

.

Предупреждение: файл {стандартный ввод} не найден в таблице символов, игнорируется Предупреждение: игнорирование функции __vectors() вне любой единицы компиляции Предупреждение: игнорирование функции __bad_interrupt() вне любой единицы компиляции

Возможно, их больше, если ваша avr-libc была установлена ​​с символами отладки (установка WinAVR по умолчанию удаляет символы отладки из установленных файлов библиотеки).Как правило, других предупреждений быть не должно.

Примечание

Описанное выше использование avr-objcopy находится в шаблоне Makefile, который включен в WinAVR, и в шаблоне MFile. Вам нужно только позвонить make coff для преобразования в AVR COFF или позвонить make extcoff для преобразования в AVR Extended COFF.

Поскольку компания Atmel перешла на формат файлов ELF с отладочной информацией DWARF-2, преобразование (E)COFF устарело.Таким образом, в настоящее время разработка преобразователя COFF не ведется. В нем есть несколько известных ошибок, в частности известно, что использование прямых ссылок на структуры может привести к краху конвертера. К сожалению, исправление этой ошибки почти полностью переписало бы ее. В качестве обходного пути просто избегайте прямых ссылок на структуры.

typedef struct foo *foo_p; структура фу { foo_p следующий; что-то; };

структура foo { структура foo *следующий; что-то; }; typedef struct foo *foo_p;

Известно, что эта стратегия позволяет обойти эту конкретную ошибку.

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

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

Основными источниками помощи являются документация и онлайн-источники. Пожалуйста, попробуйте сначала найти ответ в документации, прежде чем обращаться за помощью в Интернете.

7.1 Документация

Первое и лучшее место, где можно найти помощь, — это документация! WinAVR включает руководства пользователя для многих программных инструментов, входящих в комплект поставки.

Документация для любого конкретного пакета может поставляться в разных форматах в зависимости от того, что доступно из этого пакета и свободного места в установке WinAVR. Различные форматы документации, которые вы найдете в WinAVR:

  1. HTML — язык гипертекстовой разметки.Для просмотра требуется веб-браузер.

  2. PDF — переносимый формат документа. Требуется программа для просмотра PDF, например Acrobat.

Кроме того, многие руководства пользователя можно найти в Интернете, особенно пакеты, являющиеся частью проекта GNU. Вы можете найти ссылки на многие из них в разделе «Ссылки» ниже.

Пакеты с документацией в формате HTML и PDF можно найти в каталоге \doc.

WinAVR устанавливает на рабочий стол два ярлыка.Один из них относится к документации HTML по avr-libc, установленной локально. Другой ярлык — онлайн-руководства GNU (требуется подключение к Интернету).

7.2 Интернет-источники

Сначала попробуйте найти ответ в документации, прежде чем обращаться за помощью в Интернете.

Справку по набору инструментов разработки программного обеспечения AVR (и, в частности, по AVR GCC) можно найти по адресу:

.
AVR Freaks

Все AVR, всегда! На этом сайте есть несколько форумов, в том числе общий форум AVR и форум AVR GCC специально для обсуждения компилятора GCC для AVR.У них также есть Академия, которая содержит проекты пользователей. Это дает вам доступ к большому количеству примеров кода, библиотек и различных проектов AVR.

список рассылки avr-gcc

Список avr-gcc предназначен для обсуждения следующего: Ошибки, Техника программирования, Установка и распространение, Подсказки и подсказки, Другие вещи, связанные с avr-gcc. Обратите внимание, что все разработчики набора инструментов подписаны на этот список!

Микроконтроллер.net

Для носителей немецкого языка.У них есть форум для компилятора AVR GCC.

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

Если вам нужна помощь, не обращайтесь лично к разработчикам WinAVR! Используйте эти веб-сайты и списки рассылки в первую очередь!

  • ошибка в упаковке

  • ошибка в установке

  • любые предложения по добавлению нового инструмента

  • любые предложения по улучшению общего пакета

Важно

ЕСЛИ ЕСТЬ ОШИБКИ В САМИХ ПРОГРАММНЫХ ИНСТРУМЕНТАХ, ОБ ЭТОМ ДОЛЖНЫ БЫТЬ СООБЩЕНЫ СООТВЕТСТВУЮЩИМ ОБРАЗОМ РАЗРАБОТЧИКИ ОТДЕЛЬНЫХ ПРОГРАММНЫХ ПРОЕКТОВ, А НЕ Я ИЛИ ПРОЕКТ WINAVR!!!!

Как правило, если вы столкнулись с ошибкой в ​​библиотечной процедуре или ошибкой в ​​конкретном процессоре AVR или заголовочном файле, сначала сообщите об этом проекту avr-libc (см. ссылки ниже).Они сообщат вам, действительно ли ошибка связана с проектом avr-libc или ее следует передать проекту GCC. Если ошибка находится в GCC, перейдите на их веб-страницу (см. Ссылки ниже), чтобы узнать, как сообщать об ошибках в GCC.

Информацию об ошибках в Programmer’s Notepad 2 см. на веб-сайте SourceForge (см. Ссылки), чтобы выпустить средство отслеживания ошибок, или напишите его автору (см. Авторы).

Информацию об ошибках в avrdude смотрите на странице проекта (см. Ссылки).

Информацию об ошибках с simulavr смотрите на странице проекта (см. Ссылки).

Информацию об ошибках с жадностью смотрите на странице проекта (см. Ссылки).

Информацию об ошибках GDB смотрите на его веб-странице (см. Ссылки).

Информацию об ошибках Insight см. на его веб-странице (см. Ссылки).

Информацию об ошибках SRecord см. на его домашней странице (см. Ссылки).

Этот FAQ относится к пакету и установке WinAVR. По вопросам программирования см. FAQ по avr-libc в документации по avr-libc, включенной в пакет WinAVR, или онлайн-руководстве пользователя avr-libc.

#1) Когда я запускаю программу, почему я получаю сообщение об ошибке «У вас есть несколько копий cygwin1.dll в вашей системе.»?

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

WinAVR должен поставлять файл cygwin1.dll для поддержки своих пакетов, поскольку у большинства людей Cygwin не установлен в их системе, и несправедливо просить людей устанавливать такой огромный пакет в качестве предварительного условия.

К сожалению, в FAQ по Cygwin сказано, что единственный способ обойти это — удалить другие копии cygwin1.dll. Это будет означать либо удаление Cygwin, чтобы программы WinAVR работали, либо, возможно, переименование cygwin1.dll, найденного в каталоге \bin, чтобы программы WinAVR использовали cygwin1.dll, который находится в установке Cygwin. Однако, если вы сделаете последнее, обратите внимание, что версия cygwin1.dll в вашей установке Cygwin, вероятно, отличается от версии cygwin1.dll, который использовался для сборки программ WinAVR. В этом случае используйте на свой страх и риск.

#2) У меня есть одно из следующих предупреждений при создании файла COFF, что мне делать?

Предупреждение: файл {стандартный ввод} не найден в таблице символов, игнорируется Предупреждение: игнорирование функции __vectors() вне любой единицы компиляции Предупреждение: игнорирование функции __bad_interrupt() вне любой единицы компиляции Отбрасывание локального символа вне любой единицы компиляции: .__do_copy_data_start Отбрасывание локального символа вне любой единицы компиляции: .__do_copy_data_loop

Ничего. Эти предупреждения можно игнорировать.

#3) Я использую WinAVR с AVR Studio. Я получаю сообщение об ошибке, когда avr-objcopy создает загрузочный файл для EEPROM. Пишет, что разделов для копирования нет.

avr-objcopy является частью GNU Binutils. В GNU Binutils 2.17 или более поздней версии программа objcopy была изменена, чтобы возвращать ошибку, когда нет разделов для копирования. Это отличается от предыдущих версий программы objcopy. На самом деле это не ошибка, так как нет разделов для копирования.

Makefile должен знать об этом новом поведении и не принимать это как настоящую ошибку. Используйте шаблон WinAVR Makefile в качестве основы для вашего Makefile или используйте AVR Studio 4.13 (скоро будет выпущена, если она еще не выпущена), в которой изменен способ создания внутреннего Makefile в проектах GCC, чтобы правильно учитывать это.

10.1 Примечания по сборке

Содержащиеся пакеты создаются либо в среде Cygwin, либо в среде MinGW. Некоторые, но не все пакеты зависят от одной или нескольких библиотек DLL Cygwin, которые включены в WinAVR.

  1. GNU Binutils: MinGW.

  2. GCC: MinGW.

  3. avr-libc: MinGW.

  4. avrdude: MinGW.

  5. GDB/Insight: MinGW.

  6. AVaRICE: Cygwin. Требуется: cygwin1.dll,

  7. SimulAVR: Cygwin. Требуется: cygwin1.dll.

  8. Шина: Cygwin. Требуется: cygwin1.dll.

  9. SRecord: MinGW.

Блокнот программиста 2 был создан автором Саймоном Стилом (см. Авторы). Tofrodos был построен автором Кристофером Хенгом (см. Кредиты).

10.2 Кредиты

Спасибо всем, кто использует WinAVR!

Один человек не может сделать все это в одиночку. В создании этого пакета задействовано очень много людей. Я в глубоком долгу перед этими людьми. Ниже приведена попытка списка кредитов.Любые упущения являются моей ошибкой, и исправления запрошены.

  • Особое спасибо Йоргу Вуншу за неисчислимую помощь этому проекту, включая написание патча AVR COFF для binutils; патчи для GCC, чтобы помочь с отладкой и бинарными константами; быть постоянным гуру на AVR Freaks; написание частей данного руководства; пересмотр всех моих дурацких идей; создание SRecord; связывать меня с нужными людьми в нужное время ;-); проводил время, чтобы взять меня в красивую прогулку недалеко от его родного города; и за то, что терпел меня на протяжении многих лет.Я не знаю, почему он это делает, но я бесконечно ему благодарен. 🙂

  • Особая благодарность основным участникам набора инструментов AVR: Денису Чертыкову, Мареку Михалкевичу, Теодору (Теду) А. Роту, Йоргу Вуншу, Майклу Штумпфу, Райнеру Патоммелю, Брайану С. Дину, Скотту Финнерану, Дэвиду Гей, Джейсону Кайлу, Бьорну. Хаазе, Анатолий Соколов, Дмитрий Хмелков, Энди Хатчинсон.

  • Спасибо Брайану Дессенту и Дэйву Мерфи (wintermute) за помощь в настройке набора инструментов для работы в Windows Vista.Спасибо Dave Murphy за патч для Insight.

  • Особое спасибо Бьорну Хаазе за то, что он потратил время и силы на сбор патчей для поддержки устройств ATmega256x, а также за телефонный звонок Йоргу в последнюю минуту, чтобы решить последнюю проблему!

  • Особая благодарность Колину О’Флинну за написание руководства по установке и настройке WinAVR, написание руководства по использованию Insight, за тестирование WinAVR, всестороннюю помощь и помощь в работе с avrdude.

  • Особое спасибо Torleif Sandnes за всю его помощь в обеспечении работы WinAVR в AVR Studio всеми возможными способами.

  • Спасибо SourceForge за размещение проекта WinAVR.

  • Особая благодарность Саймону Стилу за разрешение включить Блокнот программиста в WinAVR. Блокнот программиста написан Саймоном Стилом.

  • Собственные программы Win32 Unix из:

  • Тофродос 1.6 написан и построен Чистофером Хенгом

  • Спасибо следующим людям за дополнительные материалы для шаблона Makefile: Tim Henigan, Peter Fleury, Joerg Wunsch, Reiner Patommel, Sander Pool, Frederik Rouleau, Markus Pfaff и Carlos Lamas.

  • Особая благодарность Маркусу Ассфальгу за его вклад в проведение предварительных альфа-тестов AVR COFF, а также Свенну-Ивару Свендсену из Atmel, Норвегия, который охотно ответил на вопросы, касающиеся спецификаций Atmel COFF.

  • Особая благодарность Торлейфу Сэнднессу из Atmel, основному разработчику парсера Atmel ELF для AVR Studio, за новаторство в этой области.

  • Выражаем благодарность членам группы альфа-тестирования AVR COFF, в которую входят: Уоллес Уайт, Маркус Ассфальг, Фолькмар Диркес, Марк Ветцель, Эндрю Гали, Омер Синан КАЯ, Эрик Веддингтон.

  • Спасибо Atmel и Advanced Micro Tools (AMTools), создателям отладчика VMLAB, за помощь в написании патча AVR COFF.

  • Особая благодарность Нику Муру за разработку логотипов WinAVR!

  • Особая благодарность Брайану Бриллу за помощь в переносе некоторых больших файлов для первого выпуска; Теду Роту за размещение первого выпуска WinAVR на веб-сайте avr-libc.

  • Особое спасибо Теду Роту и Йоргу Вуншу за то, что терпели меня, когда я только начинал.

  • И отдельное спасибо корпорации Atmel.

10.3 Будущее

Во всех смыслах это последний выпуск WinAVR. Базовые инструменты, содержащиеся в дистрибутиве WinAVR, конечно, будут продолжать развиваться. За будущими дистрибутивами наборов инструментов для Windows и других операционных систем обращайтесь в корпорацию Atmel.

Как установить WinAVR в Windows 10? – QuickAdviser

Как установить WinAVR в Windows 10?

Добавьте WinAVR к переменным окружения PATH.Установить текстовый редактор Programmers Notepad….Установка

  1. Выберите язык: Английский.
  2. Согласен с условиями.
  3. Выберите место для установки. По умолчанию, вероятно, «C:\WinAVR-20100110», что должно быть в порядке.
  4. Выберите установку всех компонентов.

Для чего используется WinAVR?

WinAVR ™ — это набор исполняемых инструментов разработки программного обеспечения с открытым исходным кодом для микропроцессоров RISC серии Atmel AVR, размещенных на платформе Windows.Включает компилятор GNU GCC для C и C++.

Что такое набор инструментов AVR?

AVR Toolchain — это набор инструментов/библиотек, используемых для создания приложений для микроконтроллеров AVR. Эта коллекция включает компилятор, ассемблер, компоновщик и стандартные библиотеки C и математические библиотеки. Большинство этих инструментов основаны на усилиях GNU (www.gnu.org), а некоторые разработаны Microchip.

Что такое AVR GCC?

AVR-GCC — это компилятор, который берет высокоуровневый код языка C и создает двоичный код, который можно загрузить в микроконтроллер AVR.AVR-libc включает в себя все заголовочные файлы, которые содержат адреса портов и имена регистров, библиотеку с плавающей запятой, макросы, специфичные для AVR, и код запуска AVR.

Какой компилятор использует microchip studio?

Компилятор MPLAB® XC8
Microchip Studio содержит и интегрирует Atmel START, компилятор MPLAB® XC8, поддерживающий устройства AVR®, наборы инструментов GCC для устройств AVR и SAM, Advanced Software Framework, AVR Assembler и Simulator.

Что такое компилятор AVR C?

AVR-GCC — это компилятор, который берет высокоуровневый код языка C и создает двоичный код, который можно загрузить в микроконтроллер AVR.Таким образом, AVR-GCC можно рассматривать как кросс-компилятор C для создания кода AVR.

Где я могу скачать последнюю версию WinAVR?

WinAVR : AVR-GCC для навигации в Windows [Главная] [Справка] [Загрузить] [Новости] [Ссылки] Загрузка Последняя версия всегда находится на странице загрузки SourceForge.net WinAVR.

Что нужно знать о WinAVR TM?

WinAVR TM содержит все инструменты для разработки на AVR. Сюда входят avr-gcc (компилятор), avrdude (программист), avr-gdb (отладчик) и многое другое! WinAVR используется во всем мире: от любителей, сидящих в своих сырых подвалах, до школ и коммерческих проектов.WinAVR TM состоит из множества проектов с открытым исходным кодом.

Существует ли 32-разрядная версия WinRAR?

WinRAR имеет интуитивно понятный интерфейс и очень прост в использовании. Он предлагает интеграцию с проводником Windows, функцию шифрования файлов и возможность восстановления сжатых файлов в плохом состоянии. Также есть 32-битная версия. Это бесплатно? Пробная версия с ограниченным временем использования. WinRar x64 (64-разрядная версия) также доступен на Mac.

Как установить GNU AVR в Windows 10?

Когда вас спросят, куда извлечь файлы, нажмите кнопку «…» и перейдите в папку C:\\Program Files, затем нажмите «Извлечь».Установите GNU Make. Загрузите Gnu Make и запустите программу установки. Примите расположение по умолчанию для установки. Вы можете выбрать, хотите ли вы иметь значок в меню «Пуск». Установить avrdude Скачать avrdude

Как обновить WinAVR?

Это довольно просто, просто следуйте инструкциям ниже.

  1. Загрузить AVRStudio 6 и AVRDude MinGW32 6.1 (на момент публикации)
  2. Создайте резервную копию C:\WinAVR-20100110.
  3. Удалить все папки в C:\WinAVR-20100110, кроме папок pn и utils.

Бесплатен ли AVR-GCC?

AVR Libc — это проект свободного программного обеспечения, целью которого является предоставление высококачественной библиотеки C для использования с GCC на микроконтроллерах Atmel AVR. Вместе avr-binutils, avr-gcc и avr-libc составляют основу цепочки инструментов свободного программного обеспечения для микроконтроллеров Atmel AVR. AVR Libc распространяется под единой унифицированной лицензией.

Какая последняя версия WinRAR для Windows 10?

Загрузите WinRAR 5.90 Beta 3 (64-bit) (последняя версия) бесплатно для ПК/ноутбука/планшета с Windows 10.Безопасная загрузка и установка по официальной ссылке! Загрузите и установите последнюю версию автономного установщика WinRAR для ПК или ноутбука с Windows.

Какая версия архиватора RAR для Windows?

WinRAR — это версия RAR Archiver для Windows, мощного архиватора и менеджера архивов.

Что лучше WinRAR 32-битная или 64-битная?

О: 64-разрядная версия WinRAR была специально разработана для 64-разрядных операционных систем Windows и работала на них намного лучше.32-разрядная версия WinRAR изначально предназначалась для 32-разрядных операционных систем Windows, но она также может работать в 64-разрядных операционных системах Windows.

Архивы WinAVR — Делайте это легко с ScienceProg

Вероятно, многие из вас (включая меня) используют Programmers Notepad или AVR Studio для настройки проектов AVR. Каждый из них имеет преимущества и недостатки. Например, Programmers, Notepad — отличный графический интерфейс, но есть много ручных процедур, необходимых для начала компиляции проектов, таких как настройка make-файла, создание зависимостей файлов и т. д.AVR Studio — отличное решение, которое автоматически генерирует make-файлы и имеет отличный симулятор для немедленной отладки. Так зачем нам еще одна IDE? Собственно, Eclipse IDE — один из лучших инструментов с открытым исходным кодом, который широко используют программисты — поэтому он оптимизирован для управления проектами, написания кода с функцией автозаполнения. Так почему бы не попробовать. Итак, давайте настроим среду Eclipse для работы с AVR. Прежде всего, давайте загрузим Eclipse с сайта https://www.eclipse.org/downloads/.Выберите Eclipse IDE для разработчиков C/C++, так как мы хотим запрограммировать AVR на C. Откройте его (установка не требуется), затем перейдите в HELP->Install New Software… Нажмите Add… и в диалоговом окне Add Site введите URL-адрес где находится подключаемый модуль AVR Eclipse (https://avr-eclipse.sourceforge.net/updatesite/)

Продолжить чтение

admin Микроконтроллеры AVR, программное обеспечение для электроники Микроконтроллеры

AVR загружаются с некоторым объемом памяти EEPROM (электронно стираемой постоянной памяти).Это удобная функция, позволяющая разработчикам сохранять программные параметры, такие как служебная информация, константы, строки меню и т. д. Atmel заявляет, что память AVR EEPROM может быть перезаписана более 1000000 раз. Чтение не ограничено. В этой статье я собираюсь показать, как сохранять данные в EEPROM, определяя переменные. Для этого нам нужно подключить заголовок eeprom.h из каталога avr (#include «avr/eeprom.h»). Затем мы можем написать простое объявление переменной, используя простой атрибут EEMEM: ключевое слово EEMEM указывает компилятору, что переменные хранятся в EEPROM, и создает отдельный файл .eep, который нужно отдельно записать на чип. Посмотрите, что я получил после компиляции приведенного выше кода: вы можете увидеть информацию компилятора о размерах скомпилированного кода. Жирная линия показывает размер занимаемой памяти EEPROM. В данном конкретном случае мы видим, что размер равен 8 байтам: однобайтовая переменная, одно слово (два байта) и пятибайтовый массив — всего 8 байт. Откройте файл .eep, расположенный в папке проекта. Компилятор скомпилировал Intel Hex File данных EEPROM: :0800000054657374005555109E :00000001FF В первой строке показаны 8-байтовые данные, хранящиеся по адресу…

.

Продолжить чтение

admin Микроконтроллеры AVR

Установка WinAVR с помощью AVRStudio — Efundies.ком

Если вы хотите писать свои AVR-программы на C, WinAVR — отличный бесплатный способ начать работу. Следуйте этому руководству, чтобы установить и запустить WinAVR на вашем компьютере, и вы должны быть готовы следовать нашему следующему руководству, в котором используется файл C Skeleton.

Загрузите и установите AVStudio

Сначала убедитесь, что у вас установлен AVRStudio. AVRStudio разработана Atmel и является основной средой разработки для работы с микроконтроллерами AVR.

AVRStudio размещен на atmel: ссылка для скачивания

Загрузите и установите AVRStudio с параметрами по умолчанию.Обратите внимание, что он будет установлен в C:\Program Files\Atmel\AVR Tools .

Загрузите и установите WinAVR

WinAVR (произносится «когда-когда») — это бесплатный компилятор C для микропроцессоров серии AVR. Это наиболее широко используемая версия C для серии AVR, и для ее использования доступно множество примеров исходного кода.

WinAVR размещен на sourceforge. Ссылка для скачивания

Загрузите и установите WinAVR с параметрами по умолчанию. Обратите внимание, что он будет установлен в C:\WinAVR-20080610 (он заменит 20080610 на дату установленной версии)

Теперь, когда вы запускаете AVRStudio, нажмите New Project , и у вас должен появиться в списке новый тип проекта под названием AVR GCC .

Заполните эту форму как можно полнее. Обычно я следую этим правилам дизайна:

  • Весь мой исходный код находится под именем c:\src\avr\project
  • Я всегда называю каталог и имя проекта одним и тем же
  • Мой основной код всегда находится в файле main.c

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

Если вы просто выполняете стандартную работу на STK500 или другой макетной плате, выберите AVR Simulator .Другие варианты предназначены для более сложных симуляций.

Выберите свое устройство из списка справа. Если вы не уверены, какое устройство собираетесь использовать, хорошей отправной точкой будет ATmega32 ; он недорогой, имеет много флэш-памяти, EEPROM, ввода-вывода и таймеров. Если вы хотите использовать другой чип, вы всегда можете изменить его позже. Щелкните Готово . Вы увидите пустой проект. Теперь давайте установим еще пару параметров. Нажмите Project-> Параметры конфигурации :

.

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

Если вы получаете ошибку error: ‘F_CPU’ undeclared (первое использование в этой функции) при компиляции, вам нужно повторить этот последний шаг.

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

Ваш адрес email не будет опубликован.