Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_k_PP_02_dlya_4xk2-polny.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
305.26 Кб
Скачать
  1. Jtag – интерфейс и системные функции на его основе. Основные характеристики jtag – интерфейса.

Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки.

Сложные цифровые микросхемы оснащаются этим интерфейсом для:

  • выходного контроля микросхем при производстве

  • тестирования собранных печатных плат

  • прошивки микросхем с памятью

  • отладочных работ при проектировании аппаратуры и программного обеспечения

JTAG-интерфейс задействует 4 вывода AVR-микроконтроллера. По JTAG-терминологии эти выводы в совокупности называются "Порт доступа к функциям тестирования" (TAP). В состав этого порта входят следующие сигналы:

  • TMS – Выбор режим тестирования. Данный вывод используется для навигации по цифровому автомату TAP-контроллера.

  • TCK: Синхронизация тестирования. JTAG-интерфейс работает синхронно по отношению TCK.

  • TDI: Тестовый ввод данных. Последовательный ввод данных сдвигом в регистр инструкции или регистр данных (цепи сканирования).

  • TDO: Тестовый вывод данных. Последовательный вывод данных из регистра инструкции или регистра данных.

Функциональное назначение этих линий:

· TDI (test data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK;

· TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK;

· TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц;

· TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования.

· В некоторых случаях к перечисленным сигналам добавляется сигнал TRST для инициализации порта тестирования, что необязательно, так как инициализация возможна путем подачи определённой последовательности сигналов на вход TMS.

  1. Процедуры, программы, директивы ассемблера. Отладка прикладного программного обеспечения микроконтроллеров

Процедуры:

Процедура представляет собой группу команд для решения конкретной подзадачи и обладает средствами получения управления из точки вызова задачи более высокого приоритета и возврата управления в эту точку.

Таким образом возможны три варианта описания процедуры:

в начале сегмента кода,

в конце сегмента кода,

в середине сегмента кода.

Для работы с процедурами предназначены команды CALL и RET. С помощью команды CALL выполняется вызов процедуры. Эта команда работает почти как безусловный переход, но одновременно в стек сохраняется текущее значение регистра IP. Это позволяет потом вернуться к тому месту в коде, откуда была вызвана процедура. В качестве операнда указывается адрес перехода (метка, регистр или ячейка памяти, содержащая адрес).

Возврат из процедуры выполняется командой RET. Эта команда восстанавливает значение из вершины стека в регистр IP.

Таким образом, выполнение программы продолжается с команды, следующей сразу после команды CALL.

Существует 2 типа вызовов процедур. Ближним называется вызов процедуры, которая находится в текущем сегменте кода(NEAR). Дальний вызов — это вызов процедуры в другом сегменте (FAR).

Директивы:

Директи́вы ассе́мблера — параметры (ключевые слова) в тексте программы, влияющие на процесс ассемблирования или свойства выходного файла. Директивы не транслируются непосредственно в коды операции. Напротив, они используются, чтобы корректировать местоположение программы в памяти, определять макрокоманды, инициализировать память и так далее. То есть это указания самому ассемблеру, а не команды микроконтроллера.

BYTE Зарезервировать байты в ОЗУ

CSEG Программный сегмент

DB Определить байты во флэш или EEPROM

DEF Назначить регистру символическое имя

DEVICE Определить устройство для которого компилируется программа

DSEG Сегмент данных

DW Определить слова во флэш или EEPROM

ENDM Конец макроса

EQU Установить постоянное выражение

ESEG Сегмент EEPROM

EXIT Выйти из файла

INCLUDE Вложить другой файл

LIST Включить генерацию листинга

LISTMAC Включить разворачивание макросов в листинге

MACRO Начало макроса

NOLIST Выключить генерацию листинга

ORG Установить положение в сегменте

SET Установить переменный символический эквивалент выражения

Программы:

Асемблер (assembler — сборщик) — компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.

Как и сам язык ассемблера, ассемблеры, как правило, специфичны конкретной архитектуре, операционной системе и варианту синтаксиса языка. Вместе с тем существуют мультиплатформенные или вовсе универсальные (точнее, ограниченно-универсальные, потому что на языке низкого уровня нельзя написать аппаратно-независимые программы) ассемблеры, которые могут работать на разных платформах и операционных системах. Среди последних можно также выделить группу кросс-ассемблеров, способных собирать машинный код и исполняемые модули (файлы) для других архитектур и ОС.

Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. Также результатом ассемблирования может быть не исполнимый, а объектный модуль, содержащий разрозненные и непривязанные друг к другу части машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с помощью программы-компоновщика («линкера») может быть скомпонован исполнимый файл.

Наиболее известными ассемблерами для операционной системы DOS являлись Borland Turbo Assembler (TASM), Microsoft Macro Assembler (MASM) и Watcom Assembler (WASM). Также в своё время был популярен простой ассемблер A86.

Отладка:

Отладка прикладного программного обеспечения осуществляется в несколько этапов.

  • Простые (синтаксические) ошибки выявляются уже на этапе трансляции.

  • Далее необходимо выполнить автономную отладку каждой процедуры в статическом режиме, позволяющую проверить правильность проводимых вычислений, правильность последовательности переходов внутри процедуры (отсутствие "зацикливания") и т.п.;

  • комплексная отладка

    • в статическом ре­жиме, позволяющую проверить правильность алгоритма управления (по последовательности формирования управляющих воздействий);

    • в динамическом режиме без подключения объекта для определения реального времени выполнения программы и ее отдельных фрагментов.

Вышеперечисленные этапы отладки осуществляются обычно с использованием кросс-систем. В состав кросс-систем входят программы-отладчики (обобщенное имя — DEBUG), интерпретирующие (моделирующие) выполнение программ, написанных для МК. Кросс-отладчики позволяют промоделировать практически все воз­можные варианты работы программы и тем самым убедиться в ее работоспособности. На этом же этапе возможна проверка работоспособности программы при нештатных ситуациях в условиях поступления не­корректных входных воздействий. Наиболее полная и комплексная отладка прикладного программного обеспечения совместно с аппаратурными средствами контроллера может быть произведена на инструментальной микроЭВМ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]