- •Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
- •Процесс обработки прерывания в системе с единственным прерыванием.
- •Программируемый контроллер прерываний.
- •Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Фрагмент кода обслуживания на псевдоассемблере для 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
- •Обработка прерываний на уровне технических средств компьютера
- •Теоретические основы операционных систем рв
- •Основы разработки встроенных систем
Основы разработки встроенных систем
Одной из характерных особенностей ВС является кроссплатформенность среды разработки.
Основные составляющие среды разработки:
Центральная система (хост-система)
Целевая система
Разнообразные соединения между системами
Рис 11.1
Многие производители микросхем признают необходимость встроенной в микропроцессор отладки, называемой отладкой на чипе (ОНЧ) (OCD). BDM и JTAG являются двумя типами решения ОНЧ, которые позволяют осуществить прямой доступ к микропроцессору и контроль над ним и ресурсами системы, без использования служб отладки на целевой системе или дорогих внутрисистемных эмуляторов. BDM – это фоновый режим отладки. Он использует интерфейс отладки, введенный компанией Motorola для своих микропроцессоров. Этот термин также описывает подход метода отладки, предоставляемый решением ОНЧ. JTAG – объединённая группа тестирования, созданная производителями электроники для разработки нового и экономически выгодного метода тестирования. Результатом работы консорциума JTAG стал стандарт IEEE 1149.1. основные инструменты разработки предлагаемой хост-системой являются: крос-компилятор, компоновщик, отладчик на уровне исходного кода,
Целевая встроенная система должна предоставить динамический загрузчик, загрузчик связей, монитор, отладчик. Между хост- и целевой системой могут присутствовать ряд соединений. Эти соединения используются для загрузки образов программ с хост-системы в целевую систему. Эти соединения также могут использоваться для передачи информации между отладчиком хост-системы и средством отладки на целевой системе. Программы, включая программное обеспечение системы, ОС РВ, ядро и код приложения должны быть разработаны в первую очередь, откомпилированы в объектный код и скомпонованы друг с другом в исполняемый образ. Программисты, пишущие приложения, выполняемые в той же среде что используется и для разработки, называемой "родной" разработкой, не беспокоятся о том как исполняемый код загружается в память и как управление на выполнение передается приложению.
Разработчики ВС использующие кроссплатформенный подход должны понимать функционирование целевой системы, как сохранять образ программы на целевой системы, куда загружать образ программы при выполнении и как интерактивно, последовательно разрабатывать и отлаживать систему. Каждый из этих аспектов влияет на то как разработан, скомпилирован и самое главное скомпонован код.
Далее рассматриваются следующие вопросы:
Исполняемый и компонованный формат для объектных файлов.
Компоновщик и командный файл компоновщика.
Размещение (отображение) выполняемого образа на целевой ВС.
В лекции не дается описание каждого средства, такого как компилятор и компоновщик, а также описание формата объектного файла. Вместо этого акцент сделан на описание каждого средства разработки и общего формата объектного файла, что является наиболее существенным для ВС.
Обзор компоновщика и процесса компоновки
Рис. 11.2 показывает каким образом различные средства разработки получают входные файлы и создают соответствующие выходные файлы, которые будут использоваться при построении исполняемого кода.
Разработчик программы создает файл программы и файл заголовок в исходном коде на языке С/С++. Часть программы может быть написана на Ассемблере и помещена во соответствующий исходный файл Ассемблера. Разработчик создает make-файл для утилиты make, которая легко может отслеживать изменения в файлах и вызывать компилятор ассемблера, когда это необходимо. Из этих исходных файлов компилятор и ассемблер создают объектные файлы, которые содержат как машинный код так и данные программы. Архиватор объединяет набор объектных файлов для формирования библиотеки. Компоновщик принимает эти объектные файлы в качестве входных данных и производит либо исполняемый образ, либо объектный файл, который можно использовать для дополнительных связей с другими объектными файлами. Командный фал компоновщика указывает компоновщику как объединить объектные файлы и где разместить двоичный код и данные в целевой ВС. Основная функция компоновщика – объединение нескольких объектных файлов в больший объектный файл либо разделяемый объектный файл (файл коллективного доступа) либо в окончательный исполняемый образ.