PICos18 – Операционная Система Реального Времени (RTOS) для микроконтроллеров PIC18.

До недавнего времени бытовало мнение, что ОСРВ (Real-Time Operating System - RTOS) никогда не смогут работать на микроконтроллерах Microchip, и их судьба – пользоваться бесконечным циклом в «сишной» функции main, откуда по очереди вызываются различные функции, являющиеся «процессами». Есть даже ссылка на Application Notes от Microchip для PIC16 на подобную простую ОС.

Однако с появлением семейства PIC18, а затем dsPIC и PIC24 положение резко изменилось. Ядро микроконтроллера специально оптимизировано для работы с языком C, что уже позволяет использовать настоящие ОСРВ.

Кому-то может показаться ОС пустой тратой времени и сил. В мире встроенных систем столько разработчиков, говорящих об ОСРВ и не обладающих практическими знаниями в этой области! Тот, кто хорошо знаком с ОС для микроконтроллеров также хорошо представляет себе преимущества применения ОС: можно по-настоящему сосредоточиться непосредственно на разработке задач, поскольку управление задачами осуществляет ядро ОС. А при наличии реально работающих драйверов периферии!.. Сказка! С применением ОС взгляды программиста меняются так же сильно, как переход от линейного программирования на ООП. Представляемая здесь ОСРВ PICos18, разработанная специалистами французской фирмы Pragmatec S.A.R.L.(www.pragmatec.net), является мультизадачной с приоритетным и карусельным (round-robin) вытеснением с гарантированным временем реакции на события до 50 мкс.

PICos18 основан на стандарте OSEK-VDX (www.osek-vdx.org). Это большой проект в автоиндустрии, поддерживаемый большинством французских и немецких автопроизводителей. Целью данного проекта является определение стандарта управления и работы встроенных архитектур на современных автомобилях. Однако практика применения PICos18 гораздо, гораздо шире. Pragmatec распространяет PICos18 как open-source с использованием GPL лицензии. Это значит, что все исходные тексты на С и на ассемблере всегда доступны без каких-либо ограничений и без каких-либо выплат авторам. Естественно, разработчики ОС слагают с себя всю ответственность перед пользователями. Однако в рамках GPL лицензии вы можете изменять исходные коды и даже стать соавтором! Как автор этой статьи.

В ходе работ над большим проектом по созданию распределенной системы встал вопрос выбора типа микроконтроллера как базового и связанного с ним уже имеющегося ПО. Опуская рассказ о муках и терзаниях выбора, остается сказать, что соотношение цена – качество – ПО у PIC18 оказалось наилучшим. Далеко не последним аргументом была ОСРВ PICos18. Это была очень удачная находка. Подробно прокомментированные исходные тексты ядра и сервисов, отличная и тщательно продуманная сопровождающая документация, несколько пробных проектов, программы-драйверы для периферии, индикаторов, памяти и т.д.! Приятно удивила работающая программа tutor! Проект полностью создан в среде MPLAB с использованием компилятора С18, что позволяет пользоваться стандартным отладчиком ICD2 (или PICkit2) и всеми мощными средствами отладки MPLAB! MPLAB Sim также не будет лишним.

Программисту фактически необходимо прописать бланки описания задач, на которые разбивается программный поток, а затем наполнить эти задачи необходимой функциональностью. Взаимодействие между задачами и драйверами (которые тоже являются задачами) осуществляется посредством небольшого, но очень эффективного набора сервисов. В настоящее время PICos18 v3.00 b2 доступна на сайте www.picos18.com. Автор использует текущую на момент написания статьи версию в MPLAB 8.00 и C18 v3.14 student edition.

PICos18. Операционная система реального времени для PIC18. Руководство пользователя.

Сергей Кушнир,
picos18@tut.by

Дискуссия

Alex B., 02/04/2009.15:13

Не понятно только, где тут PICKit2???

pickit2, 02/04/2009.16:51

см. предпоследний абзац :) А вообще показалось достаточно интересно, так что лучше пусть будет.

Alex B., 03/04/2009.18:03

ха-ха. Кстати по поводу лицензии. Распространение под GPL обязывает пользователя опубликовывать весь исходный код проекта, в котором используется модуль. К бесплатности и открытости исходников это не имеет никакого отношения. Так что аккуратней с PICos18. Я конечно понимаю, где мы живем, но все таки для коммерческих проектов лучше использовать библиотеки с лицензиями LGPL или BSD

статьи/picos18.txt · Последние изменения: 11/06/2009.11:23 (внешнее изменение)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0