i.MX 7D на чистом ассемблере

Вступление
Что ждёт нас впереди?

Стартовая платформа
Technexion PICO-IMX7D + PICO-PI-GL

Загрузка кода в камушек
Первые шаги с новой платформой

Дрыгнем ножкой!
Поприветствуем мир светодиодом!

Cortex A7 - раскачка первого ядра

Cortex A7 - старт второго ядра

Cortex A7 - частота обеих ядер
Гигагерц и выше!

Счётчик машинных циклов
Привязан к тактам ядра

Generic Timer

Прерывания
На стороне Cortex-A7

Cortex-M4
Поднимаем ещё одно спящее ядро

DDR sdram

Ethernet

SDMA

SDHC

UART

CAN

USB

I2C

SPI

LCD

RTC

GPT

FTM

PWM

TEMPMON

Semaphore

Messaging Unit

Шифруемся!

CAAM
Алгоритмы шифрования, подсчёт контрольных сумм
и аналоговый генератор энтропии.

Известные макросы

Дамп и printf


Что ещё хочется сделать

MIPI CSI2 Host Controller + 5МП модуль камеры
Pixel Pipeline (PXP) - нужен для работы с камерой
PCI Express Controller и пхю - поднять хотя бы loopback
Medium Quality Sound (MQS) звук аппаратным ногодрыгом
Счётчики производительности ядра - хорошая вещь
Аудио цап и усилитель SGTL5000 - болтается на i2c1
Synchronous Audio Interface (SAI)
Поднять емкостной тачскрин
Поковыряться в PMIC
Работа с фузами
Вайфай модем


Буду признателен, если кто-нибудь поможет!


Что остаётся не сделано

QSPI - нет ничего на этом порту..
ADC - на плате не разведён совсем
uSDHC - нет разъёма для SD карточек
Keypad Port (KPP) - не рассматривается
CMOS Sensor Interface (CSI) - нет такого датчика
MIPI DSI Host Controller (MIPI_DSI) - нет экрана на DSI
Electrophoretic Display Controller (EPDC) - нет такого экрана
External Interface Module (EIM) для плисин - не рассматривается
General Purpose Media Interface (GPMI) NAND Flash - нету NAND флешки
Различные режимы пониженного потребления
Другая мелочишка, без которой можно жить
Пёсики - лень вообще.. пусть спят и не тяфкают.