
- •Ввод-вывод на уровне технических средств компьютера. Программируемы ввол-вывод. Фрагмент программы управления скоростью двигателя. Пояснения
- •Прямой доступ к памяти (пдп – dma). Компоновка схемы пдп с использованием внешнего контроллера. Временная диаграмма пдп. Пояснения.
- •Побитное отображение устройств. Побитая карта устройств ввода-вывода в управляющем слове для выделенной памяти. Рисунок, пояснения
- •Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
- •Процесс обработки прерываний в системе с единственным прерыванием. Рисунок, пояснения.
- •Программируемый контроллер прерываний. Назначение. Рисунок, пояснение.
- •Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Рисунок, пояснения. Фрагмент кода обслуживания на псевдоассемблере для 2х адресной архитектуры.
- •Согласование устройство и цп с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснения.
- •Согласований устройство и ца с помощью прерываний. Несколько контроллеров соединенные с цп через пкп (программируемый контроллер прерываний)
- •Прерываемые инструкции. Сторожевые таймеры (Watchdog Timers)
- •Основы разработки встроенных систем. Типовая среда разработки с использованием кросс-платформы. Рисунок, пояснения.
- •Обзор компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
- •Основные функции компоновщика. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Раздел заголовка и заголовок программы. Листинг, таблица типов разделов, пояснения.
- •Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Упрощенная схема и карта памяти целевой системы. Рисунок, пояснения.
- •Директивы компоновщика section и memory. Форматы директив, примеры использования
- •Инициализация встроенной системы. Общие положения.
- •Инструменты целевой системы передача образа. Общий вид целевой встроенной системы, размещенной на плате.
- •Встроенный загрузчик.
- •Встроенный монитор и целевое средство отладки.
- •Последовательность загрузки и выполнения образа после его перемещения из пзу в озу. Рисунок, пояснения
- •Последовательность загрузки и выполнения образа из озу после его передачи из хост системы. Рисунок, пояснения.
- •Инициализация программного обеспечения целевой системы. Программные компоненты целевой системы. Рисунок, пояснения.
- •Процесс инициализации программного обеспечения. Рисунок, пояснения.
- •Инициализация ос рв целевой системы.
- •Внутрисхемная отладка (отладка на чипе) целевой системы.
Ввод-вывод на уровне технических средств компьютера. Программируемы ввол-вывод. Фрагмент программы управления скоростью двигателя. Пояснения
Прямой доступ к памяти (ПДП – DMA). Компоновка схемы ПДП с использованием внешнего контроллера. Временная диаграмма ПДП. Пояснения.
Ввод-вывод с использованием выделенной памяти. Схема памяти, выделенной под устройства ввода-вывода. Фрагмент программы управления скоростью шагового двигателя с использованием выделенной памяти. Пояснение.
Побитное отображение устройств. Побитая карта устройств ввода-вывода в управляющем слове для выделенной памяти. Рисунок, пояснения
Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
Процесс обработки прерываний в системе с единственным прерыванием. Рисунок, пояснения.
Программируемый контроллер прерываний. Назначение. Рисунок, пояснение.
Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Рисунок, пояснения. Фрагмент кода обслуживания на псевдоассемблере для 2х адресной архитектуры.
Согласование устройство и ЦП с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснения.
Согласований устройство и ЦА с помощью прерываний. Несколько контроллеров соединенные с ЦП через ПКП (программируемый контроллер прерываний)
Прерываемые инструкции. Сторожевые таймеры (Watchdog Timers)
Основы разработки встроенных систем. Типовая среда разработки с использованием кросс-платформы. Рисунок, пояснения.
Обзор компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
Основные функции компоновщика. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
Форматы исполняемых и компонуемых файлов. Рисунок, пояснения.
Форматы исполняемых и компонуемых файлов. Раздел заголовка и заголовок программы. Листинг, таблица типов разделов, пояснения.
Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Упрощенная схема и карта памяти целевой системы. Рисунок, пояснения.
Директивы компоновщика SECTION и MEMORY. Форматы директив, примеры использования
Объединение входных секций в исполняемом образе. Листинг, рисунок, пояснения.
Размещение исполняемого образа в памяти целевой системы. Листинг, рисунок, пояснения.
Собственные секции разработчика встроенных систем и причины их определения.
Размещение исполняемых образов, практический пример: таблица секций встраиваемого приложения, листинг возможного размещение секций, рисунок размещения исполняемого образа в целевой системе. Пояснения.
Инициализация встроенной системы. Общие положения.
Инструменты целевой системы передача образа. Общий вид целевой встроенной системы, размещенной на плате.
Встроенный загрузчик.
Встроенный монитор и целевое средство отладки.
Последовательность загрузки и выполнения образа после его перемещения из ПЗУ в ОЗУ. Рисунок, пояснения
Последовательность загрузки и выполнения образа из ОЗУ после его передачи из хост системы. Рисунок, пояснения.
Инициализация программного обеспечения целевой системы. Программные компоненты целевой системы. Рисунок, пояснения.
Процесс инициализации программного обеспечения. Рисунок, пояснения.
Инициализация ОС РВ целевой системы.
Внутрисхемная отладка (отладка на чипе) целевой системы.
Ввод-вывод на уровне технических средств компьютера. Программируемы ввол-вывод. Фрагмент программы управления скоростью двигателя. Пояснения
Одной из основной функций ОС РВ и встроенных ОС является обслуживание внешних устройств, т.е. обеспечение эффективности ввода-вывода данных.
В системах реального времени устройства ввода данных – это датчики, преобразователи, рулевые механизмы, и так далее.
Устройства вывода, как правило, приводы, переключатели и дисплеи.
Ввод и вывод осуществляется одним из следующих методов:
–программируемый ввод-вывод;
–ввод-вывод с использованием выделенной памяти;
–прямой доступ к памяти (ПДП);
–ввод-вывод с использованием прерываний.
Для систем реального времени каждый метод имеет свои преимущества и недостатки по производительности, стоимости и простоте реализации.
Программируемый ввод-вывод
При программированном вводе-выводе для передачи данных используются специальные команды ЦП. Команда ввода (IN) передает данные от указанного устройства ввода-вывода в указанный регистр ЦП. Команда вывода (OUT) передает данные из регистра ЦП заданному устройству ввода-вывода. Обычно идентификатор операционного регистра ЦП встроен в код команды. Как команда ввода так и команда вывода требуют затрат ресурсов ЦП, и в первую очередь времени, что влияет на производительность в режиме реального времени.
Пусть, например, компьютерная система используется для управления скоростью двигателя. Выходной порт соединен с двигателем, и, чтобы установить частоту вращения двигателя, целое число со знаком записывается в порт. Архитектура компьютера такова, что когда команда OUT выполняется, содержимое регистра 1 помещается на шину данных и отправляется в порт ввода-вывода по адресу, содержащемуся в регистре 2. Следующий фрагмент кода устанавливает скорость вращения двигателя (см. рисунок.1):
LOAD R1 &speed ;скорость двигателя – в регистр 1
LOAD R2 &motoraddress ;адрес программы управления двигателем – ;в регистр 2
OUT ;вывод содержимого регистра 1 в область
;памяти,выделенную
;устройствам ввода-вывода
;адрес порта содержится в регистре 2
Рисунок 9.1 Фрагмент программы управления скоростью двигателя
Прямой доступ к памяти (пдп – dma). Компоновка схемы пдп с использованием внешнего контроллера. Временная диаграмма пдп. Пояснения.
При прямом доступе к памяти (ПДП – DMA), память компьютера предоставляется другим устройствам системы без вмешательства ЦП. То есть, информация заносится непосредственно в оперативную память внешним устройством. Если схема ПДП не интегрирована в микросхему ЦП, то необходим контроллер ПДП (см. рисунок 9.2). Поскольку такая схема не требует участия ЦП при передаче данных, собственно передача данных происходит быстро.
Контроллер ПДП предотвращает конфликтные ситуации, требуя от каждого устройства «Сигнал запроса ПДП», который должен быть подтвержден «Сигналом подтверждения ПДП» от контроллера. Пока подтверждающий сигнал не послан устройству запроса, его соединение с главной шиной находится в тристабильном состоянии. Любое устройство, которое находится в тристабильном состоянии, не может
влиять на данные шины памяти. Как только «Сигнал подтверждения ПДП» отправлен устройству запроса, его проводники шины памяти становятся активными, и происходит передача данных, точно так же, как и обмен данными с ЦП (рисунок 9.3).
Рис 9.3 Временная диаграмма ПДП.
На время проведения операций с ПДП, ЦП отстраняется от выполнения передачи данных, с помощью сигнала, называемым, «Разрешение передачи по шине». Пока сигнал доступа к шине не выдан контроллером, никакое другое устройство не может использовать шину. Используя арбитраж шины, контроллер ПДП ответственен за обеспечение того, что только одно устройство может помещать данные на шину в любой момент времени. Если два или больше устройства пытаются получить контроль над шиной одновременно, происходит нежелательное событие – конфликт шины. Устройство запрашивает управление шиной, с помощью сигнала «ПДПзп». Как только сигнал «ПДПптв» выдается контроллером, устройство может поместить (или считать) данные на шине. При этом обычно используется сигнал синхронизации передачи данных «СС». Процессы передачи данных под управлением ЦП не могут осуществляться без допуска к шине (сигнала ПДПзп) от контроллера DMA. В это время ЦП может перейти к выполнению задач не связанных с шиной (например, фаза выполнения арифметической команды), пока он не получит допуск к шине, или пока не остановится (после определенного промежутка времени) и не пошлет сигнал тайм-аута шины. Благодаря своему быстродействию, ПДП зачастую является лучшим способом ввода и вывода данных в системах реального времени.
Ввод-вывод с использованием выделенной памяти. Схема памяти, выделенной под устройства ввода-вывода. Фрагмент программы управления скоростью шагового двигателя с использованием выделенной памяти. Пояснение.
Ввод-вывод с использованием выделенной памяти обеспечивает удобный механизм передачи данных, который не требует использования специальных команд ЦП для ввода-вывода. Во вводе-выводе с использованием выделенной памяти есть определенные адреса памяти, отображаемые как виртуальные порты ввода-вывода (рисунок 9.4)
В качестве примера рассмотрим управление скоростью шагового двигателя. При необходимости реализации ввода-вывода с использованием выделенной памяти, возможный код на Ассемблере будет следующим (см. рисунок 9.5):
где speed – переменная выделенной памяти, а motoraddress – адрес в выделенной памяти.
Во многих компьютерных системах видеодисплей обновляется с использованием при вводе-выводе выделенной памяти. Например, предположим, что дисплей состоит из массива 24 строки на 80 столбцов (в общей сложности 1920 ячеек).
Каждая ячейка экрана связана с определенным адресом в памяти. Для обновления экрана, символы записываются по адресу, связанному с этой ячейкой экрана.
Тогда, с помощью команды LOAD можно осуществить ввод данных в устройство от соответствующего отображаемого в памяти адреса в псевдоячейку памяти, ассоциированной с устройством ввода данных