AVR studio в вопросах и ответах
Здравствуйте Все. Скачал файл по бегущему огню в обучалке (без индикатора и клавы, пока), вставил его в АВР Студию, заменил инклуд на Тини 2313, запустил буилд - ни ошибок ни предупреждений, а вот при дебаге программа автоматически останавливается на строке"rjmp Reset" - желтая стрелка и мигает курсор, я ее закоментил, так программа останавливается на следующем реджампе. Реджамп бесконечен, так говорится в инфо (ну так и бегал бы туда сюда, ан нет, останавливается). Как заставить багер не останавлисаться. Задал вопрос в разделе теория, меня отправили сюда и посоветовали разобраться с прерываниями, пытаюсь разобраться, но как то не очень. Допустим я поставлю прерывание где то в теле программы, дебагер дойдет до него и остановится. Так он и так останавливается. Так же как и я встал в этом месте и не туда и не сюда, как мне сдвинуться, но не с катушек а с этой кочки?. Да и можно ли прошивать МК, если такое происходит в дебагере?
Уж извините за тупость ну как то заклинило в этом месте.
Уж извините за тупость ну как то заклинило в этом месте.
я не схемотехник, я только учусь
Так пока и не врубился. Терзают меня смутные сомнения, что при замене AT90S2313 на ATtiny2313, надо не только поменять инклуд, но и многое другое. Попробую запустить дебагер с родным МК и посмотреть. Когда нажал Quickwatch выскочило окошко в котором написано rjmp а в графе value"Not in scope" И вопрос, добавить для слежения. В общем пока со Студией у меня как с фортепиано - скользко.
я не схемотехник, я только учусь
- DIHALT
- Потрогал лапой паяльник
- Сообщения: 387
- Зарегистрирован: Пт сен 12, 2008 03:26:14
- Контактная информация:
Не могу понять, у тебя не шагает по командам чтоль? А попробуй вначале программы поставить несколько NOP
между тини2313 и ат902313 разница минимальная. Помнится как то написал программу, по ошибке загнал инклюд на ат902313, зашил все в тини2313 работало как часы. Заметил что инклюд не тот когда уже спустя черти сколько времени решил оптимизировать код и начал его переписывать почти с нуля.
между тини2313 и ат902313 разница минимальная. Помнится как то написал программу, по ошибке загнал инклюд на ат902313, зашил все в тини2313 работало как часы. Заметил что инклюд не тот когда уже спустя черти сколько времени решил оптимизировать код и начал его переписывать почти с нуля.

Честно говоря, так и думал, поэтому переписал только инклуд, так же, думал взять кварц на 10МГц, собираясь сваять бегающие огоньки, а вот теперь засомневался. В инете нашел апноте о различиях между этими МК, но пока не изучил еще. Программа не шагает, вернее шагает но зацикливается на Инициализация l_res: между dec Temp1 и brne 1_res, дальше не идет. До инкремента счетчиков сброса не доходит. Хотя в окне процессора циклы считаются и время тоже, SREG флаги меняются. Если в автомате, то она прыгает там же. Ресет прграмму останавливает. Скорее всего я где-то не вник в обучалке или самой студии. Попробую запустить ее в WMLAB, посмотрю как там будет прыгать.
Подойдет ли кварц 10МГц для ATtiby 2313?
В начале программы вставил три NOP - выдала три ошибки, убрал один NOP- две ошибки, убрал все NOP - ни одной ошибки.
Подойдет ли кварц 10МГц для ATtiby 2313?
В начале программы вставил три NOP - выдала три ошибки, убрал один NOP- две ошибки, убрал все NOP - ни одной ошибки.
я не схемотехник, я только учусь
- DIHALT
- Потрогал лапой паяльник
- Сообщения: 387
- Зарегистрирован: Пт сен 12, 2008 03:26:14
- Контактная информация:
Гони проект целиком. Так я фиг пойму что у тебя там не так. Может код поставил до CSEG или CSEG не туда вписал.
Кварц на тини2313 будет работать нормально. (даже на 2313V хоть она и до 8мгц, но гонится неплохо. Главное чтобы напруга была 5 вольт). Разумеется при работе от кварца надо будет подправить фузы. Ну и не забыть сбросить бит CKDIV8 т.к. он тебе дает деление частоты на 8.
Кварц на тини2313 будет работать нормально. (даже на 2313V хоть она и до 8мгц, но гонится неплохо. Главное чтобы напруга была 5 вольт). Разумеется при работе от кварца надо будет подправить фузы. Ну и не забыть сбросить бит CKDIV8 т.к. он тебе дает деление частоты на 8.

-
PeLazginec
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
-
PeLazginec
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
-
PeLazginec
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
В названии написано AVRStudio4.13SP2 и весит эт все 46 мегабайт. Я думаю,путаю,как вы сказали. Ссылку на реальную студию.18 не подскажете?DiGiCat писал(а):Эт ругается, что сама AVR Studio еще не установлена.PeLazginec писал(а):Скачал программу AVRStudio 4.13,юзаю клик на установку,а он выдает ошибку вида "avrstudio 4.13 must be installed",подскажите пожалуйста с чем это связаноПохоже сейчас пытаешься вместо самой AVR Studio, пакет ее обновлений установить - не то ставишь сейчас, установить вместо AVR Studio, пытаешься ServicePack ( он около 40 весит, сама Studio около 100мб ). Скачивай и ставь сначала другой файл..
- devmind
- Родился
- Сообщения: 14
- Зарегистрирован: Сб июл 05, 2008 16:04:58
- Откуда: Одесса, Украина
- Контактная информация:
PeLazginec писал(а):Ссылку на реальную студию.18 не подскажете?
http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725
Выбираешь "AVR Studio 4.18 (build 684) (116 MB, updated 11/09)", заполняешь форму и качаешь. Потом можешь по той же ссылке скачать SP1 и накатать его поверх уже установленной AVR Studio.
Abrikos писал(а):В архиве линки на новейшие программы ATMEL и AVR Studio - свежак
Краткий курс - самоучитель
заказать почтой у известно кого
вам поможет Семонов Михаил
и цена его услуг
Тыч новый вид спама наладил - напрямую то спамить все перекрыли..
-
PeLazginec
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт дек 04, 2009 16:35:57
Спасибо!!!!!devmind писал(а):PeLazginec писал(а):Ссылку на реальную студию.18 не подскажете?
http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725
Выбираешь "AVR Studio 4.18 (build 684) (116 MB, updated 11/09)", заполняешь форму и качаешь. Потом можешь по той же ссылке скачать SP1 и накатать его поверх уже установленной AVR Studio.
- gogenzzo
- Встал на лапы
- Сообщения: 97
- Зарегистрирован: Вт ноя 03, 2009 13:38:20
- Контактная информация:
Приветствую. Не знаю сюда или нет написать проблему, вот что у меня косячит. Есть программа мигающего светодиода, нажимаем кнопу - мигает, отпускаем - не мигает
задержка производится не по таймеру, а в цикле:
В отладчике все работает правильно. При 4Mhz одит такт происходит за 0,25 мкс. Всего задержка подпрограммы по идее должно быть - 255*100*10*3*0,25 = 191 мс. Но в отладчике пишет что проход цикла происходит за 171 мс. Но проблема не в этом
Запускаю Proteus ISIS. Строю схему. И в результате переключение диода происходит с частотой около 1,4 сек. Там выставил вроде как надо. Частота микроконтроллера 4Mhz.
PS: Я думаю, что такие задержки в программах не встречаются, все по таймеру, но все же хотелось бы разобраться, я и программу по формированию звука тоже в протеус загонял, по идее все должно играть ровно, но там очень уж медленно все было...
Код: Выделить всё
wait:
push loop1
push loop2
push loop3
ldi loop1, 10
wt1:
dec loop1
breq wt4
ldi loop2, 100
wt2:
dec loop2
breq wt1
ldi loop3, 255
wt3:
dec loop3
brne wt3
rjmp wt2
wt4:
pop loop3
pop loop2
pop loop1
ret
В отладчике все работает правильно. При 4Mhz одит такт происходит за 0,25 мкс. Всего задержка подпрограммы по идее должно быть - 255*100*10*3*0,25 = 191 мс. Но в отладчике пишет что проход цикла происходит за 171 мс. Но проблема не в этом
Запускаю Proteus ISIS. Строю схему. И в результате переключение диода происходит с частотой около 1,4 сек. Там выставил вроде как надо. Частота микроконтроллера 4Mhz.
PS: Я думаю, что такие задержки в программах не встречаются, все по таймеру, но все же хотелось бы разобраться, я и программу по формированию звука тоже в протеус загонял, по идее все должно играть ровно, но там очень уж медленно все было...
-
Андрейка
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Пт июн 19, 2009 15:05:38
- Откуда: Кострома
- Контактная информация:
Привет, я - новичек, помогите разобраться с проблемой. Недавно установил AVR Studio4.16.628, написал учебную программу и при трансляции получил ошибку. Не понимаю, что он от меня хочет?
;Программа ledon
.device attiny2313
.nolist
.include "c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc"
.list
.def temp =r16
rjmp Init ;
Init:
ser temp ;
out DDRB,temp ;
out DDRD,temp ;
clr temp ;
out PortB,temp ;
out PortD,temp ;
Start:
sbi PortB,0 ;
rjmp Start ;
Build
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(122): error: Attempt to redefine keyword 'z'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(382): error: Attempt to redefine keyword 'or'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here
Assembly failed, 2 errors, 0 warnings
;Программа ledon
.device attiny2313
.nolist
.include "c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc"
.list
.def temp =r16
rjmp Init ;
Init:
ser temp ;
out DDRB,temp ;
out DDRD,temp ;
clr temp ;
out PortB,temp ;
out PortD,temp ;
Start:
sbi PortB,0 ;
rjmp Start ;
Build
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(122): error: Attempt to redefine keyword 'z'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here
c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc(382): error: Attempt to redefine keyword 'or'
E:\Attiny2313\Project\ledon\ledon.asm(12): info: 'c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc' included from here
Assembly failed, 2 errors, 0 warnings
Андрейка
Андрейка писал(а):... написал учебную программу и при трансляции получил ошибку. Не понимаю, что он от меня хочет?
строчку
Код: Выделить всё
.device attiny2313-
Андрейка
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Пт июн 19, 2009 15:05:38
- Откуда: Кострома
- Контактная информация:
Спасибо за советы. Проблему решил. В папке установки AVR Studio4.16 имеем две версии ассемблера, как я понял старую версию AvrAssembler и новую AvrAssembler2. Сначала я написал так: .include "c:\Program Files\atmel\AVR tools\AVRAssembler\appnotes\tn2313def.inc" и получил ошибки при трансляции, а потом попробовал так: .include "c:\Program Files\atmel\AVR tools\AVRAssembler2\appnotes\tn2313def.inc" и все прошло без ошибок. Остался вопрос, зачем пихать старый AvrAssembler, если AVR Studio4.16 с ним не работает?
Андрейка
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
работает студия с обоими ассемблерами, просто вы попали на ошибку в документации Atmel. В первых документах для имен некоторых битов и для имени регистра использовались одни и те же обозначения (SP и Z), это было прописано в соответствующих inc-файлах, и естественно, ассемблер не мог понять, как это так - разные вещи с одинаковым именем. затем inc-подправили, да заодно и новый ассемблер добавили, который уже допускает переопределение имен...
вам надо было всего лишь найти в вашем inc-файле эти самые описания и заремарить их - и все! скомпилировалось бы и старым ассемблером.
вам надо было всего лишь найти в вашем inc-файле эти самые описания и заремарить их - и все! скомпилировалось бы и старым ассемблером.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!