OSA for AVR

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

testerplus писал(а):(Кстати, рекомендую обновиться: в WinAVR обнаружена ошибка (особенность, если хотите), которая не позволяет использовать кооперативный планировщик. Единственный выход - отключение оптимизации; ошибку опишу чуть позже).
Если кому интересно, подготовил описание ошибки: http://wiki.pic24.ru/doku.php/osa/articles/winavr_bug
Контактная информация:
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 262
Зарегистрирован: Пт ноя 16, 2007 00:40:17
Откуда: Украина

Сообщение foxit »

testerplus писал(а):
foxit писал(а):Даешь еще примеров для AVR!
Подкиньте идею, чтобы пример был:
1. Интересен, чтобы пользователи обратили внимание.
2. Уникален, чтобы мне его писать было не скучно.
3. Прост, чтобы любой новичок мог на коленке собрать.




Есть на радиокоте статья FM STEREO тюнер с цифровым управлением [url]http://radiokot.ru/circuit/analog/receiv_transmit/12
авторы Dt-Andrew и ChipManiac

Ссылка на обсуждение на форуме [url]http://radiokot.ru/forum/viewtopic.php?f=25&t=19974

На мой взгляд очень интересный девайс.

Программа МК написана на Си.
Интересно увидеть реализацию с использованием Осы.

Думаю многим будет интересно:
проект легок в повторении
Родная и альтернативная программы дадут оценить использование Осы.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

foxit писал(а):Есть на радиокоте статья FM STEREO тюнер с цифровым управлением http://radiokot.ru/circuit/analog/receiv_transmit/12
авторы Dt-Andrew и ChipManiac
Посмотрел я исходники. Довольно громоздкая программа, я не располагаю временем, чтобы ее перевести на OSA. Хотя сама задача довольно красиво уложится в парадигму ОСРВ. Если у Вас самого будет желание заняться ее "портированием" под OSA, я окажу помощь.
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

testerplus писал(а): я не располагаю временем, чтобы ее перевести на OSA.
вы лучше найдите время разобраться с проблемой OSA+Оптимизатор AVR-GCC, а то ценность порта на AVR практически нулевая из-за этого (без оптимизации WinAVR просто нереально использовать). Если проблема решится - я, скорее всего, стану примерять вашу осу на себя :) часто приходится делать вещи, которые элегантно впишутся в концепцию операционки - отчего бы не попробовать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

ARV писал(а):вы лучше найдите время разобраться с проблемой OSA+Оптимизатор AVR-GCC
Сейчас готовлю письмо разработчикам, может они подскажут какой-то выход.
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Однако же :-(
Проверил это дело в

WinAVR-20060421 (avr-gcc 3.4.6)
WinAVR-20071221 (avr-gcc 4.2.2)

WinAVR-20090313 (avr-gcc 4.3.2)
WinAVR-20100110 (avr-gcc 4.3.3)
Klen-20091202 (avr-gcc 4.4.0)
Klen-20100228 (avr-gcc 4.5.0)

Нет ошибки только в первых двух. Причём, если уж на то пошло, это не только ошибка, но и дурь - оптимизатор "пермудрил", на самом деле нужды заводить переменную на стеке и не было.
И в первых двух, возможно, в других условиях (когда действительно понадобится переменная на стеке) ошибка опять вылезет.

Ох что-то мне это всё не нравится...
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Оказывается, в setjmp.h функция setjmp() и не помечена аттрибутом returns_twice
Но его добавление туда ни капли не помогает.
Паршиво...
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

avreal писал(а):Однако же :-(
Проверил это дело в

WinAVR-20060421 (avr-gcc 3.4.6)
WinAVR-20071221 (avr-gcc 4.2.2)

WinAVR-20090313 (avr-gcc 4.3.2)
WinAVR-20100110 (avr-gcc 4.3.3)
Klen-20091202 (avr-gcc 4.4.0)
Klen-20100228 (avr-gcc 4.5.0)
Спасибо, что проверили на разных версиях. Про 20071221 мне уже писали, но Вы правильно заметили насчет того, что в другом случае переменная с стеке может появиться.
avreal писал(а):Оказывается, в setjmp.h функция setjmp() и не помечена аттрибутом returns_twice
Это тоже странно, ведь в документации (в описании атрибута returns_twice) особо отмечено, что именно эта функция является примером его применения. Может, она в самой библиотеке как-то помечена. Просто когда я подменял вызов setjmp на вызов своей функции по дизаассемблеру было видно, что ошибка проявляется только тогда, когда функция помечена атрибутом returns_twice.
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.

Сообщение moLCHec »

Поддерживаю AVR в сомнениях в части RTOS. Сейчас реализую проект имеющий целый спектр разнородных задач. Изначально тоже думал использовать RTOS благо есть готовые примеры в том же журнале Радио, однако после тщательного анализа оказалось, что применение RTOS для имеющихся ресурсов у AVR нерациально т.к. она пожирает много ресурсов. В результате за счет использования различных прерываний и адаптивной настройки таймеров по внешним условиям удалось реализовать одновременные прием/передачу данных с аппаратного UART и с двух програмных портов + работа с SPI flash памятью. Проект выжимает практически все ресурсы из Mega164. Нетрудно понять, что для более сложного проекта нужно просто перейти на ARM7 соизмеримые по цене с тяжеловсными Mega формата TQFP64 и более.
Доводилось реализовывать проекты с потоковым приемом/передачей по UART и управлением объектом в реальном времени с использованием ПИ регулятора, также все было реализовано без особых усилий и танцев с бубном за счет аппаратных возможностей AVR.
ИМХО примение RTOS для AVR это демонстрация ВОЗМОЖНОСТИ, а не НЕОБХОМОСТЬ.
Настоящий кот всегда либо голоден,
либо невыспался ...
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

ARV писал(а):вы лучше найдите время разобраться с проблемой OSA+Оптимизатор AVR-GCC, а то ценность порта на AVR практически нулевая из-за этого (без оптимизации WinAVR просто нереально использовать).
Нашел вариант решения проблемы. Теперь на WinAVR+OSA можно использовать любой уровень оптимизации (если еще какая гадость не вылезет)

Версия 100531
Контактная информация:
Родился
Сообщения: 8
Зарегистрирован: Вс апр 11, 2010 09:36:18

Сообщение kontroller »

Написал RTOS для AVR на WinAVR.
Программировать с использованием RTOS значительно проще, хотя система,конечно, ресурсы контроллера кушает.
Работает с любыми Мегами
Если тема интересная выложу текст программы
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

kontroller писал(а):Написал RTOS для AVR на WinAVR.
Программировать с использованием RTOS значительно проще, хотя система,конечно, ресурсы контроллера кушает.
Работает с любыми Мегами
Если тема интересная выложу текст программы
о, еще одна ось нарисовалась :)))
вы сначала расскажите что да как в вашей оси, мы тут послушаем, помозгуем :) какие возможности, какие фичи, сведения о расходе ресурсов, демонстрационные примеры... а то сразу - нате код, разбирайтесь сами! :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 438
Зарегистрирован: Вт сен 25, 2007 19:40:26
Откуда: Челябинск

Сообщение mr.Kirill »

...вы сначала расскажите что да как в вашей оси, мы тут послушаем, помозгуем :)
Добавлю от себя:
Особо интересны ее плюсы и минусы в сравнении с уже существующими RTOS. И что послужило толчком к написанию оной.
[color=#0000BF]"Какой тоской душа не сражена - быть твердым заставляют времена"© "Король Лир" У.Шекспир.[/color]
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

2 ARV и mr.Kirill: при всем уважении к вам, вы не правы в постановке вопроса. Не стоит забывать, что мотивация авторов подобных программ (библиотек) ограничивается жестом "пользуйтесь на здоровье!". Здесь не будет никакой конкурентной борьбы за пользователей, поэтому время на раскрутку тратится только тогда, когда оно есть и когда оно совпадает с желанием. Плохо документированным продуктом будут пользоваться меньше, чем хорошо документированным. Авторы это знают, но документировать или нет, а уж тем более - приводить доказательства преимуществ с подробным описанием всех свойств, это отсается на их усмотрение. Кому надо - сами сравнят и выберут, а если еще и звезды удачно выстроятся, то напишут очерк и выложат на всеобщее обозрение.

2 kontroller: Я бы с интересом заглянул в исходники. Если проект неудачный, то им просто не будут пользоваться, а если удачный, то кто-то и без описания займется (либо уже кинут клич по делу: "давай описание, а то там-то там-то не разобраться")
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

да нормальная постановка вопроса, имхо. одного факта наличия чего-либо недостаточно для привлечения интереса к нему. даже до уровня "а что это тут такое?" недостаточно. как минимум надо сказать что-то типа "эта ось запускается даже на тини2313!" или "в ее состав включены модули поддержки асинхронного приема/передачи по USART" - то есть хоть что-то, что заставит посмотреть. а так "я сделал" - ну и что?
если я скажу, что по утрам пою в душе - много найдется желающих услышать пение? а если я скажу, что пою дуэтом с Анной Семенович? имхо, во втором случае уж наверняка кто-нибудь заинтересуется (как минимум, фотку концерта попросит) :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb

Сообщение testerplus »

Да нет, сам вопрос правильный и совершенно справедливый. Я говорил именно о постановке в форме требования (больше обращался к Вам, чем к mr.Kirill). Не выложит описание - его творение пройдет мимо; может, ему же хуже, а может, и все равно; а так, не вопросом, но требованием, можно отбить охоту продолжать работу над ОС (даже если он ее ведет совместно с Анной Семенович :) ).
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 174
Зарегистрирован: Вт июл 31, 2007 20:32:30
Откуда: Киев, Украина

Сообщение Томатный »

чтоли и себе написать ОС? :shock:
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 244
Зарегистрирован: Ср сен 08, 2010 11:42:19

Сообщение Dimone »

Нафига козе баян.. -иногда проще сделать самому вытесняющий планировщик, с минимально необходимым api, и не натягивать на себя чужой камзол с десятью рукавами...
Контактная информация:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Сообщение Apparatchik »

Захотелось попробовать. Пойдет ли в связке Eclipse + WinAVR? И мне пока непонятно зачем нужны семафоры и флаги, нельзя ли пользоватся просто глобальными переменными (флагами)?
«И всё-таки она вертится!»
Ответить

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