Script - Страница 54

МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА 8051 - Script

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

Приведенная схема учитывает, что микроконтроллер 8051 имеет только 128 байт памяти, из которых нижние 64 байта используются ОСРВ для хранения специфичных данных, сообщений, информации о задачах. Когда позже вы познакомитесь в этой книге с ОСРВ для семейства 68НС05, то увидите

что ОСРВ, описанная в данном разделе, оставляет пользователю существенно больше ресурсов, чем при реализации системы «mykeRTOS» на микроконтроллере 68HC05J1А.

Первые 256 адресов памяти данных

Рис. 10.5. Пример распределения памяти при реализации ОСРВ на 8051.

Пересылка сообщений реализуется при помощи регистров DPTR и RO из банка задачи 0. Сообщение может содержаться в регистрах DPL и DPH, или регистр DPTR может указывать адрес сообщения, хранящегося в памяти. В регистре RO будет содержаться байт команды, который указывает ОСРВ и принимающей задаче, что необходимо делать с сообщением.

Go to Top