"Embedded Systems Development - Hardware and Software" course at Technical University of Sofia
- Основни сведения и класификация на ARM Cortex микропроцесорите.
- ARM Cortex-M. Въведение. Програмен модел и видове инструкции. Обслужване на прекъсвания. Режими за понижаване на консумацията в ARM Cortex-М.
- ARM Cortex-M. Софтуерен стандарт CMSIS за достъп до регистри и модули на ARM Cortex. CMSIS операционни системи за ARM Cortex. Синхронизационни примитиви.
- ARM Cortex-M. Архитектурни детайли на ARM Cortex-М. Режими на работа, SVC инструкция, LDREX и STREX инструкции, PendSVC хендлер.
- ARM Cortex-M. Модул за защита на паметта (MPU). Разделяне на региони и подрегиони.
- ARM Cortex-M. Модул за числа с плаваща и фиксирана запетая (FPU). Инструкции с разширени операнди (SIMD) и приложението им в ARM Cortex.
- ARM Cortex-M. Дебъг модул CoreSight на ARM Cortex-M. Дебъгване и трасиране на програми.
- ARM Cortex-A. Числа с плаваща запетая - преговор. Програмен модел. Виртуализация. Структурна схема на Cortex-A микропроцесор.
- ARM Cortex-A. Видове инструкции - част 1. Основни инструкции.
- ARM Cortex-A. Видове инструкции - част 2. Работа с копроцесори.
- ARM Cortex-A. Предсказване на преходите. Динамично предсказване в ARM Cortex-A9.
- ARM Cortex-A. Kеш памети на ARM Cortex-A. Йерархия на паметта. Инструкции за работа с кеш.
- ARM Cortex-A. Модул за организация на паметта (MMU).
- ARM Cortex-A. Модул за векторна обработка на данни NEON в ARM Cortex-A. Потребителски стандарт за извикване на функции (ABI)
- ARM Cortex-A. Вградена трасираща макроклетка.
- Работа с Makefile и Menuconfig. Йерархични Makefile-ове. Документиране на сорс код с Doxygen.
- Работа с кроскомпилатор GCC и кросасемблер AS за микроконтролери. Дисасемблиране на обектов код с Objdump.
- Работа с кросдебъгер GDB и сървърно приложение OpenOCD. Дебъгване на вградени системи през Интернет.
- Работа с крослинкер LD. Преместване на изпълнимия код в RAM. Статични и динамични библиотеки.
- Операционна система Linux за вградени системи. U-boot фърмуер от второ ниво за инициализация и старт. Модули за Линукс. Дървесни двоични описания (Device Tree Binaries).
- Създаване на Daedalus проект. Визуализиране на процесна мрежа.
- Алгоритъм за отделяне на ръбове и граници на обекти от цифрово изображение с многопроцесорна система върху чип.