[Udemy] Программирование сборки ARM GNU с нуля (Israel Gbati)
- О курсе
- Артикул: WVP-284754
- Автор: Udemy, Israel Gbati
- Вид товара: цифровой
- Добавлено: 2023-08-20
О товаре
ARM GNU Assembly Programming From Ground Up™
Язык ассемблера: DC, UART, GPTM, SYSTICK, FIFOs, State Machines, Peripheral Driver Development, Algorithms etc.
Добро пожаловать на курс 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. Программирование: тестирование драйвера АЦП
Язык курса: Английский
Перевод текста: translate.google
[Udemy] Введение в NeoVim (VIM) + Tmux + Zsh (Jun Sakai) Введение в NeoVim (VIM) + Tmux + Zsh, преподаваемое активными инженерами Силиконовой долины Меня зовут Джун Сакаи, и я буду вести курс по повышению эффективности работы с помощью NeoVIM, Tmux и Zsh. В настоящее время я работаю инженером-программистом в Силиконовой долине уже 15 лет, и инженеры в
1090 RUB
[Udemy] Hibernate (Dzianis Matveyenka) Java - это backend язык программирования, следовательно, разработчиком всегда приходится работать с различными реляционными и не реляционными системами управления базами данных. На курсе по JDBC мы прошли материал, который позволяет нам без подключения дополнительных библиотек, чисто на Java Core
1695 RUB
[Udemy] Excel - Максимально понятный и удобный курс (Максим Измайлов) Excel - Максимально понятный и удобный курс Интересные задания и доступное объяснение. Пройдите обучение и станьте продвинутым пользователем Excel Описание Обучение построено от простого к сложному, объяснение ведется максимально понятным языком, с комфортной скоростью демонстрации решения задач.
1060 RUB
[Udemy] Как взломать сети Wi-Fi для начинающих (Juravlea Nicolae) How to Hack WiFi Networks for Beginners Узнайте, как взломать сети Wi-Fi (WEP, WPA, WPA2). Чему вы научитесь: Как взломать сети Wi-Fi (WEP, WPA, WPA2). Полезные команды Linux. Создайте свой собственный список слов с помощью Crunch. Используйте функцию WPS для взлома WPA/WPA2 без списка слов.
1795 RUB