Автор: Udemy
Название: Программирование сборки ARM GNU с нуля Язык ассемблера (2023)

[Udemy] Программирование сборки ARM GNU с нуля Язык ассемблера (2023)


Описание:

Добро пожаловать на курс 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.

Чему вы научитесь:
1. Освойте набор инструкций ARM
2. Пишите сложные программы на ассемблере
3. Реализуйте структуры данных на языке ассемблера
4. Пишите драйверы UART на ассемблере
5. Пишите драйверы GPIO на ассемблере
6. Освойте наборы инструкций Thumb и Thumb-2
7. Реализуйте конечные автоматы на языке ассемблера
8. Пишите драйверы АЦП на языке ассемблера
9. Пишите драйверы GPTM на ассемблере

Для кого этот курс:
1. Если вы новичок в программировании встраиваемых систем, пройдите этот курс.
2. Если вы опытный программист, пройдите этот курс, чтобы освоить архитектуру ARM и программирование на ассемблере.
3. Если вы переходите с других архитектур, таких как x86, на ARM, то это быстрый способ сделать это. Вы можете сразу приступить к работе с набором инструкций ARM.

Содержание:
Модуль 1 - Введение
1. Загрузка нашей интегрированной среды разработки IDE
2. Установка нашей интегрированной среды разработки (IDE)
3. Программирование: Написание простой программы на ассемблере.
4. Программирование: Написание простой программы на ассемблере без файла запуска.

Модуль 2 - Введение в архитектуры Arm
1. Вычислительное устройство
2. Системы счисления
3. Преобразование битов в команды
4. Философия дизайна RISC
5. Философия дизайна ARM
6. Фон Нуеман и Гарвардская архитектура
7. Регистры ARM Cortex-M
8. Векторная таблица ARM Cortex-M

Модуль 3 - Правила и директивы ассемблера
1. Наборы инструкций ARM,Thumb и Thumb-2
2. Предопределенные имена регистров
3. Часто используемые директивы
4. Обзор бинарных операторов
5. Программирование: переименование регистров
6. Программирование: выделение места в памяти с помощью директивы SPACE.
7. Программирование: замена содержимого регистра

Модуль 4 - Инструкция по загрузке-сохранению
1. Границы памяти
2. Часто используемые инструкции загрузки/сохранения (Часть I)
3. Часто используемые инструкции загрузки/сохранения (Часть II)
4. Часто используемые инструкции загрузки/сохранения (часть III)
5. Прединдексированная адресация
6. Постиндексная адресация
7. Порядок следования байтов
8. Определение областей памяти

Модуль 5 - Работа с константами и литералами
1. Кодировка инструкции MOV
2. Загрузка констант с помощью инструкции LDR
3. Загрузка констант с помощью инструкций MOVW и MOVT
4. Загрузка этикеток с инструкциями ADR, ADRL и LDR
5. Программирование: решение простого уравнения
6. Программирование: Импорт из C в Ассемблер
7. Программирование: экспорт из сборки в C

Модуль 6 - Арифметические и логические инструкции
1. Флаги
2. Флаги N и V
3. Флаги Z и C
4. Инструкции по сравнению/тестированию
5. Обзор логических операций
6. Введение в смены и ротации
7. Понимание логических сдвигов
8. Понимание вращений
9. Некоторые примеры сдвига и поворота
10. Обзор Инструкции по сложению и вычитанию
11. Обзор инструкций умножения
12. Умножение на константы
13. Обзор инструкции по разделу
14. Инструкции по работе с битами
15. Программирование: поиск максимального значения в массиве
16. Программирование: эксперименты с инструкцией LSL
17. Программирование: добавление подписанных чисел
18. Программирование: поиск минимального значения в массиве
19. Программирование: решение более сложного уравнения
20. Программирование: Деление на вычитание

Модуль 7 - Инструкции ветвления и цикла
1. Введение в ветки и циклы
2. Ветвление
3. Сравнить и разветвить
4. Петли в сборке
5. Условное выполнение
6. Блок ЕСЛИ-ТО
7. Программирование: вычисление факториала числа с использованием блока IF-THEN.

Модуль 8 - Инструкции стека
1. Введение в стек
2. Инструкции LDM и STM
3. Синтаксис инструкций PUSH и POP
4. Программирование: вталкивание и извлечение стека

Модуль 9 - Разработка драйвера ввода вывода общего назначения (GPIO)
1. Обзор модуля ввода/вывода общего назначения ARM Cortex-M
2. Получение нужной документации
3. Программирование: Анализ карты памяти чипа
4. Программирование: определение адресов для регистров
5. Программирование: установка вывода в качестве выходного вывода
6. Программирование: переключение вывода с помощью регистра выходных данных (ODR)
7. Программирование: переключение вывода с помощью регистра установки/сброса битов (BSRR)
8. Программирование: определение регистров для драйвера ввода
9. Программирование: реализация драйвера ввода

Модуль 10 - Разработка дайвера аналого-цифрового преобразования (АЦП)
1. Введение в аналого-цифровое преобразование
2. Понимание независимых режимов АЦП
3. Программирование: планирование проекта
4. Программирование: реализация функции инициализации
5. Программирование: реализация функции чтения АЦП
6. Программирование: тестирование драйвера АЦП

Подробнее:
Авторизуйтесь, чтобы посмотреть скрытый контент.

Скачать:
Авторизуйтесь, чтобы посмотреть скрытый контент.
 
Последнее редактирование модератором:
Sergey_K
Премиум
badge badge badge
Регистрация
19/02/2019
Сообщения
251
Репутация
221
Добрый день! Перевод на русский есть?
 
Дева Мэриан
Дева Мэриан
Редактор
badge badge
Регистрация
19/01/2021
Сообщения
5.847
Репутация
18.221
LLIkoJIbHuk
Премиум
badge badge
Регистрация
15/12/2018
Сообщения
17
Репутация
5
Подойдет для новичка в ассемблере? Или тут уже более-менее уровень нужен какой-то? Может кто курс посоветовать по ассемблеру?
 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Последние темы автора

Брат Тук
Ответы
0
Просмотры
214
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
162
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
258
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
203
Брат Тук
Брат Тук

Похожие темы

Малыш Джон
Ответы
1
Просмотры
2K
Авгур
Авгур
Малыш Джон
Ответы
0
Просмотры
3K
Малыш Джон
Малыш Джон
Малыш Джон
Ответы
0
Просмотры
5K
Малыш Джон
Малыш Джон
Роджерc
Ответы
0
Просмотры
1K
Роджерc
Роджерc
Малыш Джон
Ответы
0
Просмотры
1K
Малыш Джон
Малыш Джон
Малыш Джон
Программирование Разработка TPS на Unity3D
Ответы
0
Просмотры
1K
Малыш Джон
Малыш Джон
Роджерc
Ответы
7
Просмотры
2K
MrSome
Arsenn32
Ответы
9
Просмотры
8K
Koreozou
Роджерc
Ответы
0
Просмотры
2K
Роджерc
Роджерc
Сверху Снизу