Аппаратные потоки на китайском микроконтроллере с тремя ядрами

Многоядерные микроконтроллеры давно перестали быть экзотикой. Одним из первых представителей этого класса был TMS320C80, выпущенный Texas Instruments более 30 лет назад. Позднее многоядерные решения появились и в массовых платформах, включая популярный микроконтроллер ESP32 с двумя процессорными ядрами.
Особенно активно многоядерные микроконтроллеры распространяются в автомобильной электронике. Здесь от вычислительной платформы требуется одновременно выполнять несколько задач, а разделение нагрузки между ядрами позволяет использовать ресурсы системы эффективнее.
Три ядра в одном SoC
В качестве примера можно рассмотреть китайский микроконтроллер FlagChip FC7300F8MDT. В его обозначении буква T указывает на наличие трёх процессорных ядер ARM Cortex-M7 внутри одной системы на кристалле.
Наличие нескольких ядер само по себе ещё не означает, что пользовательский код автоматически будет выполняться параллельно. Необходимо разобраться с последовательностью запуска, распределением задач и механизмами взаимодействия между процессорами.
Что предстоит проверить
Практическая задача заключается в том, чтобы последовательно включить все три ядра микроконтроллера и убедиться, что каждое из них действительно работает. Такой подход позволяет отдельно проверить запуск каждого процессора и избежать ситуации, когда активным остаётся только одно ядро.
Для диагностики предполагается задействовать отдельный экземпляр UART на каждом ядре. Это даст возможность получать сообщения от процессоров независимо друг от друга и наглядно контролировать ход запуска системы.
Следующий вопрос связан с обменом данными. После активации ядер потребуется выяснить, каким образом они могут взаимодействовать между собой, передавать результаты работы и координировать выполнение задач. Таким образом, эксперимент охватывает не только запуск процессоров, но и базовую организацию программной работы многоядерного микроконтроллера.
Разбор FlagChip FC7300F8MDT позволяет посмотреть на многоядерную архитектуру с практической стороны: от последовательного включения ядер ARM Cortex-M7 до отладки через UART и организации связи между вычислительными блоками.


