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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

В какой конкретно строке ? Вы привели кусок кода.
И какое сообщение ? Вы показали дизасм.
Addja
Родился
Сообщения: 3
Зарегистрирован: Чт окт 29, 2015 08:26:10

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

Сообщение Addja »

В строке
in_Volt = (temp_in_Volt/i);
Да это выходит окно дизасем, но почему?
Прошу простить начинающего, гугл не помог.

Создал тему по моему проекту(громко сказано :) )
Так-как вырванное из контекста сложнее объяснить, да и вопросы будут еще.
Последний раз редактировалось Addja Пн ноя 30, 2015 15:10:00, всего редактировалось 2 раза.
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

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

Сообщение SergSV »

Подскажите как сделать эмуляцию EEPROM в Atmel Studio 7 ? В Atmel Studio 6.2 был пункт в меню Tools, а в этой нет.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

Подскажите пожалуйста, как указать симулятору Atmel studio 7, что Atmega48, вернее ее таймер работает от 32кгц кварца (асинхронно). Написал на асме код запуска таймера и в прерывании моргаю светодиодом (в железе работает), а вот в отладчике я в прерывание не попадаю - все висит с таймаутом. Хотя вот цикл проверки переписи из регистров с системным клоком в регистры таймера проходит, то есть впечатление такое ,что какая-то асинхронная частота в симуляторе все-же присутствует..
В общем непонятно как отлаживаться.. У меня проц либо спать будет либо в прерывании асинхронного таймера..
Системный клок от встроенного RC генератора.
Может тут и есть ответ но читать 100страниц сил нет.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

VAT писал(а):как указать симулятору Atmel studio 7, что Atmega48, вернее ее таймер работает от 32кгц кварца (асинхронно).
по-моему никак. используйте протеус для отладки
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

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

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

Сообщение Alexeyslav »

Протеус встраивается в студию и используется как удалённый отладчик!
Надо только найти к студии плагин ProteusVSM, кажется так. тогда становится доступна отладка практически как в реальной схеме со внешними связями и зависимостями, а не голый контроллер.
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

Спасибо,
может надо попробовать,
но пока нашел выход - если выставить бит-флаг в TIFR в окне IO студии - то шагая например "по курсору" уже попадаешь в вектор прерывания.
AVK
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Сб окт 20, 2007 14:12:03

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

Сообщение AVK »

Решил приобщиться к великому таинству Atmel Studio.
Всегда кодил на CV.
И чот я в шоке прям. Тормозная она просто чудовищно, ну да ладно. Пофиг.
Но не нашел я ни одной книги. Есть конечно справка родная но она опять же тормозит и хрен там что найдешь.
Типа как прерывания оформлять, библиотечные функции типа вызов АЦП.
Есть ли вообще смысл на нее пересаживаться с СodeVision?
В общем то к нему никаких претензий, но хочется же чего-то нового.
axillent
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

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

Сообщение axillent »

С CV на атмелстудио имеет смысл переходить по двум причинам:
- вам хочется легального ПО за бесплатно
- вы используете STK600 или атмеловские дебаггеры

В противном случае особого смысла переходить не вижу
Хотя если не ошибаюсь контекстные подстановки в студии куда лучше сделаны, очень удобно
Да и сам редактор удобнее
Она не тормозная, ей нужно много ресурсов как и большинству продуктов от микрософт
Если ресурсов достаточно то ничего не тормозит

Обработчик прерываний описывается макросом ISR() из инклуда avr/interrupt.h
Описано все это в документации на avr-glibc, а не на студию
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

Добрый день,
если я в редакторе Атмелстудии 7 забиваю данные во флеш - все в порядке - они там видны.
Если то же самое я хочу вбить в Епром - там ничего не появляется, в Епроме?
вот типа такого:
.eseg
name:
.db "hello"
.db 0x55

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

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

Сообщение Alexeyslav »

Где не появляется? В симуляторе студии? Это надо отдельно разговаривать с симулятором, он там своеобразный... может даже, ему необходимо указывать файл .EEP чтобы он его правильно подгружал.

Если это надо для отладки... поместите в начало программы нехитрый алгоритм, который переносит из ФЛЕШа некий объём данных в EEPROM, и отлаживайте. Костыль, но проблему решит если не найдёте других способов.
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

Ну да, в принципе вывернутся можно, но.. что-то я не помню таких проблем 15 лет назад когда я последний раз что-то программировал на 2313..
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

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

Сообщение Mon »

Доброй ночи, коты.
Подскажите, есть ли альтернатива "sprintf"? Случай такой: (переменная типа int)

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

{sprintf(lcd_buffer,"T1=%+i\xdf ",temp[0]);
          lcd_gotoxy(0,2);                 
          lcd_puts(lcd_buffer);}

Уж больно грузит ЦП у меги8, если верить протеусу порядка 80%. До использования "sprintf" , загрузка МК была порядка 50-60%.
В железе ещё не смотрел, как себя поведёт, только собираюсь за РЭ в магазин.
Да и вообще, 80% это не сильно ли большая загрузка для МК ?
выше головы не прыгнешь - ниже зад**цы не сядешь.
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

Mon писал(а):Доброй ночи, коты.
Подскажите, есть ли альтернатива "sprintf"? Уж больно грузит ЦП у меги8, ...

На просторах инета видел такой код:

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

char    *Byte2Str(unsigned char byte)
{
static char buf[4];
char *s = &(buf[3]);

        do {
           *--s = '0' + (byte % 10);
        } while (byte /= 10);

        return(s);
}

Доработать до signed не сложно, не так ли? :) Можно еще "/=" заинлайнить сдвигами и сложениями - совсем быстро будет. ;)
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

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

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

Сообщение Alexeyslav »

Что значит грузит на 80%? Контроллер однозадачный, и если не использовать команду SLEEP он всегда загружен на 100%, а то что сообщает протеус это загрузка центрального процессора(скорей всего одного из его ядер, вроде протеус еще не научили использовать несколько ядер под задачу симуляции) хоста, выделенного под симуляцию. И означает это лишь то что симуляция еще возможна в реальном времени.

Лучше просто измерьте время работы функции, установив на порту уровень перед вызовом и сбросив после, потом посмотрев сигнал в симуляторе на указанной ножке можно сделать вывод о времени выполнения и вообще насколько всё плохо.
VAT
Встал на лапы
Сообщения: 90
Зарегистрирован: Вс дек 20, 2015 21:03:39

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

Сообщение VAT »

Атмел студио 7. АТмега48PA
Если включаешь SLEEP моду (в частности режим idle) - симулятор не выходит из сна в прерывание UART. Бит устанавливаю - игнор. Не входит в прерывание. данные в регистр данных поместить тоже не удается. Хотя этот кусок работает в железе..
Мля как коммуникации отлаживать? Даже если отлаживать в актив моде - то непонятно как в ресивер данные загонять..

Мне на самом деле не IDLE, а Power safe нужен по потреблению, но UART там не тактируется, хотя прерывания в принципе разрешены. Придется как-то выкручиваться переводя из power safe в idle при появлении активности на ноге ресивера.. изврат.
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

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

Сообщение Mon »

Alexeyslav писал(а):Что значит грузит на 80%?

Вот что это значит (скрин во вложениях). Различные значения.
Sleep, не подходит из-за постоянного цикла опроса (считывание значений с ds1307 и 4-х ds18b20) при этом вывод на лсд

COKPOWEHEU писал(а):Вот более подробное исследование.

Вот здесь есть такая utoa,ultoa. Говорят - что она получше работает чем sprintf.
Вложения
загрузка ЦП.JPG
(21.96 КБ) 277 скачиваний
выше головы не прыгнешь - ниже зад**цы не сядешь.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

Когда это SLEEP мешал постоянному циклу опроса? Но он вообще нужен для экономии энергии... если у вас каждую секунду опрашиваются датчики то смысла спать и правда не видно.

На скринах вижу только загрузку центрального процессора компьютера и ничего больше. Это то сколько процессорного времени симулятор забирает у ядра процессора хост-компьютера на котором работает, и никакого отношения к контроллеру не имеет, кроме того ресурсы тратятся еще и на симуляцию всех элементов схемы.
И вообще эти цифры очень условны, способ измерения "загрузки процессора" в особенности тот что показывает диспетчер задач слишком груб и есть даже демки которые с легкостью наглым образом могут его обманывать.
Ответить

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