Перейти к содержанию
    

ищется официально бесплатная RTOS для PIC32

Здравствуйте!

 

Если тема уже обсуждалась, пните меня сразу в нужную сторону.

 

Есть новый проект, где есть вроде бы мощное железо (PIC32, то есть MIPS32 M4K ядро, много ROM и RAM). Функционал несложный, но разношерстный и руки чешутся прикрутить это все в виде отдельный задач многозадачки (кнопки, дисплейчик, внешние устройства хранения, несколько измериловок иногда даже с независимыми хардверными интерфейсами и т.п.).

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

 

Озвучу хотелки по пунктам:

1. RTOS с портом для PIC32.

2. официально бесплатная

3. документация на английском или хоть на русском. Помнится, с большим удовольствием Лабросса читал....

4 доступна в исходниках. Несколько раз микриум приходилось под себя править- наверное повесился бы без исходных текстов. Идеал если так и подключается к проекту в виде компилируемых исходников.

5. Нужный функционал- наверное тот который стандартно все RTOSы дают: приоритеты, семафоры, сообщения.... . Встроенная поддержка сложных интерфейсов не нужна, все равно их не хватит, свое писать проще чем в чужом копаться.

6. Похожесть по логике работы на микриум (если есть выбор), я быстрее разберусь.

7. Не экзотика. Надоело быть первопроходимцем там где это не нужно.

 

 

На данный момент рассматриваю FreeRTOS, но может быть еще какие-нибудь варианты хорошие есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 и не сползать с нее хоть годик-другой, таская за собой по разным проектам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

блин такая же фигня

только для PIC24

есть исходник работы с RFID в FreeRTOS для кортекса М3

но в свою железку хочу делать на PIC24 + TNKernel, чисто исходя из габаритов

интересно, получится ли портировать код из FreeRTOS на TNKernel :rolleyes:

ни разу еще такого не делал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Портировать конечно получится. Я думаю что фриртос имеет тот же набор сервисов ОС как и у тнкернел...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если не ошибаюсь, то во FreeRTOS нет механизма синхронизации через "Event Flags".

Там на самом деле есть ТОЛЬКО очень приличный механизм очередей сообщений. Всяки разны семафоры FreeRTOS эмулируются на этом механизме. И как-то так получилось само собой, что я уже лет десять ничем другим кроме очередей не пользуюсь, ибо склонился к мысли, что в прилично продуманной программе сущностей должно минимальное количество. С этой точки зрения TNKernel представляет более полный набор специализированных системных сервисов и ее использование и особенно портирование должно пройти легче. Я уже как-то давно писал, что если-бы на момент выбора операционной системы под ARM TNKernel была доступна, я бы на тот момент опираясь на свой опыт выбрал-бы именно ее. Ибо она более привычна, и более похожа например, на ту-же uCOS. Но она на тот момент обнародована не была и я выбрал FreeRTOS. Потом я в ней признал то, что сейчас мне очень нравится - хороший уровень бескомпромисности в реализации системы, изначально заложенный менеджер памяти,.... Да, это стоит ресурсов как по коду, так по RAM и быстродействию, но как-то меня последнее время погоня за каждым тактом и байтом все меньше привлекать стала. Возможно в этом отношении TNKernel является золотой серединой между FreeRTOS и системами типа scmRTOS.

Да, FreeRTOS за многие годы была заметно под себя подогнана и теперь отличается от авторского варианта, но это, полагаю, произойдет с любой легкой встраиваемой системой. Вопрос на самом деле только в том, что выбрать для отправной точки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

почти совсем выбрал TNKernel, но может кто-нибудь может подсказать:

1. Документация. Где брать актуальную документацию? с самим ядром все ясно, есть свежие версии в свободном доступе, а вот документацию нашел только 2006 года (tnkernel-user-guide-2-3.pdf). Может быть автор ее продает? я согласен и купить :) Ну и конечно вопрос по литературе, может уже книжки какие издали про этот TNKernel ?

2. Популярность. Я вижу на электрониксе целый подфорум по freeRTOS, почему такого по TNKernel нет? сильно менее популярна или просто вопросов меньше?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

почти совсем выбрал TNKernel, но может кто-нибудь может подсказать:

Ну так напишите Автору, он здешний форумчанин :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть новый проект, где есть вроде бы мощное железо (PIC32, то есть MIPS32 M4K ядро, много ROM и RAM).

 

Я бы на вашем месте послал бы это железо и перешел бы на чипы от Freescale. И получил бы даром операционку MQX.

Спокойная жизнь была бы обеспечена еще на десяток проектов вперед.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас возникла необходимость повозиться и с PIC24 и с Coldfire.

Т.е. одновременно буду изучать TNKernel и MQX.

Посмотрим кто жирнее ))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы на вашем месте послал бы это железо и перешел бы на чипы от Freescale. И получил бы даром операционку MQX.

Спокойная жизнь была бы обеспечена еще на десяток проектов вперед.

Это что, выбрать новое семейство чтобы к нему RTOS подошел? :)

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

А спокойной жизни выбором железяки не добится, оно как раз часто масштабироваться может: то ног надо больше, то какой экзотический интерфейс.... Ну и точно не хочется изучать и применять RTOS с плохой портируемостью (если я правильно Вас понял, этот MQX для фрискайлов заточен).

 

 

Ну так напишите Автору, он здешний форумчанин :)

 

Написал я ему. Собственно не вижу ничего плохого если эту документацию можно купить, то есть без халявы. Но тут два момента: а есть ли она вообще и если есть, то как автору продать ее более одного раза. Какой-нить NDA подписать можно, но проконтролировать его исполнение а тем более организовать какое-то преследование нерадивых покупателей IMHO совершенно нереально. Вот я и думаю что автор и не писал и не будет это писать, пока сам не захочет или какая-то контора не оплатит ему эту работу. Альтруизм это хорошо, но кушать все равно хочется.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это что, выбрать новое семейство чтобы к нему RTOS подошел? :)

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

А спокойной жизни выбором железяки не добится, оно как раз часто масштабироваться может: то ног надо больше, то какой экзотический интерфейс.... Ну и точно не хочется изучать и применять RTOS с плохой портируемостью (если я правильно Вас понял, этот MQX для фрискайлов заточен).

 

Ну не знаю вашей ситуации точно, поэтому чисто по своей логике скажу.

 

Софт гораздо сложнее и дольше писать чем делать железо.

Поэтому надо упрощать создание софта. Значит надо гибче смотреть на железо.

Но с другой стороны семейство Kinetis от Freescale гораздо шире чем семейство Microchip-а. Вот там действительно перспективы.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но с другой стороны семейство Kinetis от Freescale гораздо шире чем семейство Microchip-а. Вот там действительно перспективы.
он не очень скоро станет популярен у поставщиков

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...