Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

При нашем обсуждении операционных систем в режиме реального времени, мы обходили ключевой вопрос, который вы могли бы задать: следует написать свою собственную систему или приобрести стандартную? Мы полагаем, что это решение этой проблемы остается за вами — проектировщиком системы. Чтобы помочь вам принять это решение, мы рекомендуем учесть следующие три фактора:

• Применение: Для чего система будет использоваться? Если это используется в системе, где безопасность — критичная проблема, разумно использовать систему, сертифицированную для безопасного использования. Это не подразумевает высокой стоимости. Пакеты ОСРВ для безопасной работы могут быть и дешевыми [Labrosse 2002].

• Критичность: уважаемый коллега по вычислительной технике сознательно выбрал собственную разработку, а не применение стандартного пакета ОСРВ при разработке критичного применения ОСРВ, усложненного требованиями к ядерной безопасности. Он мотивировал это тем, что он хотел написать каждую строку этой программы и полностью понимать работу системы. Он чувствовал, что в коммерческом пакете некоторые подробности системы будут от него скрыты.

• Стоимость: Не следует думать, что разработка собственного ОСРВ может принести вам большую экономию, поскольку стоимость программ в 5 000 долларов может показаться слишком высокой. Однако при создании собственной программы ваши трудозатраты могут стоить не меньше.

Какой бы путь вы не выбрали, вам будут полезны некоторые рекомендации следующего раздела, которым необходимо следовать при разработке ОСРВ.

<p>8.7. Выполнение операционной системы реального времени</p>

Мы приводим здесь краткое описание шагов, необходимых для создания реализации выполнения операционной системы в режиме реального времени ОСРВ:

1. Полностью понять все системные требования. Определить, действительно ли вам требуется ОСРВ. Если вы разрабатываете простой алгоритм управления, то вас может удовлетворить обычная последовательная программа; ОСРВ необходима только тогда, когда ваша прикладная программа должна управлять целым рядом событий.

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

3. Разделить вашу систему на независимые задачи.

4. Выполнить операционную систему, основная функция которой заключается в планировании и управлении задачами.

5. Написать код задач. Убедитесь, что задачи не конкурируют за одни и те же участки памяти и что они не зависят друг от друга. Убедитесь также, что реализация задачи соответствует принятому алгоритму планирования.

6. Если вы разрабатываете систему с передним планом и фоновыми задачами, разработайте сначала фоновую, а затем приоритетную часть.

7. И что важнее всего, проверяйте, проверяйте и проверяйте! Используйте звуковые методики испытаний, которые были обсуждены в главе 2.

<p>8.8. Пример применения: ОСРВ циклического опроса</p>

В этом разделе мы обсудим различные операционные системы в режиме реального времени. Мы начнем с базовой системы циклического опроса, а затем рассмотрим систему циклического опроса с прерываниями. Затем мы опишем аппаратный имитатор, предназначенный для разработки и проверки более сложных алгоритмов планирования.

<p>8.8.1. Краткий обзор проекта</p>

Мы исследуем здесь базовую систему циклического опроса, используемую для управления стереоусилителем. Мы рассматривали уже такой усилитель в главе 2, когда обсуждали проектирование систем и затем в данной главе в качестве примера системы циклического опроса. На рис. 8.18 представлен общий вид системы усилителя. Шесть переключателей на передней панели блока или на пульте дистанционного управления используются, чтобы выбрать один из шести источников звукового сигнала. На усилитель в любой момент времени подается сигнал только с одного источника.

Рис. 8.18. Краткий обзор усилителя

<p>8.8.2. Пример кода</p>

Приведенный код, который используется, чтобы управлять усилителем, состоит из кода инициализации и цикла опроса. Цикл опроса непрерывно проверяет изменение в состоянии переключателей на лицевой панели блока (PORTB) или дистанционном управлении (PORTA). Алгоритм управления UML приведен на рис. 8.19.

Рис. 8.19. Алгоритм программы UML для усилителя

//file name: ampl2.с

//function: program provides control of amplifier

//target controller: Motorola 68HC912B32 evaluation board (EVB)

// - 32K Flash EEPROM available at $8000

// - Compiler options:

// - Program Memory: 0x8000

// - DataMemory: 0x0800

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных