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

Обсуждаем контроллеры компании Atmel.
Andrey3377
Родился
Сообщения: 9
Зарегистрирован: Чт май 28, 2009 14:19:38
Откуда: Санкт-Петербург

Сообщение Andrey3377 »

Недавно начал заниматься AVR-ами. Отладчик AVR Studio может отображать значения регистров в двоичной форме? Нашел только преключение с hex на dec.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Регистры, являющиеся коллекциями флагов, в студии именно в двоичной форме и отображаются - флагами, остальные, повидимому, только в десятичном или шестнадцатеричном виде.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

да, может.
start debugging(стрелочка как play)->View->Registers
открывается окно регистров общего назначения. правой кнопкой по значению и выбираешь Binary. все!)
Ставим плюсы: )
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Хэх, выходит - я плохо искал. :)))
Andrey3377
Родился
Сообщения: 9
Зарегистрирован: Чт май 28, 2009 14:19:38
Откуда: Санкт-Петербург

Сообщение Andrey3377 »

ibiza11, спасибо. А то я уж обыскался.
Андрейка
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Пт июн 19, 2009 15:05:38
Откуда: Кострома
Контактная информация:

Сообщение Андрейка »

Подскажите начинающему
Что я делаю не так, если ассемблер пишет следующее:

Building project...
AVRASM: AVR macro assembler version 1.57 (Nov 15 2002 10:58:00)
Copyright (C) 1995-2002 ATMEL Corporation
Creating 'asd.eep'
Creating 'asd.hex'
Creating 'asd.obj'
Creating 'asd.map'
Assembling 'C:\Program Files\Atmel\AVR Tools\AvrStudio4\ledon2.asm'
Including 'C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc'

Вот здесь:

C:\Program Files\Atmel\AVR
Tools\AvrAssembler\Appnotes\2313def.inc(38) : warning : Only one .device statement allowed (line ignored)

Program memory usage:
Code : 11 words
Constants (dw/db): 0 words
Unused : 0 words
Total : 11 words
Assembly complete with no errors.
Deleting 'asd.eep'
Андрейка
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

в коде ошибка скорее всего, выложите его) я смотрю он совсем небольшой))
Ставим плюсы: )
Андрейка
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Пт июн 19, 2009 15:05:38
Откуда: Кострома
Контактная информация:

Сообщение Андрейка »

Да программа небольшая
Вложения
Svetdiod.asm
(521 байт) 377 скачиваний
Андрейка
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Андрейка писал(а):Да программа небольшая

Ассемблер говорит, что девайс (тип микроконтороллера) можто указывать только один раз и игнорирует второе указание. Просто тип микроконтроллера скорее всего указан в 2313def.inc, поэтому строка

Код: Выделить всё

.device at90s2313
лишняя.
Андрейка
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Пт июн 19, 2009 15:05:38
Откуда: Кострома
Контактная информация:

Сообщение Андрейка »

Спасибо за ответ
Маленький вопросик остался. Я изучаю AVR по книге. Там как и в моей программе идет
.device at90s2313
.nolist
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc"
.list
Если строка .device at90s2313 лишняя, то для чего автор книги ее использует. Может когда он писал программу была другая версия AvrStudio4?
Андрейка
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Андрейка писал(а):...
Если строка .device at90s2313 лишняя, то для чего автор книги ее использует. Может когда он писал программу была другая версия AvrStudio4?

Автору, конечно, виднее :) Чтобы до конца разобраться, Вы посмотрите файл, который включаете, и увидите что тип контроллера там задан, поэтому еще раз задавать его не стоит. Ассемблер Вам собственно и сообщает, что тип контроллера задан и второе задание типа будет проигнорировано, однако в Вашем случае игнорируется тип из файла 2313def.inc. Я Вам рекомендую убрать строчку .device at90s2313, иначе в один прекрасный день, когда Вы захотите воспользоваться старым кодом на новом контроллере и забудете поменять .device at90s2313, на нужный тип контроллера, возможны сообщения ассемблера об ошибках и отказ от сборки кода.
Позволю себе еще одну рекоммендацию - при обучении до конца разбираться в том, что написано в копируемом вами исходнике, т. е. в Вашем случае что означают все директивы и команды.
Андрейка
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Пт июн 19, 2009 15:05:38
Откуда: Кострома
Контактная информация:

Сообщение Андрейка »

Спасибо, вопросов пока не имею
Андрейка
0.50
Родился
Сообщения: 5
Зарегистрирован: Чт май 14, 2009 18:11:25

Сообщение 0.50 »

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

Код: Выделить всё

ldi   tmp0, 1
ldi   tmp1, 1
subi   tmp0, 2
sbci   tmp1, 0

после последней команды не выставляется нулевой флаг :o

Скажите пожалуйста, это так и должно быть или глюк Студии?
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

0.50 писал(а):Имеется кусок кода, смысл которого показан ниже

Код: Выделить всё

ldi   tmp0, 1
ldi   tmp1, 1
subi   tmp0, 2
sbci   tmp1, 0

после последней команды не выставляется нулевой флаг :o

Скажите пожалуйста, это так и должно быть или глюк Студии?

А с какого пуркуа он должен выставляться?. Вы вычитаете из 0х0101 число 0x0002, откуда там 0?
0.50
Родился
Сообщения: 5
Зарегистрирован: Чт май 14, 2009 18:11:25

Сообщение 0.50 »

Значит этот момент я как-то пропустил.. Спасибо.
kofa07
Родился
Сообщения: 1
Зарегистрирован: Пн июл 13, 2009 20:42:19

не устанавливается AVR Studio

Сообщение kofa07 »

Господа! у меня проблема с установкой AVR Studio 4
После начала установки вылетает ошибка
"RegDBCreateKey Ex failed"
Как быть?
Back-loz
Родился
Сообщения: 17
Зарегистрирован: Чт июл 16, 2009 11:51:34

Re: Проблемма с программированием ATmega169

Сообщение Back-loz »

Господа у меня вопрос к бывалым программисам на AVR ассемблере проблема следующего плана пытаюсь с помощью AVRstudio 4 разобраться как работать со сторожевым таймером(англ. Watchdog) пытаюсь считать значение регистра WDTCR в регистр общего назначения:
OUT WDTCR,r17
изменить содержимое регистра и снова записать в регистр WDTCR:
IN r17,WDTCR
предварительно естественно подключаю inc файл:
.include "m169def"
в котором константа WDTCR определена следующим образом:
.equ WDTCR = $60
AVRstudio постоянно выдает ошибку в командах IN и OUT:
Illegal argument type or count
экспериментируя с командами IN и OUT выяснил что ошибка возикает при превышении адресса WDTCR какогото значения.
использовал ассемблер версии 1.
подскажите пожалуйсто как решить данную проблему.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

достаточно было не экспериментировать, а прочесть документацию на ядро AVR: все порты "накладываются" на адреса ОЗУ и доступны всегда для работы командами STS и LDS (и другими, естественно). но не все порты доступны для обращения через команды IN и OUT. читайте доки :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

кто знает как отлаживать проект созданный в IAR в AVRStudio?
ну или ткните носом в ссылочку если это уже где описано (вроде где то видел, но когда приспичило никак не найду :( )
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

В линкере выходной формат other -> "ubrof 8(forced)"
В студио открыть получившийся файл *.dbg
Ответить

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