Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
Съдържание и теми, включени в курса
1. Въведение в Linux ядрото
- Преглед на вградения Linux
- Архитектура на Linux ядрото
- Потребителско пространство срещу пространство на ядрото
- Отговорности на ядрото
- Работен процес при разработка на ядрото
- Преглед на поддържаните вградени платформи
2. Настройка на средата за разработка
- Подготовка на работната станция за разработка
- Концепции за кръстосано компилиране
- Инсталиране на необходимите инструменти за разработка
- Настройка на развойната платка BeagleBone Black
- Конфигуриране на серийна конзола
- Стартиране на целевото устройство
3. Получаване и разбиране на изходния код на ядрото
- Дърво на изходния код на Linux ядрото
- Стабилни ядра срещу ядра с дългосрочна поддръжка
- Изтегляне на изходния код на ядрото
- Изследване на структурата на изходния код
- Документация на ядрото
- Управление на версиите на ядрото
4. Конфигуриране, компилиране и стартиране на ядрото
- Конфигуриране на ядрото чрез menuconfig
- Избор на функции на ядрото
- Кръстосано компилиране на ядрото
- Изграждане на образи на ядрото
- Инсталиране на модули на ядрото
- Преглед на зареждащия механизъм (bootloader)
- Стартиране на персонализирано ядро
5. Основи на дървото на устройствата (Device Tree)
- Предназначение на дървото на устройствата
- Файлове с изходен код на дървото на устройствата (DTS)
- Двоичен обект на дървото на устройствата (DTB)
- Концепции за описание на хардуера
- Промяна на файловете на дървото на устройствата
- Изграждане и внедряване на дървета на устройствата
6. Модули на Linux ядрото
- Архитектура на модулите на ядрото
- Изграждане на зареждаеми модули на ядрото
- Зареждане и премахване на модули
- Параметри на модулите
- Зависимости на модулите
- Взаимодействие с модулите на ядрото
- Техники за дебъгване на модули
7. Дебъгване на Linux ядрото
- Логове на ядрото с printk()
- Използване на dmesg
- Динамично дебъгване
- Анализ на паника на ядрото (kernel panic)
- Съобщения Oops
- Дебъгване с GDB
- Основни инструменти за проследяване на производителността
8. Драйвери за символни устройства
- Модел на драйверите на устройства в Linux
- Символни устройства
- Регистриране на драйвери
- Файлови операции
- Операции за четене и запис
- IOCTL интерфейс
- Управление на паметта
- Почистване на драйвера
9. Интегриране на драйвери и достъп до хардуера
- Платформени устройства и драйвери
- GPIO програмиране
- Обработка на прекъсвания
- Таймери и отложена работа
- Достъп до хардуерните регистри
- Работа с входно-изходни операции чрез картографирана памет (memory-mapped I/O)
10. Контрол на версиите с Git
- Основи на Git
- Управление на изходния код на ядрото
- Разклоняване и сливане
- Създаване на пачове
- Преглед на промените
- Сътрудничество при разработка на ядрото
11. Практически лабораторни упражнения за разработка на ядро
- Конфигуриране на персонализирано ядро
- Изграждане и внедряване на ядрото
- Създаване на прост модул на ядрото
- Разработка на основен драйвер за символно устройство
- Промяна на файловете на дървото на устройствата
- Дебъгване на проблеми с ядрото на BeagleBone Black
12. Добри практики и обобщение
- Стил на кодиране на ядрото
- Писане на поддържаеми драйвери
- Често срещани капани в разработката
- Ресурси за документация на ядрото
- Работен процес за принос към отворения код
- Преглед на ключовите концепции
- Въпроси и отговори
- Следващи стъпки в разработката на Linux ядро
Изисквания
Основна компютърна грамотност при работа със системи GNU/Linux
14 Часа
Отзиви от участници (2)
Знанията на тренера. Той беше в състояние да отговори на всички мои въпроси, дори и на тези относно нашата платформа. Той също продължи да ни помага, докато всички разберем материала.
James O'Donnell - Tennant Company
Курс - Embedded Linux Kernel and Driver Development
Машинен превод
I liked the hands-on nature of it.
Maurice Egan
Курс - Embedded Linux Kernel and Driver Development
Машинен превод