[an error occurred while processing this directive]
|
Конечно, могу ошибаться в мелочах. Ассемблер в макросе проглядел.
Но:
Я так понял, что вы рассматриваете RTOS больше как инструмент для структуризации текста. Оно может и хорошо если вы этими текстами торгуете. Но торговать текстами для PIC-ов по моему не бизнес. Меня вот, например, больше интересует эффективность трудозатрат при программировании, т.е. какую функциональность мы получим за определенное время и определенные деньги.
NESOS здесь обойдет SALVO потому что бесплатный.
Супер цикл на ассемблере предпочтительнее SALVO если посмотреть их пример управления кулером на 508-м PIC-е. На ассемблере этот PIC мог бы обслуживать два последовательных канала или быть узлом в сети и выдавать не кривой писк, а мелодии. Их аргумент про два часа на написание вянет если вспомнить, что большую часть времени разработки занимает отладка. А отлаживать придеться на ассемблере и здесь если структура программы на асемблере резко отличаеться от исходной, то отладка затрудниться.
Переключение контекста (ну может правильнее сказать задач) вообще-то реально сопровождаеться такими вещами, как просмотр списка ожидающих задач, определение наиболее приоритетной, просмотр списка объектов синхронизации, межзадачной коммуникации, таймеров и действий над ними. SALVO, как понимаю, должно это все делать за раз т.е. операция как бы атомарная, в uC/OS такого нет, так где в этом случае быстрее переключение?
Насчет прерываний. Сервис OS в прерывании может быть отложен флагом и осуществлен в прерываемом процессе.
Реентерабельность. О ней я к тому, что она в вытесняющих OS не являеться необходимостью (против утверждения о усложнении работы с вытесняющей OS из-за реентерабельности).
А вообще, конечно, тема для меня факультативная. Сам то я не писатель осей. И ваше мнение мне интересно.
E-mail: info@telesys.ru