Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная 2

.docx
Скачиваний:
0
Добавлен:
15.12.2025
Размер:
4.32 Mб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОННИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ОТЛАДКА ПО

Отчет по лабораторной работе №2

по дисциплине «Основы программирования микроконтроллеров»

Студенты гр. 712-2: ___________ Л.С. Болтушкин

___________ Н.А. Рыбин

___________ Д.В. Шабанова __________

Руководитель Старший преподаватель кафедры КИБЭВС

_______ __________ Д.С. Беляков

__________

Томск 2025

Введение

Целью данной лабораторной работы является углубленное изучение архитектуры ARM на примере микроконтроллера STM32F103RBT6 и знакомство со средствами отладки микроконтроллера.

1 ХОД РАБОТЫ

1.1 Установка и настройка окружения

В данной работе предполагается работа в Debian-подобной операционной системе и для разработки прошивки под микроконтроллер были установлены пакеты, представленные на рисунке 1.1.1.

Рисунок 1.1.1 – Установка требуемых пакетов

1.2 Отладка ПО микроконтроллера

Был открыт bash и совершен переход в каталог с демонстрационным проектом из предыдущей работы, скомпилирован и загружен на плату.

Далее была введена команда, для запуска сервера отладки opencd (рисунок 1.2.1).

Рисунок 1.2.1 – Запуск сервера отладки opencd

После открыта новая вкладка терминала и введена команда для запуска отладчика для прошивки из предыдущей лабораторной работы (рисунок 1.2.2).

Рисунок 1.2.2 – Результат запуска отладчика ПО

Далее было совершено подключение к серверу отладки (рисунок 1.2.3), в результате чего произошла остановка ПО микроконтроллера.

Рисунок 1.2.3 – Подключение к серверу отладки

Далее перезагружен и остановлен микроконтроллер, чтобы была начата отладка с самого начала. После поставлена точка останова командой break и запущено исполнение прошивки (рисунок 1.2.4).

Запущен gtkerm и отправлен массив чисел на микроконтроллер (рисунок 1.2.5).

Рисунок 1.2.4 – Срабатывание точки останова №1

Рисунок 1.2.5 – Введенные данные

Далее было добавлено окно с дизассемблированным кодом ПО, установлен фокус на окно и поставлена точка останова по адресу 0х8001158 и запущено исполнение прошивки (рисунок 1.2.6).

Рисунок 1.2.6 – Срабатывание точки останова №2

На рисунке 1.2.7 представлено изменение содержимого регистра r4 командой set на 77, чтобы значение массива buff_in[0] стало равно 77 вместо 11. После командой ni записано содержание r4 в массив buff_in[0] и изменено содержимое 5-го элемента, после чего выведено содержимое первых 5 элементов массива в десятичном виде.

Рисунок 1.2.7 – Модификация значений массива

Далее был совершен выход из данной функции (рисунок 1.2.8).

Рисунок 1.2.8 – Выход из текущей функции в предыдущую

С помощью команд ni совершен переход к адресу 0x8006ba2, введены аргументы функции printf с помощью команды p. Аргументы функции находятся в регистрах r0 и r1 (рисунок 1.2.9).

Рисунок 1.2.9 – Вывод аргументов вызываемой функции

1.3 Описание прошивки

Сначала была изменена длина пароля (рисунок 1.3.1).

Рисунок 1.3.1 – Изменение длины пароля

Просмотр пароля представлен на рисунке 1.3.2.

Рисунок 1.3.2 – Просмотр пароля

На рисунке 1.3.3 представлено успешное получение доступа.

Рисунок 1.3.3 – Разрешение доступа

Заключение

В ходе выполнения данной лабораторной работы были углубленно изучены архитектуры ARM на примере микроконтроллера STM32F103RBT6 и знакомство со средствами отладки микроконтроллера.