Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Kill17 писал(а):а как сделать, чтобы время ожидания составляло секунд 8-10 ?

Запускать таймер :idea:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Kill17
Открыл глаза
Сообщения: 63
Зарегистрирован: Вс май 30, 2010 20:27:33
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Kill17 »

Gudd-Head писал(а):Запускать таймер :idea:

Мысль здравая, но я как-то не совсем понимаю, как это сделать. Не ругайтесь только, в данном вопросе разбираюсь недавно, много не понятного.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Kill17 писал(а):не совсем понимаю, как это сделать

Надо плясать от тактовой и от камня: смотреть какие есть таймеры, чем их можно тактировать и т.п.
Небольшой ликбез в теме про таймеры: viewtopic.php?p=1779973#p1779973
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

Можно и без таймера обойтись. В коде между инициализацией и приемом байта у вас есть зачем-то 3 разные задержки. Можно вместо них сделать один счетчик, примерно так:

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

инициализация
метка1:
счетчик=счетчик+1
если счетчик >= 8-10 секунд (подобрать константу исходя из скорости выполнения алгоритма), то переход куда надо
иначе прием байта
байт='?', переход на загрузчик
иначе переход на метку1

такой код будет в течении нужного времени ждать прием '?' и при его появлении сразу перейдет к загрузчику
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение FreshMan »

Engineer_Keen писал(а):Только не 4кслова, а +2кслова. Т.к. RJMP относительный переход и из начала флеша в 16кбайт на -2кслов перепрыгнуть без грязных хаков не даст компилятор, мы это обсуждали пару страниц назад... С хаками можно из векторов прерываний прыгнуть по RJMP в области 0-2к и "размер флеша"-2к.

а если, даже в xmega, обработчики прерываний писать сразу после таблици векторов прерываний то jmp может и не пригодится ?
Tell Me The Truth
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

Если RJMP до обработчика достает, то конечно.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение FreshMan »

Engineer_Keen, в вашем примере

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

.include   "m8def.inc"
   .cseg
   .org   0
   RJMP   RESET

   .org   OC2addr
   RJMP   DO_PWM

   .org   OC1Aaddr
   RJMP   FIFTY_MS
   
   .org   URXCaddr
   RJMP   UART_RX

   .org   UTXCaddr
   RJMP   UART_TX   

   .org   INT_VECTORS_SIZE
RESET:   
   CLI
   CLR   ZERO
   OUTI   SPL,Low(RAMEND)
   OUTI   SPH,High(RAMEND)
[...]

мне непонятен смысл этой строчки

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

.org   INT_VECTORS_SIZE

зачем она, что будет если ее упустить ?
Tell Me The Truth
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

FreshMan писал(а):

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

.org   INT_VECTORS_SIZE

зачем она, что будет если ее упустить ?

Она указывает на конец таблицы векторов. Без нее ничего страшного не случится. Просто метка RESET будет расположена не после таблицы прерываний, а после последнего задействованного вектора (RJMP UART_TX).
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение FreshMan »

тоесть, я могу и не прописывать все вектора прерываний, а прописать только те что использую
но эта строка .org INT_VECTORS_SIZE является гарантом того что код моей программы будет размещен сразу после последнего вектора таблици векторов
так ?
Tell Me The Truth
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Kavka »

FreshMan писал(а):.org INT_VECTORS_SIZE является гарантом

Да, именно так.

Вообще уже обсуждалось не раз.
Если ещё не видели, то вот эту темку посмотрите. Там всего пара страниц.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение FreshMan »

подскажите пожалуйста, кто в чем пишет на асме в линуксе ?
wine не предлагать ! :))
Tell Me The Truth
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Alexeyslav »

Это же линукс, значит VIM на первом месте.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Kavka »

Если не wine, то virtualbox :))
Есть avr-gcc в комплекте с avr-as (GNU ассемблер для AVR).
Я сам, вот, никак не доберусь с eclipse разобраться и подружить его с вышеуказанной парочкой.
Думаю, что можно и прочие IDE подружить. Не говоря уже о просто редакторах типа kate или quanta.

Вообще, IDE-шек под линукс довольно много. Вот только у меня нет опыта их использования.
А так, есть, например, anjuta, geany, kdevelop, qt-creator, eclipse.
Eclipse точно может под AVR - к нему есть плагины "заточенные" под AVR.

Добавил чуть позже:
К стати, уважаемый ARV вполне преуспел в освоении Eclipse.
тынц и тынц
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ИС-пытатель »

Kavka писал(а):К стати, уважаемый ARV вполне преуспел в освоении Eclipse.
тынц и тынц

У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое. :)))
Аватара пользователя
ANALOG
Мучитель микросхем
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ANALOG »

Если на асме и без пошаговой отладки - то Geany лучше всех! :)))
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Kavka »

ИС-пытатель писал(а):У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое. :)))
Вовсе не обязательно. Просто иногда как забуришся в какие-нибудь дебри, почитаешь стандарты, "вкуришь" как следует, разберёшься. А потом можно и статью написать. По мотивам своих изысканий и разбирательств, так сказать. И чем человек опытнее тем больше у него изысканий о которых он может рассказать.
ИС-пытатель, ты, видать, ещё просто не дорос до такого состояния просветления :)) :)) :))
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ARV »

ИС-пытатель писал(а):У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое. :)))

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

Мой уютный бложик... заходите!
Аватара пользователя
ИС-пытатель
Вымогатель припоя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ИС-пытатель »

Kavka писал(а):ИС-пытатель, ты, видать, ещё просто не дорос до такого состояния просветления :)) :)) :))

Так скока мне лет, и скока ARV! )) У него фора пол моей жизни! ))
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение FreshMan »

ANALOG писал(а):Если на асме и без пошаговой отладки - то Geany лучше всех! :)))

почему именно он ? чем он так хорош ?
Tell Me The Truth
Аватара пользователя
ANALOG
Мучитель микросхем
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ANALOG »

FreshMan писал(а):почему именно он ? чем он так хорош ?

Ну по сравнению с большинством IDE преимущество в том, что не нужно создавать проекты/что-либо еще кроме исходника.
По сравнению с обычными текстовыми редакторами - в том, что можно так настроить, чтоб прошивка компилировалась/прошивалась в один клик мышки.
Не стану утверждать, что это самый лучший вариант (отсутствие отладки все-таки серьезный минус), возможно есть что-то и покруче, но меня вполне устраивает :)
Ответить

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