Брат Тук
Брат Тук

Брат Тук

Редактор
badge 1 год с нами! badge Награда за 5000 очков репутации badge За 500 сообщений!
Регистрация
18/04/2023
Сообщения
6.401
Репутация
10.059
Автор: 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. Программирование: тестирование драйвера АЦП

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

Скачать:
Авторизуйтесь, чтобы посмотреть скрытый контент.
 
Последнее редактирование модератором:
Добрый день! Перевод на русский есть?
 
Подойдет для новичка в ассемблере? Или тут уже более-менее уровень нужен какой-то? Может кто курс посоветовать по ассемблеру?
 

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

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

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

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

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

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

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

Брат Тук
Ответы
0
Просмотры
10
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
10
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
9
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
11
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
14
Брат Тук
Брат Тук

Похожие темы

Малыш Джон
Ответы
1
Просмотры
2K
Авгур
Авгур
Малыш Джон
Ответы
0
Просмотры
3K
Малыш Джон
Малыш Джон
Брат Тук
Ответы
1
Просмотры
517
Els i El
Arsenn32
Ответы
1
Просмотры
5K
znakfors
znakfors
Bekapon
Ответы
4
Просмотры
3K
sergeygrigorev
sergeygrigorev
Роджерc
Ответы
1
Просмотры
5K
Max-jd
Max-jd
Роджерc
Ответы
3
Просмотры
4K
Falych
Falych
Малыш Джон
Ответы
0
Просмотры
747
Малыш Джон
Малыш Джон
Малыш Джон
Ответы
3
Просмотры
5K
Tofsla
Сверху Снизу