реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Кто-нибудь что-нибудь скажет плохого/хорошего о Nucleus ?
Evgeny_CD
сообщение Mar 29 2006, 07:13
Сообщение #16


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(KA_ru @ Mar 29 2006, 10:11) *
добавлю про всякие фишечки в Nucleus
поддержка разных железок там богаче.
В смысле - бывают дрова под железо?


Цитата(DASM @ Mar 28 2006, 22:07) *
Вроде симпатичная, в 40 кил уложилась..
А сколько RAM скушала? По коду близка к eCos - может, ее [eCos] и имеет смысл ковырять? Но RAM eCos надо немало - 32к самый минимум, 64к - практический минимум. + eCos:
* лицензия правильная
* виртуальные вектора (точки входа) - так что GPL Вас не колышит, Ваш бинарник может быть слинкован отдельно, и Вы не обязаны код раскрывать
* IP, FS - все есть изначально
* вполне нормальная по системны возможностям, ближе к "большим" осям, чем к "таск свитчерам"
* синтетческий порт на Linux - можно отлаживать логику без железа.

В какие камни планируете Nucleus засунуть?
Go to the top of the page
 
+Quote Post
DASM
сообщение Mar 29 2006, 09:46
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



самой оси надо 1.5 кило рама. Работаю с LPC2148
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 29 2006, 11:18
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(DASM @ Mar 28 2006, 23:22) *
в данном случае все-таки я просто ищу подходящую ось, доступную в сурцах и без вопросов работающую на маленьких армах.
...
Такое ошущение что Автор взял книгу с правилами хорошего тона на "С" и сделал наооборот.
...
У Nucleus же код ясный и выглядит красиво. (да и компания Accelerated Technology, подразделение Mentor вряд ли каку сделало). Остальное смогу сказать после нормального запуска её

Ну лично я от FreeRTOS отплясывать начал. Правда покромсал уже заметно :-(.
Сейчас до 4.00 доросла, добавлены (даже не знаю как назвать, ибо термин Автора "co-routines" явно избит и навевает другие ассоциации) "недозадачи". Kак раз под маленькие с ограниченными ресурсами. В принципе я такое руками обычно пишу, но сама идея стандартизации интересна. Кстати, я посылал Вам когда-то для разборок с MT-Link проектик, так он на практически еще не изменненой FreeRTOS.

На счет макросов Вы пожалуй погорячились - почти всегда это упрощает и жизнь, и написание, и понимание. Правда бывают и странно выглядящие, те-же со-routines - посмотрел на образец прибалдел, потом когда посмотрел исходники - долго улыбался.

FTP поднимется - скачаю, посмотрю. Если добьетесь более-менее рабочего порта и будет не жалко,
выложите?


Цитата(DASM @ Mar 28 2006, 23:22) *
в данном случае все-таки я просто ищу подходящую ось, доступную в сурцах и без вопросов работающую на маленьких армах.
...
Такое ошущение что Автор взял книгу с правилами хорошего тона на "С" и сделал наооборот.
...
У Nucleus же код ясный и выглядит красиво. (да и компания Accelerated Technology, подразделение Mentor вряд ли каку сделало). Остальное смогу сказать после нормального запуска её

Ну лично я от FreeRTOS отплясывать начал. Правда покромсал уже заметно :-(.
Сейчас до 4.00 доросла, добавлены (даже не знаю как назвать, ибо термин Автора "co-routines" явно избит и навевает другие ассоциации) "недозадачи". Kак раз под маленькие с ограниченными ресурсами. В принципе я такое руками обычно пишу, но сама идея стандартизации интересна. Кстати, я посылал Вам когда-то для разборок с MT-Link проектик, так он на практически еще не изменненой FreeRTOS.

На счет макросов Вы пожалуй погорячились - почти всегда это упрощает и жизнь, и написание, и понимание. Правда бывают и странно выглядящие, те-же со-routines - посмотрел на образец прибалдел, потом когда посмотрел исходники - долго улыбался.

FTP поднимется - скачаю, посмотрю. Если добьетесь более-менее рабочего порта и будет не жалко,
выложите?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 30 2006, 06:54
Сообщение #19


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(DASM @ Mar 28 2006, 21:08) *
с FTP... сурцы все на месте и дока pdf 320 страниц.


Так а все-же можно ссылочку?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
VAI
сообщение Mar 30 2006, 08:02
Сообщение #20


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
Так а все-же можно ссылочку?


Доступ только для группы "Свой"


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
ig_z
сообщение Mar 30 2006, 13:29
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(zltigo @ Mar 28 2006, 22:43) *
главной "изюминкой" которого автор считал быстрое табличное получение
максимально приоритетной задачи. C тех пор этот заплесневелый изюм там и лежит :-(


Имхо на языке "заплесневелой кабернетики" smile.gif это называется двухуровневое восьмиточечное дерево. На каждом уровне которого выполняется линейный поиск. Совершенно очевидно почему восьми и почему линейный. Максимальное время поиска - восемь (семь) сравнений байта на 0 плюс восемь (семь) битовых сдвигов. Имхо вполне разумное и сбалансированное решение.
Во всяком случае в вытесняемых осях соизмеримое время занимает сохранение восстановление контекста.
Скажем, в scmrtos вообще применяется линейный поиск наиболее приоритетной задачи. На сегодня, имхо, наиболее оптимальный вариант. Harry Zhurov большой респект. a14.gif

Что касается нюклеуса, мне довелось работать с портом под вин32. Осталось впечатление излишне тяжелого апи и не совсем оптимального выбора для относительно слабых контроллеров.
Простой пример: пакетный обмен по уарту. Если пакет большой, а фифо маленький , либо вообще отсутствует, что нюклеус, что мюкос - дают огромный оверхед.
Для подобных ситуаций в осекоподобных осах есть два типа прерываний - с вызовом ос апи и без такового. Изящный механизм програмных прерываний использовал и Harry Zhurov в последней версии scmrtos.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Mar 30 2006, 20:49
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(Evgeny_CD @ Mar 28 2006, 21:53) *
Интересно, а Ваша оценка - чем она "интереснее" uCOS?

Plus надо сравнивать с eCos - на мой взляд - близнецы-братья.
(вот чего мне не хватает в eCos, так это "partition memory" - выделение памяти блоками фиксированного размера (или плохо искал?), другим видом динамической памяти пользоваться боюсь)


Цитата(DASM @ Mar 28 2006, 22:08) *
... Скормил я это дело ADS1_2. Собственно только скомпилировал, ну и в main пару нужных вызовов сделал, .... Счас буду вектора нормально ставить и шедулер настраивать.

А почему не ASD2.2 ? а чем их среда Nucleus EDGE не устраивает (Eclipse + ADS2.2 + ARMulator, кстати, и демо Plus под Armulator прилагается, без исходников).
И такой вопрос - а зачем main? и что понимается под "шедулер настраивать"? разве там есть настройки времени компиляции?
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Mar 30 2006, 21:01
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(DASM @ Mar 29 2006, 00:22) *
...У Nucleus же код ясный и выглядит красиво. (да и компания Accelerated Technology, подразделение Mentor вряд ли каку сделало)...

smile.gif "каку сделало" и еще какую, и такое впечатление, что специально - в планировщике запрещали прерывание после доступа к глобальной структуре - две строчки поменяли местами.
а что они делают в TCC_Time_Slice (tcc.c) я так и не понял - надо разбираться
(порт под Infineon Tricore)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 31 2006, 05:58
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ig_z @ Mar 30 2006, 15:29) *
Имхо вполне разумное и сбалансированное решение.

Ага, если кого устраивают все задачи с разными приоритетами, ну и принципиально ограниченное
количество задач. А все остальные должны или "балансировать" уже свои решения, либо переписывать
систему.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 31 2006, 06:37
Сообщение #25


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(zltigo @ Mar 31 2006, 12:58) *
Цитата(ig_z @ Mar 30 2006, 15:29) *

Имхо вполне разумное и сбалансированное решение.

Ага, если кого устраивают все задачи с разными приоритетами

А можно обосновать настоятельную необходимость в задачах с одинаковыми приоритетами? Желательно на примерах.

Цитата(zltigo @ Mar 31 2006, 12:58) *
, ну и принципиально ограниченное
количество задач.

Максимальное количество поддерживаемых задач - не прихоть, а компромисс. Чем больше задач, тем больше накладных расходов для их обработки. И сложность планировщика, как следствие. Здесь и проявляется сбалансированность.

Цитата(zltigo @ Mar 31 2006, 12:58) *
А все остальные должны или "балансировать" уже свои решения, либо переписывать
систему.

Остальные просто должны взять другую ОС, которая их в этой части удовлетворит. И расплатиться за это накладными расходами по памяти и быстродейтсвию. Если целевой процессор это позволяет. Ничего беслатно не быват, вся жизнь - сгусток компромиссов. Сабжевая ОС (и eCOS) просто толще, чем uCOS, и ниши и них немного другие, хотя и пересекающиеся.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 31 2006, 06:49
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(dxp @ Mar 31 2006, 08:37) *
А можно обосновать настоятельную необходимость в задачах с одинаковыми приоритетами? Остальные
...
просто должны взять другую ОС, которая их в этой части удовлетворит. И расплатиться за это
...
Сабжевая ОС (и eCOS) просто толще, чем uCOS, и ниши и них немного другие, хотя и пересекающиеся.

1.Мы уже, кажется, беседовали на эту тему и с "примерами". Не думаю, что стоит повторять.
2.Что и было сделано.
3.Именно по этой причине я к ней и буду присматриваться, ибо для нижнего уровня выбор сделан
(FreeRTOS) и сейчас выбор, либо по мере необходимости самостоятельно развивать возможности, либо что-то eCOS образное в качестве более можной платформы выбрать. Nucleus пока не вдохновил, но
буду смотреть еще более пристально.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 31 2006, 07:39
Сообщение #27


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(zltigo @ Mar 31 2006, 13:49) *
1.Мы уже, кажется, беседовали на эту тему и с "примерами". Не думаю, что стоит повторять.

Не помню, что-то. Ссылкой не покажете?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 31 2006, 16:38
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(dxp @ Mar 31 2006, 09:39) *
Не помню, что-то. Ссылкой не покажете?


http://electronix.ru/forum/index.php?showt...698&hl=freertos
Только, действительно, тема оказалась :-( несколько другая - "зачем невытесняющая", но похожая - задачи одного приоритета могут не вытеснять друг друга.
Ну в дополнение - вот прямо в текущем проекте у меня обслуживается несколько SHDSL железяк. Они равноправны и асинхроннны друг от друга и их обслуживание не является основным назначением устройства. Чем это не случай одной задачи запущенной несколько раз с одним уровнем приоритета? Какой вариант более "кошерный" нужно изобразить?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 1 2006, 05:55
Сообщение #29


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(zltigo @ Mar 31 2006, 23:38) *
Ну в дополнение - вот прямо в текущем проекте у меня обслуживается несколько SHDSL железяк. Они равноправны и асинхроннны друг от друга и их обслуживание не является основным назначением устройства. Чем это не случай одной задачи запущенной несколько раз с одним уровнем приоритета? Какой вариант более "кошерный" нужно изобразить?

Обслуживание железяк занимает все вермя? Или таки не все? Видимо, не все, иначе проц просто не справлялся бы с задачей по параметру быстродействие. Тогда, если производительности хватает, то и распределить работу по событиям и приоритетам. Например, задача обрабатывает пакет данных от оной железяки. Обрабоатала - отдала управление. В следующий раз она получит управление, когда придет очередной пакет. Отдав управление (встав на ожидание семафора), задача ждет, а управление переходит следующей задаче, если для нее есть работа (пришел ее пакет данных, о чем был взведен соотвествующий семафаор). Поскольку обе задачи из класса фоновых, то их приоритетность друг относительно друга практически никакой роли не играет. И код получается прозрачным и предсказуемым - управление от одной задачи переходит к другой вполне предсказуемо - от первой (более приоритетной) ко второй - по окончании обработки пакета, к первой - по приходу ее пакета. И эффектиность распределения тут не хуже, чем схеме карусели. И управление полностью по событиям - т.е. более предсказуемо с точки зрения внешних событий. А планировщик такой (чисто приоиритетный) заметно попроще, чем комбинированный (приоритетно-карусельный), а значит занимающий меньше места (это, в общем, мелочь) и работающий быстрее (а вот это уже не мелочь).


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 1 2006, 07:26
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(dxp @ Apr 1 2006, 07:55) *
Например, задача обрабатывает пакет данных от оной железяки.

Может я не написал прямо, что железяки ОДИНАКОВЫЕ, само устройство по количеству таких
железяк масштабируемое, но мне казалось, что это и так понятно. Железки не так, что-бы простые,
но и не чрезмерно сложные.
Цитата
И код получается прозрачным и предсказуемым - управление от одной задачи переходит к другой вполне предсказуемо - от первой (более приоритетной)

Вот именно за такое и боролся - по завершению обслуживания первой железки, если требует
обслуживания вторая... третья... железка-близнец к обслуживанию ее и переходим.
При этом "более приоритетной" здесь явно лишнее. Естественно, что задачи можно делать не комплексные а как Вы предлагаете - ориентированные на железку а ориетнированные на одну из функций железки, а уж с количеством железок путь задача внутри разбирается.... Можно? - МОЖНО! Будет работать - БУДЕТ! Нужет такой подход? - НУЖЕН!, когда комплексная задача начнет превышать
критический предел сложности (для конкретного разработчика?) и разбивка ее на задачи запускаемые под упралением системы принесет пользу.

Стоит, однако провозглашать такой путь практически единственно правильным? Оперируя
постулатами:
Цитата
"И код получается прозрачным и предсказуемым"

"И эффектиность распределения тут не хуже, чем схеме карусели"

"планировщик такой (чисто приоиритетный) заметно попроще"

"а значит занимающий меньше места (это, в общем, мелочь)"

"работающий быстрее (а вот это уже не мелочь)"


Вот тут вынуждет ответить - НЕ ТАК ОДНОЗНАЧНО ВСЕ.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 20:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016