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

 
 
> Для начинающих пользователей RTOS, Навеяно чтением многих posts в различных конференциях
yuri_t
сообщение Aug 23 2006, 19:49
Сообщение #1


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

Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937



- Не пытайтесь повысить быстродействие уже существующих RTOS
путем доработки их исходного кода. Код RTOS обычно небольшой
по размеру, но требует тщательной проверки на десятках разнообразных
задач. Не хватает быстродействия - тщательней конструируйте проект
( число и назначение задач, их приоритет, размер блоков для передачи
данных между задачами, etc.)

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

- Не используйте malloc(), используйте fixed-sized blocks memory allocators.
Очень мало аппликаций, где malloc() действительно нужен (GUI).

- Тщательно планируйте число задач и их приоритеты, избегайте sharing
ресурсов между задачами самого высокого и самого низкого приоритетов.

- При обмене данными между задачами через очереди для повышения
быстродействия пересылайте данные блоками, а не байтами. Элементом
очереди при этом будет указатель на блок памяти, полученный от fixed-sized
blocks memory allocators.

- Избегайте использование синхронизационных функций RTOS с таймаутами.
Хорошо сконструированной системе очень редко нужны таймауты,
отличные от INFINITE. Длинные временные задержки можно получать вызовом
системных функций типа Sleep().

- Уменьшайте,насколько возможно, число прерываний в системе.
Go to the top of the page
 
+Quote Post



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

 


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


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