Программирование сборки ARM GNU с нуля Язык ассемблера: ADC, UART, GPTM, SYSTICK, FIFO, конечные автоматы, разработка периферийных драйверов, алгоритмы и т. д. [2023]
ARM GNU Assembly Programming From Ground Up Assembly Language : ADC, UART, GPTM, SYSTICK, FIFOs, State Machines, Peripheral Driver Development, Algorithms etc. [2023]
Udemy
BHM Engineering Academy, Israel Gbati
Добро пожаловать на курс ARM GNU Assembly Programming From Ground Up.
Это версия GNU популярных курсов ARM Assembly Programming From Ground Up 1 и 2. В этой версии курсов используется независимый от платформы синтаксис GNU, поддерживаемый ассемблером GNU (as).
В отличие от курсов ARM Assembly Programming From Ground Up 1 и 2, в которых используется Keil uVision, который доступен только в операционной системе Windows, курс ARM GNU Assembly Programming From Ground Up учит вас писать программы на ассемблере для ассемблера GNU, который доступен на Windows, OSX и Linux.
Охватывая проектирование систем ARM, архитектуру и практическое программирование сборки, это наиболее полный онлайн-курс по сборке ARM.
Я проведу вас шаг за шагом через увлекательные и забавные видеоуроки и научу вас всему, что вам нужно знать, чтобы добиться успеха в качестве разработчика встраиваемых систем ARM.
К концу этого курса вы освоите набор инструкций ARM, набор инструкций Thumb и набор инструкций Thumb-2. Вы сможете создавать структуры данных, такие как FIFO, в сборке. Вы также сможете создавать конечные автоматы, такие как машина Мура, используя только ассемблерный код.
Кроме того, этот курс научит вас пользоваться справочным руководством по микроконтроллерам и техническим описанием для извлечения нужной информации для профессионального создания драйверов периферийных устройств и микропрограмм. Для достижения этой цели в этом курсе не используются никакие библиотеки, исключительно язык ассемблера ARM. Вы сможете писать драйверы периферийных устройств на ассемблере - ADC, UART, SYSTICK, GPIO, GPTM.
Чему вы научитесь:
- Освойте набор инструкций ARM
- Пишите сложные программы на ассемблере
- Реализуйте структуры данных на языке ассемблера
- Пишите драйверы UART на ассемблере
- Пишите драйверы GPIO на ассемблере
- Освойте наборы инструкций Thumb и Thumb-2
- Реализуйте конечные автоматы на языке ассемблера
- Пишите драйверы АЦП на языке ассемблера
- Пишите драйверы GPTM на ассемблере
- Если вы новичок в программировании встраиваемых систем, пройдите этот курс.
- Если вы опытный программист, пройдите этот курс, чтобы освоить архитектуру ARM и программирование на ассемблере.
- Если вы переходите с других архитектур, таких как x86, на ARM, то это быстрый способ сделать это. Вы можете сразу приступить к работе с набором инструкций ARM.
Модуль 1 - Введение
- Загрузка нашей интегрированной среды разработки IDE
- Установка нашей интегрированной среды разработки (IDE)
- Программирование: Написание простой программы на ассемблере.
- Программирование: Написание простой программы на ассемблере без файла запуска.
- Вычислительное устройство
- Системы счисления
- Преобразование битов в команды
- Философия дизайна RISC
- Философия дизайна ARM
- Фон Нуеман и Гарвардская архитектура
- Регистры ARM Cortex-M
- Векторная таблица ARM Cortex-M
- Наборы инструкций ARM,Thumb и Thumb-2
- Предопределенные имена регистров
- Часто используемые директивы
- Обзор бинарных операторов
- Программирование: переименование регистров
- Программирование: выделение места в памяти с помощью директивы SPACE.
- Программирование: замена содержимого регистра
- Границы памяти
- Часто используемые инструкции загрузки/сохранения (Часть I)
- Часто используемые инструкции загрузки/сохранения (Часть II)
- Часто используемые инструкции загрузки/сохранения (часть III)
- Прединдексированная адресация
- Постиндексная адресация
- Порядок следования байтов
- Определение областей памяти
- Кодировка инструкции MOV
- Загрузка констант с помощью инструкции LDR
- Загрузка констант с помощью инструкций MOVW и MOVT
- Загрузка этикеток с инструкциями ADR, ADRL и LDR
- Программирование: решение простого уравнения
- Программирование: Импорт из C в Ассемблер
- Программирование: экспорт из сборки в C
- Флаги
- Флаги N и V
- Флаги Z и C
- Инструкции по сравнению/тестированию
- Обзор логических операций
- Введение в смены и ротации
- Понимание логических сдвигов
- Понимание вращений
- Некоторые примеры сдвига и поворота
- Обзор Инструкции по сложению и вычитанию
- Обзор инструкций умножения
- Умножение на константы
- Обзор инструкции по разделу
- Инструкции по работе с битами
- Программирование: поиск максимального значения в массиве
- Программирование: эксперименты с инструкцией LSL
- Программирование: добавление подписанных чисел
- Программирование: поиск минимального значения в массиве
- Программирование: решение более сложного уравнения
- Программирование: Деление на вычитание
- Введение в ветки и циклы
- Ветвление
- Сравнить и разветвить
- Петли в сборке
- Условное выполнение
- Блок ЕСЛИ-ТО
- Программирование: вычисление факториала числа с использованием блока IF-THEN.
- Введение в стек
- Инструкции LDM и STM
- Синтаксис инструкций PUSH и POP
- Программирование: вталкивание и извлечение стека
- Обзор модуля ввода/вывода общего назначения ARM Cortex-M
- Получение нужной документации
- Программирование: Анализ карты памяти чипа
- Программирование: определение адресов для регистров
- Программирование: установка вывода в качестве выходного вывода
- Программирование: переключение вывода с помощью регистра выходных данных (ODR)
- Программирование: переключение вывода с помощью регистра установки/сброса битов (BSRR)
- Программирование: определение регистров для драйвера ввода
- Программирование: реализация драйвера ввода
- Введение в аналого-цифровое преобразование
- Понимание независимых режимов АЦП
- Программирование: планирование проекта
- Программирование: реализация функции инициализации
- Программирование: реализация функции чтения АЦП
- Программирование: тестирование драйвера АЦП
Перевод текста: translate.google
Стоимость курса: 59,99 USD
https://www.udemy.com/course/arm-gnu-assembly-programming-from-ground-uptm/