- •Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
- •Процесс обработки прерывания в системе с единственным прерыванием.
- •Программируемый контроллер прерываний.
- •Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Фрагмент кода обслуживания на псевдоассемблере для 2-х адресной архитектуры.
- •Срв. Некоторые определения в соответствии с Oxford Dictionary of Computing, Янгом и проектом pdcs.
- •Срв. Жесткие (hard), мягкие (soft) системы и системы квази-реального времени (firm).
- •Некоторые характерные области применения срв. Инерциальная система измерения параметров пространственного движения самолета.
- •Типы воздействий в срв. Обобщенная модель срв.
- •Типы воздействий в срв. Система управления процессами датчик/привод.
- •Некоторые характерные области применения срв. Связь дисциплины «срв» с другими инженерными дисциплинами.
- •5. Согласование устройств и цп с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснение.
- •6. Согласование устройств и цп с помощью прерываний. Несколько контроллеров соединенные с цп через пкп (программируемый контроллер прерываний)
- •8. Теоретические основы операционных систем реального времени. Основные понятия и определения.
- •8. Операционные системы реального времени (ос рв). Роль ядер и псевдоядер в операционных системах.
- •9. Теоретические основы осрв
- •10. Процесс планирования
- •11. Характеристики задачи. Фактическая рабочая нагрузка.
- •12. Типичная модель задачи
- •13. Циклическое планирование. Смешанное планирование трех задач. Рисунок, пояснения.
- •14. Циклическая исполняющая система. Понятие кадра и основного цикла. Ограничения на размер кадра. Рисунок, пояснения.
- •15. Приоритетное фиксированное планирование с монотонной частотой. Основные результаты применения политики алгоритма монотонной частоты.
- •16. Основы разработки встроенных систем. Типовая среда разработки с использованием кросс- платформы. Рисунок, пояснения.
- •15. Системы, управляемые прерываниями. Программы обработки прерываний.
- •17. Псевдокод программы обслуживания стековой модели, описание функционирования.
- •18. Системы с вытесняющим приоритетом
- •20. Фоновая обработка. Программируемый сторожевой таймер (software watchdog timer).
- •21. Инициализация приоритетной/фоновой системы. Описание.
- •17. Обзор Компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
- •18. Таблица символов. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
- •19. Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Общее описание и примеры директив.
- •20. Упрощенная схема и карта памяти целевой системы. Листинги использования директив Memory и Section на примере карты памяти целевой системы.
- •21. Объеденение входных секций в исполняемом образе , пример (рисунок), код листинга примера.
- •22. Размещение исполняемого образа в памяти целевой системы. Рисунок, пояснение
- •23. Инициализация встроенной системы. Основные понятия и задачи.
- •24. Инструменты целевой системы и передача образа. Способы загрузки образа в целевую систему.
- •Прямой доступ к памяти (пдп/dma)
- •Ввод-вывод с использованием выделенной памяти
- •Побитное отображение устройств
- •26 Встроенный загрузчик
- •Вбудовані системи та системи реального часу
- •1::Введение. Основные концепции встроеных систем (вс) и систем реального времени (рв)::07.09.2010
- •2::Системы рального времени: некоторые определения, примеры и краткая история::14.09.2010
- •3::Операционные системы реального времени::21.09.2010
- •4::Системы управляемые прерываниями::28.09.2010
- •Обработка прерываний на уровне технических средств компьютера
- •Теоретические основы операционных систем рв
- •Основы разработки встроенных систем
21. Инициализация приоритетной/фоновой системы. Описание.
Инициализация приоритетной/фоновой системы состоит из следующих шагов:
Запрещение прерываний
Установка векторов прерывания и стеков
Выполнение самотестирования
Выполнение инициализации системы
Разрешение прерываний
Фактически, инициализация является первой частью фонового процесса.
Запрещение прерываний является важным, поскольку многие системы запускаются с включенной системой прерываний, в то время как необходимо продолжить запуск системы без влияния этой системы.
Такая установка состоит из инициализации соответствующего адреса вектора, установки стеков, в случае многоуровневой системы прерываний, инициализации любых данных, счетчиков, массивов и т.д. В дополнение, перед разрешением прерываний, необходимо выполнить тесты самодиагностики. И только после этого может начинаться обработка в режиме реального времени.
17. Обзор Компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
Компоновщик принимает объектные файлы в качестве входных данных и производит либо исполняемый образ, либо объектный файл, который можно использовать для дополнительных связей с другими объектными файлами. Командный файл компоновщика указывает ему как объединить объектные файлы, и где разместить двоичный код и данные в целевой встроенной системе.
Основная функция компоновщика – объединение нескольких объектных файлов в больший перемещаемый объектный файл, либо разделяемый объектный файл (файл коллективного доступа), либо в окончательный исполняемый образ.
18. Таблица символов. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
Компилятор, как часть выходного объектного файла, создает таблицу символов, содержащую символьные имена для адресации отображений объектного файла.
При создании перемещаемого выходного файла, компилятор генерирует адрес, для каждого символа, в скомпилированном файле. Следовательно, эти адреса создаются со смещением равным 0.
Таблица символов содержит глобальные символы, определенные в скомпилированном файле, также как и внешние символы, определенные в файле которые компоновщику необходимо разрешить (связать друг с другом, скомпоновать). Процесс компоновки, выполняемый компоновщиком, включает связывание (разрешение) символов и их перемещение.
Таблица перемещения указывает компоновщику, в каком месте кода программы необходимо провести перемещение. Каждая запись в таблице перемещения содержит ссылку на таблицу символов. Используя эту ссылку, компоновщик может найти фактический адрес символа и использовать его в программе, как указано в записи перемещения. Таблица перемещения может также содержать как адрес символа, так и информацию о перемещении. В этом случае, отсутствует связь между таблицей перемещения и таблицей символов.
19. Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Общее описание и примеры директив.
Для большинства доступных компоновщиков, которые исп. для создания встраиваемых приложений, существуют общие директивы. Двумя наиболее распространенными директивами, которые поддерживаются большинством компоновщиков являются MEMORY & SECTION.
Директива MEMORY определяет типы физической памяти, которые доступны в целевой системе и диапазон адресов, которые заняты каждым физическим блоком памяти, что представлено следующим обобщенным синтаксисом:
MEMORY {
area-name : org = start-address, len = number-of-bytes
…
}
Листинг 12.1 Карта памяти
MEMORY {
ROM: origin = OxOOOOh, length = 0x0020h
FLASH: origin = 0x0040h, length = OxlOOOh
RAM: origin = OxlOOOh, length = OxlOOOOh
}
Директива SECTION задает компоновщику следующую информацию: какие входные секции должны быть объединены, в какую выходную секцию; какие выходные секции должны быть сгруппированы вместе и размещены последовательно в памяти; где поместить каждую секцию; а также другую информацию. Общий формат директивы SECTION показан в Листинге 12.2.
Листинг 12.2 Директива SECTION.
SECTION {
output-section-name : { contents } > area-name
…
GROUP {
[ALIGN(expression)]
section-definition
} > area-name
…
}