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