AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 48
Зарегистрирован: Ср дек 09, 2009 20:48:46

Сообщение Akula »

prinv писал(а):Поставил себе Atmel Studio 7 - некоторые дефайны (типа F_CPU) и функции (например, atoi()) стали писаться курсивом. Почему?
A какая версия Windows на компьютере установлена?
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь

Сообщение prinv »

Akula писал(а):A какая версия Windows на компьютере установлена?
Не думаю, что это важно, но Win 10 x64
Engineer_Keen писал(а):А есть все таки какие-нибудь настройки у редактора? Типа выделять стандартные функции и переменные или что-то вроде того... Может там ответ.
Ничего подобного в настройках не нашёл
Никакая контра не уйдёт от нас
Контактная информация:
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 48
Зарегистрирован: Ср дек 09, 2009 20:48:46

Сообщение Akula »

prinv писал(а):
Akula писал(а):A какая версия Windows на компьютере установлена?
Не думаю, что это важно, но Win 10 x64

У меня на 10-ку "криво" встаёт, с ошибками. Вот и хотел уточнить.
Родился
Сообщения: 4
Зарегистрирован: Ср сен 30, 2015 08:44:46

Сообщение Vadim.S »

Engineer_Keen писал(а):
Vadim.S писал(а): вообще с програмированием сталкивался только в школе
add r1,r2,r3
mov r4,r1
вот что удалось сделать прочитав про команды этой программы сложение рон и перенос все сложенных в одну и то я думаю что фигня какая то получилось.Понял что не моё это.Причём понял ещё в школе когда программировали на паскале
Ну не фигня, логика есть, понятно что нет знаний по ассемблеру конкретно AVR.
Во первых числа же загрузить надо:
LDI R16,0x01 ;загружаем 3 произвольных шестнадцатеричных числа
LDI R17,0x0A ;в R16,R17,R18 потому как загружать константы можно только в старшие 16 регистров
LDI R18,0x0F
А складывать можно только по 2 числа или регистра:
ADD R16,R17
ADD R16,R18
Ну а последнее сделано правильно, только с учетом вышеизложенного:
MOV R4,R16
Подскажу насчет второго. Источник тактирования выбирается фьюзами, т.е. непосредственно при программировании. Единственное что тут можно сделать, это использовать делитель тактовой, который настраивается через регистр CLKPR. Он есть далеко не во всех AVR. Что же касается коэффициентов периферии, то опять же, какой периферии? У АЦП за него отвечают биты ADPS регистра ADCSRA, у UART регистры UBRRH:UBRRL, у SPI и TWI тоже свои делители.
Спасибо огромное что откликнулся!Одну задачу уже сдал!!и отдельное спасибо за пояснительные коментарии к командам!!!!
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 23
Зарегистрирован: Чт мар 12, 2015 21:11:58

Сообщение Illusi0ns »

Доброго времени суток, уважаемые. Помогите пожалуйста разобраться с проблемой. Вот, значит, работаю я над программой, пользуюсь отладкой то через jtagice3 в железе, то через симулятор и протеус, все работает, все хорошо. Но вот сегодня сажусь за проект снова, а отладка глючит. По идее, когда нажимается кнопка отладки, то на экране кода имеется подсвеченная желтая строка, которая собирается быть выполненной. ну, вы понимаете о чем я. приложу два скрина. но вместо этого, на строчке просто мигает курсор (как при печати), и не ставятся breakpoint даже сразу после на первой строке main. но, при этом, программа компилируется и работает в железе.
Создаю новый проект - отладка работает нормально. открываю старые проекты - обнаруживаю, что в некоторых отладка тоже не работает.
Что за дела случились такие? может знает кто..
Заранее спасибо.
Вложения
2.png
(60.33 КБ) 896 скачиваний
1.png
(43.28 КБ) 800 скачиваний
Реклама
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

како МК? с debugWire у меня довольно часто всякие глюки бывают в студии до полной неработоспособности
например с тини13 при питании чуть ниже 5 вольт отказывается работать
с другими чипами критично очень к тому что висит на ноге ресета
а иногда изменения кода ведут к глюкам, причем сами изменения не несут ничего особого, просто с ними глючит, без них нет

с JTAG не помню проблем, но там есть ряд настроек отладчика и если глючит надо попробовать с ними поиграть
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 23
Зарегистрирован: Чт мар 12, 2015 21:11:58

Сообщение Illusi0ns »

axillent писал(а):како МК? с debugWire у меня довольно часто всякие глюки бывают в студии до полной неработоспособности
например с тини13 при питании чуть ниже 5 вольт отказывается работать
с другими чипами критично очень к тому что висит на ноге ресета
а иногда изменения кода ведут к глюкам, причем сами изменения не несут ничего особого, просто с ними глючит, без них нет

с JTAG не помню проблем, но там есть ряд настроек отладчика и если глючит надо попробовать с ними поиграть
а эти глюки не зависят ни от выбора отладчика (simulator или jtagice3 в моем случае), ни от выбора МК. перестало работать и все тут - камень менял, в simulator и jtag пробовал, все одно и то же
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

с каким МК jtag пробовали?
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 23
Зарегистрирован: Чт мар 12, 2015 21:11:58

Сообщение Illusi0ns »

axillent писал(а):с каким МК jtag пробовали?
atmega16 и 8
upd: 8 по spi, отладка через simulator
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 22
Зарегистрирован: Вс авг 16, 2015 06:22:15
Откуда: Хабаровск

Сообщение Alex1979rak »

Здравствуйте, уважаемые форумчане.

Решил научиться программировать микроконтроллеры AVR.

Купил программатор STK500, микроконтроллер Atmega8a.

Скачал последнюю версию AVR Studio 4.19, установил.

Соединение с микроконтроллером установить удалось.

Но вот компилировать файлы в студии не получается.

Вот ошибка - gcc plug-in: No AVR Toolchain installation found. The AVR GCC plug-in can still be used if you set up your own build tools.

Пересмотрел все, даже скачал этот AVR Toolchain (avr8-gnu-toolchain-installer-3.5.0.85-win32.any.x86 и avr32-gnu-toolchain-installer-3.4.3.22-win32.any.x86) с официального сайта, распаковал, но подключить так и не смог.

Пробовал более старую версию компилятора - скачивал по ссылке - http://easyelectronics.ru/avr-studio-41 ... chain.html.
И это не сработало.

Также устанавливал WinAVR. Тоже не помогло.

Помогите, пожалуйста, разобраться.
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Так в самой AVRStudio надо указать на тулчейн для конкретного языка.
Хотя это странно, по умолчанию там всё настроено и проблемы возникают только если пытаешься использовать сторонний компилятор.
Кстати последняя AVRStudio это 7.0, если у вас современный комп то лучше ставить её.
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18793
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Во-первых, 7-я версия - это не AVR Studio, а Atmel Studio - совершенно другая IDE с совершенно другими возможностями. Последняя версия AVR Studio - это как раз 4.19, но я лично рекомендую пользоваться 4.18 или даже 4.16 - некоторые девайсы не поддерживаются старыми версиями, зато новых глюков нет.

Во-вторых, если вы скачали и установили правильно WinAVR - все должно заработать, но имейте ввиду, что ни AVR Studio, ни WinAVR не любят пробелов и русских букв в составе пути к файлам, особенно к папкам установки. Во избежание возможных проблем настоятельно рекомендую:
- устанавливать студию и WinAVR не в папку Program Files, а в какую-нибудь папку в корне диска, например, c:\Tools
- не сохранять свои проекты в папку, которую по умолчанию подсовывает винда в качестве папки документов пользователя (там будут и пробелы и русские буквы), точно так же сделайте рабочую папку на диске без пробелов и русских букв в пути.
- как правило все равно, что устанавливать в первую очередь, а что во вторую - WinAVR или AVR Studio. но бывают случаи, когда поменяв порядок установки можно добиться работоспособности комплекта - как крайнее средство попробуйте.

а вообще лично я считаю наиболее удобным набором средств для любительской разработки устройств на AVR комплект из IDE Eclipse с AVR Plugin (для написания кода и компиляции) и ISIS Proteus (для отладки), AVR Studio 4.18 в качестве запасного отладчика. Для ghjibdrb используется avrdude из комплекта WinAVR (но можно и из комлекта avr-toolchain)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Используйте чистый avr-gcc! И ручное написание Makefile'ов. И программы а обычном текстовом редакторе вместо IDE.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18793
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

COKPOWEHEU писал(а):Используйте чистый avr-gcc! И ручное написание Makefile'ов. И программы а обычном текстовом редакторе вместо IDE.
а для отладки - только светодиоды на пинах МК - никаких отладчиков, только хардкор! :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Ну, можно и менее жестоко - разрешить использовать знакосинтезирующие дисплеи и UART. Мы же не звери.
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 22
Зарегистрирован: Вс авг 16, 2015 06:22:15
Откуда: Хабаровск

Сообщение Alex1979rak »

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

Вариант 1: пользоваться только WinAVR

Вариант 2: установить и AVR Studio и WinAVR

Тулчейн последний с сайта Atmel не содержит файла make.exe, это просто некий набор файлов. Я не разобрался.

Может быть еще есть что-то, чего я не знаю.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

вполне рабочий вариант:
+AVR Studio 4.19
+свеженький avr-gcc toolchain, отсюда:
http://sourceforge.net/projects/mobilec ... 8Win32%29/
+make.exe можно найти на просторах или взять от того же WinAVR
+настроить проект AVR Studio - снять галочку и указать пути:
Изображение
мэйкфайл студия сама сделает - можно поучиться на готовом примере.
Редактор студии весьма убог, можно пользоваться внешним, например маленьким и быстрым Akelad с плагинами
Изображение
http://akelpad.sourceforge.net/ru/
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 22
Зарегистрирован: Вс авг 16, 2015 06:22:15
Откуда: Хабаровск

Сообщение Alex1979rak »

oleg110592 писал(а):вполне рабочий вариант:
+AVR Studio 4.19
+свеженький avr-gcc toolchain, отсюда:
http://sourceforge.net/projects/mobilec ... 8Win32%29/
+make.exe можно найти на просторах или взять от того же WinAVR
+настроить проект AVR Studio - снять галочку и указать пути:
Изображение
мэйкфайл студия сама сделает - можно поучиться на готовом примере.
Редактор студии весьма убог, можно пользоваться внешним, например маленьким и быстрым Akelad с плагинами
Изображение
http://akelpad.sourceforge.net/ru/
Вроде получилось. Подсказали правильно.

Теперь другая проблема. В первом тестовом проекте не работает задержка по времени.

Вот код программы:

#define F_CPU 1000000UL // 1 MHz
#include<avr/io.h>
#include <util/delay.h>

int main(void)
{

DDRD = 0xff;


while (1) {


PORTD = 0xff;


_delay_ms(500);


PORTD = 0x00;

_delay_ms(500);


}

}
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Alex1979rak писал(а):не работает задержка по времени
проверил в протеусе - все нормально работает:
Изображение
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 22
Зарегистрирован: Вс авг 16, 2015 06:22:15
Откуда: Хабаровск

Сообщение Alex1979rak »

oleg110592 писал(а):
Alex1979rak писал(а):не работает задержка по времени
проверил в протеусе - все нормально работает:
[url=http://img.radiokot.ru/files/43722/medium/sbyvzh7rd.png]Изображение[/ :chmoked:

]
Хорошо. Попробую в протеусе
Контактная информация:
Ответить

Вернуться в «AVR»