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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> FreeRTOS vs. scmRTOS, Также eCOS, uLinux, TNKernel для Cortex M3: Выбираем ОС
Аматер
сообщение Apr 13 2010, 09:57
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616



Как вариант можно еще RTX от Keil рассмотреть, потому что маленькая и поддерживается компилятором.
Я с год назад выбирал между RTX, FreeRTOS и scmRTOS.
scmRTOS потому что понравилась поддержка С++. Но оказалось что от С++ в микроконтроллере больше проблем возникает чем преимуществ. Опять же размер программы для меня важен.
FreeRTOS вроде тоже неплохой вариант, но преимуществ для меня относительно Keil не было и просто поленился переходить.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 13 2010, 11:13
Сообщение #17


Adept
******

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



Цитата(Аматер @ Apr 13 2010, 17:12) *
оказалось что от С++ в микроконтроллере больше проблем возникает чем преимуществ.

Можно узнать, какие проблемы возникают от С++ в микроконтроллерах?

И еще мне не понятна связь между языком ОС и языком прикладной программы. Что мешает, используя ОС, написанную на С, писать свой код на С++? И наоборот - если взять, например, scmRTOS, то что мешает писать свой код на С? Не думаю, что у Си-программистов вызывает трудности необходимость использования нотации <object_name>.<function-member_name>. А больше там ничего плюсового в явном виде писать не надо. Доподлинно знаю людей, который не знают С++, но это им нисколько не мешает использовать RTOS, написанную на С++.


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


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616



Цитата(dxp @ Apr 13 2010, 15:28) *
Можно узнать, какие проблемы возникают от С++ в микроконтроллерах?

И еще мне не понятна связь между языком ОС и языком прикладной программы. Что мешает, используя ОС, написанную на С, писать свой код на С++? И наоборот - если взять, например, scmRTOS, то что мешает писать свой код на С? Не думаю, что у Си-программистов вызывает трудности необходимость использования нотации <object_name>.<function-member_name>. А больше там ничего плюсового в явном виде писать не надо. Доподлинно знаю людей, который не знают С++, но это им нисколько не мешает использовать RTOS, написанную на С++.

Для меня проблемой было смешивать C++ и С функции. Компилятор выдавал кучу предупреждений. Встроенный в Keil монитор почему то не работал. Признаю что мои проблемы были от недостаточных знаний, но разбиратся времени не хватило. В программировании на С++ все было нормально потому что опыт объектного программирования есть, в том числе и на MS C++.
Вообще С++ мне больше нравится и из за него с scmRTOS связался. Только примерчика под Keil тогда не было. Еще jtag и мониторо от Keil мне дороже С++.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Apr 18 2010, 13:04
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Изучил мануал scmRTOS и пробежался по исходникам, понравилась smile.gif Использование C++ выглядит очень оправданным, понравились каналы на шаблонах, интересная реализация критических областей с помощью экземпляра класс TCritSect. Думаю, применять С++ актуально. Исходники показались понятными хотя кое-где нет единых правил именования методов, как мне показалось. И два варианта планировщика не совсем понятны, здесь нужно наверное знать еще аппаратные нюансы. Пример без проблем запустился на аппаратной платформе с эмулятором.

Пробовал TNKernel, пример предназначенный для запуска в C-Spy, в свойствах проекта указал использование J-Link, проект откомпилировался, но не запустился, выдал ошибку. Возможно мало было только указать эмулятор, что-то еще нужно было сделать, но дальше копать не стал.

На использование С++ уже смотрю более перспективно, думаю буду выбирать только из С++ операционных систем. Подскажите, что еще есть для моей платформы, только бесплатное, без необходимости открывать исходный код, нарушать требования лицензирования не хочу, авторов нужно уважать.

Еще хотел бы реализацию файловой системы, TCP/IP стек и библиотеку USB на C++.

RTX не хочу, выбрал IAR, к тому же хочу использовать не коммерческую ОС.

Сообщение отредактировал _Макс - Apr 18 2010, 13:06
Go to the top of the page
 
+Quote Post
_Макс
сообщение Nov 10 2010, 12:07
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Не могу найти какие минимальные требования по памяти для eCos, если оставить только планировщик и средства межпроцессного взаимодействия, как в scmRTOS. Вообще чем хороша eCos на ваш взгляд?

Сообщение отредактировал _Макс - Nov 10 2010, 13:02
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Nov 10 2010, 14:06
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



если вопрос лицензионности не волнует - ставите кроссворкс (даже ломать не надо), выдираете исходники CTL (открыто лежат отдельной папкой), выдираете по ним хелп (весьма нормально построенный) и наслаждаетесь.
есть порты под ARM7/Cortex/AVR/MSP430.
очень красивый и понятный стиль исходников. только статическое (compile-time) выделение памяти. небольшой футпринт в памяти.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 10 2010, 14:23
Сообщение #22


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(_Макс @ Apr 18 2010, 16:04) *
Подскажите, что еще есть для моей платформы, только бесплатное, без необходимости открывать исходный код, нарушать требования лицензирования не хочу, авторов нужно уважать.

А кто вас просит открывать ваш код?
Где это такие странные требования?

Если меняете код самой ОС (например, новый порт или сервис) - таки да.
А ваши приложения - они ваши.
Я так понимаю.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Макс
сообщение Nov 10 2010, 15:02
Сообщение #23


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(MrYuran @ Nov 10 2010, 16:23) *
А кто вас просит открывать ваш код?
Где это такие странные требования?

Если меняете код самой ОС (например, новый порт или сервис) - таки да.
А ваши приложения - они ваши.
Я так понимаю.

Мне кажется после компиляции в бинарнике можно найти паттерны соответствующие определенному (скомпилированному тем же компилятором) коду. Таким образом если кто-то захочет докопаться то может это сделать, достаточно слить бинарник с устройства и провести такой анализ. Шифровать firmware можно далеко не в каждом дизайне.

Сообщение отредактировал _Макс - Nov 10 2010, 15:04
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 10 2010, 15:21
Сообщение #24


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Читаем:
Цитата
Copyright © 2003-2007, Harry E. Zhurov

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Вот всё, что от вас требуется - оставить упоминание о копирайте в исходниках.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Макс
сообщение Nov 10 2010, 16:13
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(MrYuran @ Nov 10 2010, 17:21) *
Вот всё, что от вас требуется - оставить упоминание о копирайте в исходниках.

Вы о каких ОС сейчас говорите? Под какой лицензией?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 11 2010, 06:45
Сообщение #26


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(_Макс @ Nov 10 2010, 19:13) *
Вы о каких ОС сейчас говорите? Под какой лицензией?

Конкретно эта - scmRTOS.
Там же и ссылка сверху.

А вот FreeRTOS:
Цитата
The FreeRTOS source code is licensed by the GNU General Public License (GPL) with an exception. The full text of the GPL is available here. The text of the exception is available at the bottom of this file.

The exception permits the source code of applications that use FreeRTOS solely through the API published on this website to remain closed source, thus permitting the use of FreeRTOS in commercial applications without necessitating that the whole application be open sourced. The exception can only be used if you wish to combine FreeRTOS with a proprietary product and you comply with the terms stated in the exception itself.

The FreeRTOS download also includes demo application source code, some of which is provided by third parties AND IS LICENSED SEPARATELY FROM FREERTOS.


Цитата
Do I have to open source my application code that makes use of the FreeRTOS services?
No, as long as the code provides functionality that is distinct from that provided by FreeRTOS

Do I have to open source my changes to the kernel?
Yes


Холодильник - государственный.
А холод, который он производит - наш.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 11 2010, 09:02
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(_Макс @ Nov 10 2010, 15:07) *
Не могу найти какие минимальные требования по памяти для eCos, если оставить только планировщик и средства межпроцессного взаимодействия, как в scmRTOS.
Соберите нужную конфигурацию и посмотрите. Будет не много (порядка десятков KB). Но на МК типа AT Tiny она однозначно не встанет ни в какой конфигурации rolleyes.gif
Цитата
Вообще чем хороша eCos на ваш взгляд?
Конфигурируемостью.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Nov 11 2010, 09:28
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(XVR @ Nov 11 2010, 11:02) *
Соберите нужную конфигурацию и посмотрите. Будет не много (порядка десятков KB). Но на МК типа AT Tiny она однозначно не встанет ни в какой конфигурации rolleyes.gif
Конфигурируемостью.

Пока еще не умею с ней работать и думаю стоит ли учиться. Вижу она четко ориентированна на GCC. Я пользую IAR вместе со средой разработки. А что теперь? Куда это все прикручивать? Будет она работать с компилятором IAR? Драйверов под тот же STM32 в ней нет. То есть придется самому сначала делать порт.

Сообщение отредактировал _Макс - Nov 11 2010, 09:31
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 11 2010, 09:47
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Будет она работать с компилятором IAR?
Нет, и не будет.
Цитата
То есть придется самому сначала делать порт.
Угу.
Но для того, что бы оценить потребности САМОЙ ОС порт делать не обязательно. Возьмите конфигурацию на тот же (или похожий) процессор и соберите. Количество занятых ресурсов будет приблизительно такими же, как и для вашей (еще не портированной) конфигурации.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Nov 11 2010, 10:43
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Чем eCos лучше той же TNKernel или FreeRTOS? Вопрос к тем кто пользовался, почему вы остановились на eCos и какие ваши впечатления были потом? Я сейчас остаюсь в неведении о том, что выбрать. eCos привлекает тем, что в ней много разных пакетов, но впихуемость всего этого в тот же STM32 для меня остается под вопросом, в списке поддерживаемой аппаратуры eCos перечислены процессоры значительно более мощные нежели Cortex-M3.

Думается, что ОС это все же более менее универсальный компонент для разных проектов, выбранная ОС должна иметь как можно более широкие возможности и быть приемлемой в как можно более широком ряде проектов, чтобы использоваться одни и те же знания в большем числе проектов, сокращая время на изучения новых дублирующих инструментов/ресурсов.

Цитата(XVR @ Nov 11 2010, 11:47) *
Нет, и не будет.
Угу.

Ок, в качестве компилятора принимается GCC. Какую можно использовать IDE? Нужна либо открытая, либо крякаемая. Желательно кроссплатформенная. Как и чем отлаживать программу? У меня JLink.

Сообщение отредактировал _Макс - Nov 11 2010, 10:39
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:49
Рейтинг@Mail.ru


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