Ruslan1 17 18 января, 2011 Опубликовано 18 января, 2011 · Жалоба Здравствуйте! Если тема уже обсуждалась, пните меня сразу в нужную сторону. Есть новый проект, где есть вроде бы мощное железо (PIC32, то есть MIPS32 M4K ядро, много ROM и RAM). Функционал несложный, но разношерстный и руки чешутся прикрутить это все в виде отдельный задач многозадачки (кнопки, дисплейчик, внешние устройства хранения, несколько измериловок иногда даже с независимыми хардверными интерфейсами и т.п.). В активе имею опыт серьезного использования микриумовского юкоса (с ихней же графикой) на атмелевском ARM9, впечатления самые лучшие остались. Но тут засада в том, что коммерческие RTOS очень сильно не приветствуются, скажут мне "пиши совсем без RTOS, нечего морду баловать" и будут правы. Поэтому ищется что-то что можно использовать официально бесплатно. Озвучу хотелки по пунктам: 1. RTOS с портом для PIC32. 2. официально бесплатная 3. документация на английском или хоть на русском. Помнится, с большим удовольствием Лабросса читал.... 4 доступна в исходниках. Несколько раз микриум приходилось под себя править- наверное повесился бы без исходных текстов. Идеал если так и подключается к проекту в виде компилируемых исходников. 5. Нужный функционал- наверное тот который стандартно все RTOSы дают: приоритеты, семафоры, сообщения.... . Встроенная поддержка сложных интерфейсов не нужна, все равно их не хватит, свое писать проще чем в чужом копаться. 6. Похожесть по логике работы на микриум (если есть выбор), я быстрее разберусь. 7. Не экзотика. Надоело быть первопроходимцем там где это не нужно. На данный момент рассматриваю FreeRTOS, но может быть еще какие-нибудь варианты хорошие есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kosyak© 0 18 января, 2011 Опубликовано 18 января, 2011 · Жалоба TNKernel - http://www.tnkernel.com/ порт для пиков - http://www.tnkernel.com/port_dsPIC.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 18 января, 2011 Опубликовано 18 января, 2011 · Жалоба TNKernel - http://www.tnkernel.com/ порт для пиков - http://www.tnkernel.com/port_dsPIC.html Ага, спасибо за совет. Сам после нескольких часов чесания интернета понял что нужно выбирать между FreeRTOS и TNKernel. Теперь надо найти какие-то аргументы в пользу одной из них. Можете чем-то аргументировать, что в TNKernel лучше чем в оппоненте (FreeRTOS)? Мне кажется, что в TNKernel механизмы взаимодействия процессов богаче, но не уверен. http://www.pic24.ru выглядит как неплохой русскоязычный саппорт для TNK. Я не понимаю, почему Microchip не говорит ни слова о TNK, хотя FreeRTOS у них в списке рекомендуемых опреационок есть. В то же время на майкрочиповском форуме нашел следующее (обсуждается криво работающий под FreeRTOS аппнот): I have given it a try and gave up. It's hard to get things working with FreeRTOS and once it is working, a lot of functionality one may expect from a mature RTOS is missing. FreeRTOS does not offer: Timers: The only timing functionality is to suspend a thread for a number of ticks. Event flags: Most RTOSes offer event flags which is a powerfull mechanism making application development much easier. Memory management from ISR's: ISR's are not allowed to allocate a buffer. Time out: No time outs are offered. Added to the poor performance and the complex API for me this is no serious alternative. Why is this RTOS so popular, from a technical perspective it is just not what one may expect so probably some good PR. и еще, уже про TNK: You might want to take a look at TNKernel. There is a PIC32 port now -- but, it is hidden on the Russian side of the web site. Apparently the English side is not being updated. The source code is in english. Still no "Timer", but the Event Flags feature is very handy. You can easily signal periodic tasks from the timer interrupt. Ну, с таким недостатком TNK, как плохой инглиш саппорт, можно смириться, наоборот лишний повод добится нужности если вдруг к потенциальным противникам попадет :) Завтра попробую составить табличку сравнения, не могу просто лотерею устраивать, буду думать что не угадал с выбором :) Цель стоит глобальная- сесть на выбранную RTOS и не сползать с нее хоть годик-другой, таская за собой по разным проектам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kosyak© 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Сам я ФриРТОС не пользовал..сравнивать не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denim 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба блин такая же фигня только для PIC24 есть исходник работы с RFID в FreeRTOS для кортекса М3 но в свою железку хочу делать на PIC24 + TNKernel, чисто исходя из габаритов интересно, получится ли портировать код из FreeRTOS на TNKernel :rolleyes: ни разу еще такого не делал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kosyak© 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Портировать конечно получится. Я думаю что фриртос имеет тот же набор сервисов ОС как и у тнкернел... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба если не ошибаюсь, то во FreeRTOS нет механизма синхронизации через "Event Flags". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба если не ошибаюсь, то во FreeRTOS нет механизма синхронизации через "Event Flags". Там на самом деле есть ТОЛЬКО очень приличный механизм очередей сообщений. Всяки разны семафоры FreeRTOS эмулируются на этом механизме. И как-то так получилось само собой, что я уже лет десять ничем другим кроме очередей не пользуюсь, ибо склонился к мысли, что в прилично продуманной программе сущностей должно минимальное количество. С этой точки зрения TNKernel представляет более полный набор специализированных системных сервисов и ее использование и особенно портирование должно пройти легче. Я уже как-то давно писал, что если-бы на момент выбора операционной системы под ARM TNKernel была доступна, я бы на тот момент опираясь на свой опыт выбрал-бы именно ее. Ибо она более привычна, и более похожа например, на ту-же uCOS. Но она на тот момент обнародована не была и я выбрал FreeRTOS. Потом я в ней признал то, что сейчас мне очень нравится - хороший уровень бескомпромисности в реализации системы, изначально заложенный менеджер памяти,.... Да, это стоит ресурсов как по коду, так по RAM и быстродействию, но как-то меня последнее время погоня за каждым тактом и байтом все меньше привлекать стала. Возможно в этом отношении TNKernel является золотой серединой между FreeRTOS и системами типа scmRTOS. Да, FreeRTOS за многие годы была заметно под себя подогнана и теперь отличается от авторского варианта, но это, полагаю, произойдет с любой легкой встраиваемой системой. Вопрос на самом деле только в том, что выбрать для отправной точки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба почти совсем выбрал TNKernel, но может кто-нибудь может подсказать: 1. Документация. Где брать актуальную документацию? с самим ядром все ясно, есть свежие версии в свободном доступе, а вот документацию нашел только 2006 года (tnkernel-user-guide-2-3.pdf). Может быть автор ее продает? я согласен и купить :) Ну и конечно вопрос по литературе, может уже книжки какие издали про этот TNKernel ? 2. Популярность. Я вижу на электрониксе целый подфорум по freeRTOS, почему такого по TNKernel нет? сильно менее популярна или просто вопросов меньше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба почти совсем выбрал TNKernel, но может кто-нибудь может подсказать: Ну так напишите Автору, он здешний форумчанин :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Есть новый проект, где есть вроде бы мощное железо (PIC32, то есть MIPS32 M4K ядро, много ROM и RAM). Я бы на вашем месте послал бы это железо и перешел бы на чипы от Freescale. И получил бы даром операционку MQX. Спокойная жизнь была бы обеспечена еще на десяток проектов вперед. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denim 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Сейчас возникла необходимость повозиться и с PIC24 и с Coldfire. Т.е. одновременно буду изучать TNKernel и MQX. Посмотрим кто жирнее )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Я бы на вашем месте послал бы это железо и перешел бы на чипы от Freescale. И получил бы даром операционку MQX. Спокойная жизнь была бы обеспечена еще на десяток проектов вперед. Это что, выбрать новое семейство чтобы к нему RTOS подошел? :) Не будем обсуждать железо, я его уже выбрал и надеюсь что скоро плату увижу. А спокойной жизни выбором железяки не добится, оно как раз часто масштабироваться может: то ног надо больше, то какой экзотический интерфейс.... Ну и точно не хочется изучать и применять RTOS с плохой портируемостью (если я правильно Вас понял, этот MQX для фрискайлов заточен). Ну так напишите Автору, он здешний форумчанин :) Написал я ему. Собственно не вижу ничего плохого если эту документацию можно купить, то есть без халявы. Но тут два момента: а есть ли она вообще и если есть, то как автору продать ее более одного раза. Какой-нить NDA подписать можно, но проконтролировать его исполнение а тем более организовать какое-то преследование нерадивых покупателей IMHO совершенно нереально. Вот я и думаю что автор и не писал и не будет это писать, пока сам не захочет или какая-то контора не оплатит ему эту работу. Альтруизм это хорошо, но кушать все равно хочется..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Это что, выбрать новое семейство чтобы к нему RTOS подошел? :) Не будем обсуждать железо, я его уже выбрал и надеюсь что скоро плату увижу. А спокойной жизни выбором железяки не добится, оно как раз часто масштабироваться может: то ног надо больше, то какой экзотический интерфейс.... Ну и точно не хочется изучать и применять RTOS с плохой портируемостью (если я правильно Вас понял, этот MQX для фрискайлов заточен). Ну не знаю вашей ситуации точно, поэтому чисто по своей логике скажу. Софт гораздо сложнее и дольше писать чем делать железо. Поэтому надо упрощать создание софта. Значит надо гибче смотреть на железо. Но с другой стороны семейство Kinetis от Freescale гораздо шире чем семейство Microchip-а. Вот там действительно перспективы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denim 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Но с другой стороны семейство Kinetis от Freescale гораздо шире чем семейство Microchip-а. Вот там действительно перспективы.он не очень скоро станет популярен у поставщиков Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться