
- •Ввод-вывод на уровне технических средств компьютера. Программируемы ввол-вывод. Фрагмент программы управления скоростью двигателя. Пояснения
- •Прямой доступ к памяти (пдп – dma). Компоновка схемы пдп с использованием внешнего контроллера. Временная диаграмма пдп. Пояснения.
- •Побитное отображение устройств. Побитая карта устройств ввода-вывода в управляющем слове для выделенной памяти. Рисунок, пояснения
- •Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
- •Процесс обработки прерываний в системе с единственным прерыванием. Рисунок, пояснения.
- •Программируемый контроллер прерываний. Назначение. Рисунок, пояснение.
- •Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Рисунок, пояснения. Фрагмент кода обслуживания на псевдоассемблере для 2х адресной архитектуры.
- •Согласование устройство и цп с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснения.
- •Согласований устройство и ца с помощью прерываний. Несколько контроллеров соединенные с цп через пкп (программируемый контроллер прерываний)
- •Прерываемые инструкции. Сторожевые таймеры (Watchdog Timers)
- •Основы разработки встроенных систем. Типовая среда разработки с использованием кросс-платформы. Рисунок, пояснения.
- •Обзор компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
- •Основные функции компоновщика. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Раздел заголовка и заголовок программы. Листинг, таблица типов разделов, пояснения.
- •Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Упрощенная схема и карта памяти целевой системы. Рисунок, пояснения.
- •Директивы компоновщика section и memory. Форматы директив, примеры использования
- •Инициализация встроенной системы. Общие положения.
- •Инструменты целевой системы передача образа. Общий вид целевой встроенной системы, размещенной на плате.
- •Встроенный загрузчик.
- •Встроенный монитор и целевое средство отладки.
- •Последовательность загрузки и выполнения образа после его перемещения из пзу в озу. Рисунок, пояснения
- •Последовательность загрузки и выполнения образа из озу после его передачи из хост системы. Рисунок, пояснения.
- •Инициализация программного обеспечения целевой системы. Программные компоненты целевой системы. Рисунок, пояснения.
- •Процесс инициализации программного обеспечения. Рисунок, пояснения.
- •Инициализация ос рв целевой системы.
- •Внутрисхемная отладка (отладка на чипе) целевой системы.
Прерываемые инструкции. Сторожевые таймеры (Watchdog Timers)
В редких случаях некоторые макроинструкции должны быть прерываемыми. Это может быть случай, когда команда выполняется очень долго. Рассмотрим, например, инструкцию из памяти в память, которая перемещает большие объемы данных. В большинстве случаев, такая инструкция должна быть прерываемой, между блоками, чтобы уменьшить задержки при обработке прерываний. Однако, прерывание данной инструкции может вызвать проблемы целостности данных. В конечном итоге, это редкость, чтобы архитектура поддерживала прерываемые инструкции, ссылаясь на описанную проблему.
Таймеры наблюдения (контрольные таймеры, Watchdog Timers). Во многих компьютерных системах, ЦП и/или другие устройства оснащены регистром подсчета, который постепенно увеличивается. Далее, регистр должен быть очищен(сброшен) соответствующим кодом, используя отображенный памятью ввод-вывод, прежде, чем регистр переполнится и сгенерирует прерывание (исключение переполнения). Такой тип оборудования, называется (драйвер, устройство) таймер наблюдения ("сторожевой" таймер, контрольное реле времени, контрольный таймер). (WDT) (рис. 10.9).
Программное обеспечение посылает сигнал сброса через запрограммированный или отображаемый памятью ввод-вывод, для сброса таймера прежде, чем произойдет переполнение и сгенерируется исключение переполнения.
Таймеры наблюдения используются для обеспечения того, что определенные устройства обслуживаются равномерно (через регулярные промежутки времени) и что некоторые процессы выполняются в соответствии с их предписанием, и что ЦП продолжает функционировать. Сброс «сторожевого» таймера, часто шутливо упоминается как "поглаживание собаки" («petting the dog»).
Основы разработки встроенных систем. Типовая среда разработки с использованием кросс-платформы. Рисунок, пояснения.
Одной из характерных особенностей встроенных систем является методология кросс-платформенной разработки. Основные составляющие среды разработки: центральная система (хост-система), целевая система и разнообразные соединения между хост-системой и целевой системой, как показано на Рисунке 11.1.
Многие производители микросхем выпускают чипы со встроенной в микропроцессор схемой отладки, называемой отладкой на чипе – ОНЧ (On-Chip Debugging – OCD).
BDM (Background Debug Mode) и JTAG (Joint Test Action Group) являються двумя типами решений ОНЧ, которые позволяют осуществить прямой доступ к микропроцессору и контроль над ним и ресурсами системы без необходимости использования служб отладки на целевой системе или дорогих внутрисхемных
эмуляторов.
BDM – фоновый режим отладки. Он использует интерфейс отладки введённый компанией Motorola для своих микропроцессоров. Этот термин также указывает на подход метода отладки без кодировки (на выполняемой системе), предоставляемый решениям ОНЧ.
JTAG – объединённая группа тестирования, созданная производителями электроники для разработки нового и экономически эффективного способа тестирования. Результатом работы консорциума JTAG стал стандарт IEEE1149.1.
Основными инструментами разработки, предлагаемые хост-системой, являются кросс-компилятор, компоновщик и отладчик на уровне исходного кода. Целевая встроенная система должна предоставить динамический загрузчик, загрузчик для компоновщика, монитор, и отладчик. Между хост- и целевой системой могут присутствовать ряд соединений. Эти соединения используются для загрузки образов программ с хост-системы в целевую систему. Эти соединения также могут использоваться для передачи информации между отладчиком хост-системы и средством отладки на целевой системе.
Программы, включая системное программное обеспечение, операционную систему реального времени (ОС РВ), ядро, и код приложения должны быть разработаны в первую очередь, откомпилированы в объектный код и скомпонованы друг с другом в исполняемый образ. Программисты, пишущие приложения, выполняемые в той же среде, которая используется и для разработки, называемой «родной» разработкой, не беспокоятся о том, как исполняемый образ загружается в память и как управление на выполнение передается приложению. Разработчики же встроенных систем, использующие кросс-платформенный подход, должны понимать функционирование целевой системы, как сохранять образ программы на целевой встроенной системе, как и куда загружать образ программы при выполнении и как интерактивно, последовательно разрабатывать и отлаживать систему. Каждый из этих аспектов влияет на то, как разработан, скомпилирован и самое главное скомпонован код.