|
Флаги в FreeRTOS |
|
|
|
 |
Ответов
|
Jan 23 2015, 12:40
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Keil CMSIS-RTOS: Description Limitations Defined Tasks Unlimited Active Threads 250 max Mailboxes Unlimited Semaphores Unlimited Mutexes Unlimited Signals 16 per thread Timer Callbacks Unlimited Code Space < 5.0 Kbytes RAM Space for Kernel 300 bytes + 128 bytes Main Stack RAM Space for a Thread StackSize + 52 bytes RAM Space for a Mailbox MaxMessages * 4 + 16 bytes RAM Space for a Semaphore 8 bytes RAM Space for a Mutex 12 bytes RAM Space for a User Timer 20 bytes Hardware Requirements SysTick timer or other hardware timer Thread context switch time < 2.6 usec @ 72 MHz Interrupt lockout time Not disabled SafeRTOS http://www.highintegritysystems.com/safertos/rtos-features/Typical ROM Requirements 6-15kB. Typical RAM Requirements 500 bytes. Typical Stack Requirements 400 bytes/task.
|
|
|
|
|
Jan 25 2015, 12:52
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (ViKo @ Jan 23 2015, 16:40)  Keil CMSIS-RTOS: Code Space < 5.0 Kbytes RAM Space for Kernel 300 bytes + 128 bytes Main Stack RAM Space for a Thread StackSize + 52 bytes SafeRTOS http://www.highintegritysystems.com/safertos/rtos-features/Typical ROM Requirements 6-15kB. Typical RAM Requirements 500 bytes. Typical Stack Requirements 400 bytes/task. Разница между Minimal и Typical очевидна, не так ли?
|
|
|
|
|
Jan 27 2015, 09:23
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (ViKo @ Jan 25 2015, 22:57)  Вижу только разницу между Maximal и Typical, и не в пользу последней. А вы? Для Кейла это как раз Minimal. Ну и потом: под задачу RTX требует 52 байта + стек. FreeRTOS, если отключить чисто отладочные фишки, 40 байт на задачу плюс стек. Где меньше? Читаем мануал: Stack size used by RTX kernel is configured in STARTUP.S. Minimum size is 128 bytes, however 256 bytes is recommended when interrupts are used. То есть RAM Space for Kernel 300 bytes + 128 bytes Main Stack превращается в 300+256, если ориентироваться не на рекламу. Сравниваем с FreeRTOS Typical RAM Requirements 500 bytes и все становится не так однозначно. Дальше ковырять мне просто лениво. Уверен, со всеми прочими параметрами Keil ровно такая же ерунда. Берется вырожденный случай, никому не нужный, и подается как великое достижение.
|
|
|
|
|
Jan 27 2015, 09:53
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(LightElf @ Jan 27 2015, 12:23)  Для Кейла это как раз Minimal. ... Дальше ковырять мне просто лениво. Уверен, со всеми прочими параметрами Keil ровно такая же ерунда. Берется вырожденный случай, никому не нужный, и подается как великое достижение. Как это "как раз Minimal"? Если стоит знак меньше, то это значит, что больше не будет, а меньше - возможно. Что-то у вас логика не так работает. И я считать не хочу. Я вижу, что написано, мне достаточно. Причем, я же привел пример урезанной SafeRTOS. А FreeRTOS несколько больше будет, верно? Меня устраивает Keil, а FreeRTOS не нужна. Я посмотрел бы еще на самое мелкое что-нибудь. Минималист. А стек задачи - вообще не поддается принудительной установке. У меня из функции в функцию скачет программа, сколько стека выест...? В отладчике вижу в процентах, что весь не съел, вот и хорошо. Конкретно - от 128 до 320 байтов, 5 задач, по умолчанию задал 256 байтов. Включена проверка переполнения, если переполнение наступит, загорится светодиод.
|
|
|
|
|
Jan 29 2015, 11:07
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (ViKo @ Jan 27 2015, 13:53)  И я считать не хочу. Я вижу, что написано, мне достаточно. На сарае написано неприличное слово, но внутри таки лежат дрова. QUOTE (ViKo @ Jan 27 2015, 13:53)  Причем, я же привел пример урезанной SafeRTOS. А FreeRTOS несколько больше будет, верно? Нет. Зависит от того, какие примитивы будете использовать. Обойдесь функционалом, имеющимся в SafeRTOS - будет также или меньше. QUOTE (ViKo @ Jan 27 2015, 13:53)  У меня из функции в функцию скачет программа, сколько стека выест...? Посчитать не пробовали? Рекомендую, помогает.
Сообщение отредактировал LightElf - Jan 29 2015, 11:11
|
|
|
|
Сообщений в этой теме
juvf Флаги в FreeRTOS Nov 28 2011, 05:11 aaarrr Цитата(juvf @ Nov 28 2011, 09:11) завести... Nov 28 2011, 06:03 juvf Цитата(aaarrr @ Nov 28 2011, 12:03) А как... Nov 28 2011, 07:51 aaarrr Используйте семафоры и очереди, если нужно ожидать... Nov 28 2011, 08:26 juvf Цитата(aaarrr @ Nov 28 2011, 14:26) Испол... Nov 28 2011, 09:37 Grape а если нужно ждать несколько событий (флагов)? Nov 28 2011, 09:08 aaarrr Цитата(Grape @ Nov 28 2011, 13:08) а если... Nov 28 2011, 09:16 RCray xQueueReceive удаляет элемент из очереди, а xQueue... Nov 29 2011, 16:25 //Nikson эту старую тему нашёл поиском, т.к. тоже озадачилс... Dec 27 2014, 15:24 gridinp Чтобы ожидать несколько событий сразу, надо объеди... Jan 22 2015, 07:30 ViKo Удивляюсь, что в такой распиаренной монстрообразно... Jan 22 2015, 08:07 LightElf QUOTE (ViKo @ Jan 22 2015, 12:07) Удивляю... Jan 23 2015, 12:04 Aurochs Цитата(ViKo @ Jan 27 2015, 11:53) Меня ус... Jan 28 2015, 16:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|