В процессе дискусси на Электрониксе хороший пост родился. -> http://electronix.ru/forum/index.php?s=&showtopic=19756&view=findpost&p=143913
[quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Насчет килобаксов - это зря, support нужен сразу как только напишется первая сотня строк кода, и тут пока два выхода - или есть хорошо изученная и бесплатно поддерживаемая система или энтот саппорт приобретен. rtems по сравнению с ecos/uclinux является более скромной в количестве пользователей, и как я понял Вами еще не применялась. Покупать support, даже если он есть Вы не собираетесь - ставим "-1" по даннному пункту.[/quote] Мне пока трудно сказать, но по моему субъективному ощущению скорость и качество ответов на вопросы в лист для RTEMS и eCos сопоставимы. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Пересмотрев 16 разных осей под ARM, я отметил одну тенденцию для бесплатных one - обычно они имеют generic порт основных своих ф-ий - т.е. разработчик сам затачивает ось под конкретный девайс и свою среду разработки, также пишет сам все драйвера для него и для bsp. Исключения составляет только ecos (обьяли ребята необьятное) и ethernut - которая имеет довольно стройную архитектуру (аффтару respect за эстетизьм). Похоже что окончательно портировать rtems придется самостоятельно.[/quote] Я пока еще не видел порта eCos, в которым были бы все дрова для конкретного камня. Например потому, что есть "стандартные дрова" - Ethernet, UART - они, как правило, есть; а для того же SPI дрова могут быть сильно разыне - простые; с очередями транзакций - это если несколько процессоов командуют несколькими устройствами на SPI шине и т.д. Кроме того, бывает еще ПЛИСИны и прочая custom периферия. Так что процесс дровонаписательства осваивать надо по любому. RTEMS на AT91RM9200 имеет все базовые дрова: сеть, UART, I2C. Все остальное пишется "по месту" без проблем. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Далее - масштабируемость - рост мощности bsp подразумевает более крутые задачи - общая тенденция в мире конгломератов такова, что они масштабируемы до определенного уровня - потом начинаются проблемы. Т.е. оказывается проще добавить памяти и поднять uclinux, чем пытаться вытащить за уши (а это патчи, баги, проблемы с заказчиком и т.д.) в реальный мир многозадачности и разных сервисов встроенную ось.[/quote] Абсолютно согласен, для каждой оси есть оптимальный "динамический диапазон" применений. Все от задач зависит - лично для моей линейки контроллеров RTEMS на первый вгляд хватит. Вероятно, было бы очень круто уметь переписывать керел Линуха при "жесткой оптимизации" конкретных проектов - тогда можно было бы *Linux/*BSD выбрать в качестве стандарта форЁва (размер памяти до 32М меня слабо волнует) - но я такого пока не умею, и сильно не уверен, что когда-то научусь. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']: IP, FS, POSIX по максимуму. Нет у них этого по макимуму и быть не может : - в ip нет RTP и light UDP, которые так необходимы в телефонии - уверен что mmap и прочая хренотень в FS не поддерживается - чтобы пройти сертификацию на POSIX нужно много баков заплатить - за linux в свое время заплатили - как тут дело обстоит у rtems ?[/quote] RT применительно к IP меня (пока?) не колышит. Так что ничего сказать не могу. Насчет mmap также бессилен ответить - ради интереса задал вопрос в лист. Сертификация оси меня пока не сильно волнует - для моих задач не просматривается необходимость в ней. Разумеется, я в очередной раз испытываю смущение от RTAI - Вы успешно "продвигаете" его. И меня подмывает разобраться - а может и правду замечательная штуковина? Точнее, в том, то она замечательная, я не сомневаюсь :) Я сильно сомневаюсь в том, что смогу в ней разобраться за осмысленное время. Например, я пока нигде не видел готового кернела на AT91RM9200 с RTAI. Вы говорили, то патч есть довольно давно - но я пока не слышал массовых отзывов о таком. Смотрим сайт https://www.rtai.org/ * ARM (StrongARM; ARM7: clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x) Что-то там 9200 не упоминается - очень странно, весьма и весьма популярный контроллер. Если бы был какой-нибудь гуру под рукой - я, вероятно, взялся бы за освоение RTAI. Но пока я испытываю внутренний страх перед Linix и иже с ним. eCos, RTEMS мне кажутся куда проще и понятнее. Понятно, что это глюки психологии - но ничего не могу с собой поделать. В принципе можно, конечно, на EP93xx уйти - RTAI для них точно есть, недорогих евал бордов хватает, но Atmel как-то роднее, ColdFire очень перспективно по соотношени. цена/качество ... В чем вся прелесть eCos и RTEMS - я всегда могу писать код "с оглядкой" на uCOS. Т.е. если мне не нужно ничего особо крутого - я всегда могу сделать downgrade проекта и запустить его под uCOS. В общем-то меня это успокаивает. Если сделать некое подобие OS Abstraction Layer - то можно писать инвариантно по отношению к оси (базовые примитивы мультитаскинга). У eCos есть Ecoscentric, которая с одной стороны - залог долгого и успешного существования этой ОСи, а с другой стороны, старательно подгребает под себя все самое интересное - те же порты на AT91RM9200 и ColdFire. Я не готов пока купить порт и тулзы у центриков за 2.5 килофунтов. Резюме: * Linux, uClinuix, BSD - правильные и замечательные ОСи * RT при помощи стандартных средств, достижимое в этих осях, будет во многие разы хуже RT eCos, RTEMS. * RT на уровне кернел хака *nix будет, вероятно, вполне сопоставимо с RT eCos, RTEMS - но я не чувствую в себе сил стать "kernel хакером" * RTAI - все уже сказал * я испытываю некоторый сдержанный оптимизм по поводу LPC28xx и еще больший оптимизм по поводу грядущих LPC23хх в PQFP208. Т.е. "мелкопоганистый" BGA LPC28xx сильно портит малину, но с другой стороны 10$ за камень с кешем и 1М FLASH внутри - очень привлекательно (защита и все такое). uClinux, Linux в 1М, вероятно, можно впихнуть - но они будет так обрезаны, что о стандартах там и говорить не придется. В конце концов, можно сделать универсальную "плату ядра" и разориться на ее заказ в Китае (там же можно и долбаный безсвинцовый BGA 0.5 запаять). * еще больший оптимизм я испытываю по поводу ColdFire - особенно когда MCF5208 выйдет. Я уже много писал на эту тему. А тут RTEMS вне конкуренции - там 68k/ColdFire - самый любимый порт. * Ну а качестве топового решения меня просто распирает отптимизм от MPC5200B. :) RTEMS имеет "базовый порт" на 5200 (не Б) - и это хорошая стартовая точка. Горазо лучше, чем отсутствие чего бы то ни было для 5200 в eCos (хотя eCos имеет очень качественный порт PPC405; базовый порт для этого камня есть и в RTEMS). Особенно сейчас, когда на B версию обещаны цены чуть ли не 30$ здесь (слава интелю и AMD, наконец-то отваливших с embedded рынка - понятно, что после этого FreeScale приударила)! Таким образом, если я выберу RTEMS в качестве базовой основы, то я получу единую ось для линейки продуктов: * ultralite - наидешевейшие решения - LPC28xx, LPC23xx, цена на уровне "народных" LPC21xx /AT91SAM7S * lite - MCF5208 * regular - AT91RM9200, MCF старшие * pro - MPC5200B Ну а если "наверху" мне чего-то не хватит - всегда могу уйти на MPC5200 Linux - http://www.denx.de мне вседа поможет.
[quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Насчет килобаксов - это зря, support нужен сразу как только напишется первая сотня строк кода, и тут пока два выхода - или есть хорошо изученная и бесплатно поддерживаемая система или энтот саппорт приобретен. rtems по сравнению с ecos/uclinux является более скромной в количестве пользователей, и как я понял Вами еще не применялась. Покупать support, даже если он есть Вы не собираетесь - ставим "-1" по даннному пункту.[/quote] Мне пока трудно сказать, но по моему субъективному ощущению скорость и качество ответов на вопросы в лист для RTEMS и eCos сопоставимы. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Пересмотрев 16 разных осей под ARM, я отметил одну тенденцию для бесплатных one - обычно они имеют generic порт основных своих ф-ий - т.е. разработчик сам затачивает ось под конкретный девайс и свою среду разработки, также пишет сам все драйвера для него и для bsp. Исключения составляет только ecos (обьяли ребята необьятное) и ethernut - которая имеет довольно стройную архитектуру (аффтару respect за эстетизьм). Похоже что окончательно портировать rtems придется самостоятельно.[/quote] Я пока еще не видел порта eCos, в которым были бы все дрова для конкретного камня. Например потому, что есть "стандартные дрова" - Ethernet, UART - они, как правило, есть; а для того же SPI дрова могут быть сильно разыне - простые; с очередями транзакций - это если несколько процессоов командуют несколькими устройствами на SPI шине и т.д. Кроме того, бывает еще ПЛИСИны и прочая custom периферия. Так что процесс дровонаписательства осваивать надо по любому. RTEMS на AT91RM9200 имеет все базовые дрова: сеть, UART, I2C. Все остальное пишется "по месту" без проблем. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']Далее - масштабируемость - рост мощности bsp подразумевает более крутые задачи - общая тенденция в мире конгломератов такова, что они масштабируемы до определенного уровня - потом начинаются проблемы. Т.е. оказывается проще добавить памяти и поднять uclinux, чем пытаться вытащить за уши (а это патчи, баги, проблемы с заказчиком и т.д.) в реальный мир многозадачности и разных сервисов встроенную ось.[/quote] Абсолютно согласен, для каждой оси есть оптимальный "динамический диапазон" применений. Все от задач зависит - лично для моей линейки контроллеров RTEMS на первый вгляд хватит. Вероятно, было бы очень круто уметь переписывать керел Линуха при "жесткой оптимизации" конкретных проектов - тогда можно было бы *Linux/*BSD выбрать в качестве стандарта форЁва (размер памяти до 32М меня слабо волнует) - но я такого пока не умею, и сильно не уверен, что когда-то научусь. [quote name='Harbour' date='Aug 12 2006, 08:37' post='143793']: IP, FS, POSIX по максимуму. Нет у них этого по макимуму и быть не может : - в ip нет RTP и light UDP, которые так необходимы в телефонии - уверен что mmap и прочая хренотень в FS не поддерживается - чтобы пройти сертификацию на POSIX нужно много баков заплатить - за linux в свое время заплатили - как тут дело обстоит у rtems ?[/quote] RT применительно к IP меня (пока?) не колышит. Так что ничего сказать не могу. Насчет mmap также бессилен ответить - ради интереса задал вопрос в лист. Сертификация оси меня пока не сильно волнует - для моих задач не просматривается необходимость в ней. Разумеется, я в очередной раз испытываю смущение от RTAI - Вы успешно "продвигаете" его. И меня подмывает разобраться - а может и правду замечательная штуковина? Точнее, в том, то она замечательная, я не сомневаюсь :) Я сильно сомневаюсь в том, что смогу в ней разобраться за осмысленное время. Например, я пока нигде не видел готового кернела на AT91RM9200 с RTAI. Вы говорили, то патч есть довольно давно - но я пока не слышал массовых отзывов о таком. Смотрим сайт https://www.rtai.org/ * ARM (StrongARM; ARM7: clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x) Что-то там 9200 не упоминается - очень странно, весьма и весьма популярный контроллер. Если бы был какой-нибудь гуру под рукой - я, вероятно, взялся бы за освоение RTAI. Но пока я испытываю внутренний страх перед Linix и иже с ним. eCos, RTEMS мне кажутся куда проще и понятнее. Понятно, что это глюки психологии - но ничего не могу с собой поделать. В принципе можно, конечно, на EP93xx уйти - RTAI для них точно есть, недорогих евал бордов хватает, но Atmel как-то роднее, ColdFire очень перспективно по соотношени. цена/качество ... В чем вся прелесть eCos и RTEMS - я всегда могу писать код "с оглядкой" на uCOS. Т.е. если мне не нужно ничего особо крутого - я всегда могу сделать downgrade проекта и запустить его под uCOS. В общем-то меня это успокаивает. Если сделать некое подобие OS Abstraction Layer - то можно писать инвариантно по отношению к оси (базовые примитивы мультитаскинга). У eCos есть Ecoscentric, которая с одной стороны - залог долгого и успешного существования этой ОСи, а с другой стороны, старательно подгребает под себя все самое интересное - те же порты на AT91RM9200 и ColdFire. Я не готов пока купить порт и тулзы у центриков за 2.5 килофунтов. Резюме: * Linux, uClinuix, BSD - правильные и замечательные ОСи * RT при помощи стандартных средств, достижимое в этих осях, будет во многие разы хуже RT eCos, RTEMS. * RT на уровне кернел хака *nix будет, вероятно, вполне сопоставимо с RT eCos, RTEMS - но я не чувствую в себе сил стать "kernel хакером" * RTAI - все уже сказал * я испытываю некоторый сдержанный оптимизм по поводу LPC28xx и еще больший оптимизм по поводу грядущих LPC23хх в PQFP208. Т.е. "мелкопоганистый" BGA LPC28xx сильно портит малину, но с другой стороны 10$ за камень с кешем и 1М FLASH внутри - очень привлекательно (защита и все такое). uClinux, Linux в 1М, вероятно, можно впихнуть - но они будет так обрезаны, что о стандартах там и говорить не придется. В конце концов, можно сделать универсальную "плату ядра" и разориться на ее заказ в Китае (там же можно и долбаный безсвинцовый BGA 0.5 запаять). * еще больший оптимизм я испытываю по поводу ColdFire - особенно когда MCF5208 выйдет. Я уже много писал на эту тему. А тут RTEMS вне конкуренции - там 68k/ColdFire - самый любимый порт. * Ну а качестве топового решения меня просто распирает отптимизм от MPC5200B. :) RTEMS имеет "базовый порт" на 5200 (не Б) - и это хорошая стартовая точка. Горазо лучше, чем отсутствие чего бы то ни было для 5200 в eCos (хотя eCos имеет очень качественный порт PPC405; базовый порт для этого камня есть и в RTEMS). Особенно сейчас, когда на B версию обещаны цены чуть ли не 30$ здесь (слава интелю и AMD, наконец-то отваливших с embedded рынка - понятно, что после этого FreeScale приударила)! Таким образом, если я выберу RTEMS в качестве базовой основы, то я получу единую ось для линейки продуктов: * ultralite - наидешевейшие решения - LPC28xx, LPC23xx, цена на уровне "народных" LPC21xx /AT91SAM7S * lite - MCF5208 * regular - AT91RM9200, MCF старшие * pro - MPC5200B Ну а если "наверху" мне чего-то не хватит - всегда могу уйти на MPC5200 Linux - http://www.denx.de мне вседа поможет.