- •Ввод-вывод на уровне технических средств компьютера. Программируемы ввол-вывод. Фрагмент программы управления скоростью двигателя. Пояснения
- •Прямой доступ к памяти (пдп – dma). Компоновка схемы пдп с использованием внешнего контроллера. Временная диаграмма пдп. Пояснения.
- •Побитное отображение устройств. Побитая карта устройств ввода-вывода в управляющем слове для выделенной памяти. Рисунок, пояснения
- •Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.
- •Процесс обработки прерываний в системе с единственным прерыванием. Рисунок, пояснения.
- •Программируемый контроллер прерываний. Назначение. Рисунок, пояснение.
- •Обработка нескольких прерываний с использованием внешнего контроллера прерываний. Рисунок, пояснения. Фрагмент кода обслуживания на псевдоассемблере для 2х адресной архитектуры.
- •Согласование устройство и цп с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснения.
- •Согласований устройство и ца с помощью прерываний. Несколько контроллеров соединенные с цп через пкп (программируемый контроллер прерываний)
- •Прерываемые инструкции. Сторожевые таймеры (Watchdog Timers)
- •Основы разработки встроенных систем. Типовая среда разработки с использованием кросс-платформы. Рисунок, пояснения.
- •Обзор компоновщиков и процесса компоновки. Создание файла образа для целевой системы. Рисунок, пояснения.
- •Основные функции компоновщика. Взаимосвязь между таблицей символов и таблицей перемещений (переадресации). Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Рисунок, пояснения.
- •Форматы исполняемых и компонуемых файлов. Раздел заголовка и заголовок программы. Листинг, таблица типов разделов, пояснения.
- •Размещение исполняемых образов в памяти целевой встроенной системы. Командный файл компоновщика. Упрощенная схема и карта памяти целевой системы. Рисунок, пояснения.
- •Директивы компоновщика section и memory. Форматы директив, примеры использования
- •Инициализация встроенной системы. Общие положения.
- •Инструменты целевой системы передача образа. Общий вид целевой встроенной системы, размещенной на плате.
- •Встроенный загрузчик.
- •Встроенный монитор и целевое средство отладки.
- •Последовательность загрузки и выполнения образа после его перемещения из пзу в озу. Рисунок, пояснения
- •Последовательность загрузки и выполнения образа из озу после его передачи из хост системы. Рисунок, пояснения.
- •Инициализация программного обеспечения целевой системы. Программные компоненты целевой системы. Рисунок, пояснения.
- •Процесс инициализации программного обеспечения. Рисунок, пояснения.
- •Инициализация ос рв целевой системы.
- •Внутрисхемная отладка (отладка на чипе) целевой системы.
Инициализация встроенной системы. Общие положения.
Инструменты целевой системы передача образа. Общий вид целевой встроенной системы, размещенной на плате.
Встроенный загрузчик.
Обший подход на стадии ранней разработки состоит в написании пршраммы загрузчика для целевой стороны, которая называется загрузчиком для загрузки образа из хост- системы. Для примера, показанном на Рисунке 14.1, загрузчик имеет небольшую память, так что он обычно может быть запрограммирован как чип ПЗУ. Утилита передачи данных находится в хост-системе Загрузчик работает совместно с его составной частью на хост-системе дня того, что бы выполнить передачу образа
После написания загрузчика, он заноснчсятся н ПЗУ. Часть того же чипа ПЗУ занята образом резидентного загрузчика. Как минимум, этот резидентный загрузчик (обычна создаетя инженером по аппаратному обеспечению) состоит из кода, который выполняется при включении системы. Этот код инициализирует целевое аппаратное обеспечение, такое как система памяти и физическое ОЗУ, в предопределенное состояние. Другими словами, начальный резидентный загрузчик подготавливает систему к выполнению целевого загрузчика. Загрузчик целевой системы начинает свою работу после того, как начальный резидентный загрузчик заканчивает выполнение необходимых работ но инициализации встроенной системы.
Для того, чтобы -лот метод передачи работал, протокол передачи данных, так же, как и параметры связи, должен быть согласован между хост-утилитой и целевым загрузчиком. Проюкол передачи данных определяет правила передачи. Например, протокол передачи должен быть таким, чтобы запрос на передачу образа должен быть направлен от загрузчика к утилите хоста; в таком случае хост-утилита отправляет размер файла образа, за которым следует собственно сам образ, и загрузчик по завершению отправляет подтверждение хост-утилите. Скорость передачи данных в бодах для последовательного соединения, и по размерам пакетов являются примерами параметров связи Загрузчик и утилита работают как одно целое, в котором часто может нспользоватся более чем один тин соединения Как минимум, передача происходит по последовательному соединению. Более сложные загрузчики могут загружать образ по сети, например, через Ethernet используя протоколы такие, как TI TP (Trivial File Transfer Protocol — простой протокол передачи файлов) или FTP (Pile Transfer Protocol
протокол передачи файлов). В лом случае, хост-утилита является либо TFTP сервером, либо FTP сервером соответствен но.
Как собственные протоколы разработчиков, так и хорошо известные протоколы передачи могут быть применены либо в последовательном, либо в сетевом соединении, но обычно собственные протоколы используются при последовательных соединениях.
Загрузчик загружает образ прямо на ОЗУ Загрузчику необходимо понимать формат объектного файла (например. ELF формат) поскольку, как уже отмечаюсь в предшествующих лекциях, объектный файл содержит таку ю информацию . как адрес загрузки, которую загрузчик использует для размещения секции.
'Загрузчик передает управление загруженному образу после завершения передачи. Загрузчик с возможностью флеш-программирования может также переместить образ в флэш-память. В таком случае, джамперы (перемычки) платы должны быть соответственно установлены так. чтобы процессор запускал образ после завершения его загрузки из флэш памяти
Загрузчик может быть частью конечного приложения, и может (помимо загрузки образа) выполнять также и другие дополнительные функции, что будет рассмотрено болсс детально ниже.
