Приложение для микроконтроллера NXP LPC55S69, демонстрирующее использование двух ядер.
Приложение использует CPU0 и CPU1. Ядро CPU0 мигает светодиодом, подключенным к GPIO1_7. CPU1 мигает светодиодом, подключенным к GPIO1_4. Работа ядер синхронизируется через мьютекс-регистр блока mailbox.
Процесс создания этого приложения разобран в статье: https://habr.com/ru/post/527184/
- SDK - файлы из MCUXpresso Software Development Kit, необходимые для данного проекта (полного SDK там нет).
- CPU0 - проект прошивки ведущего ядра.
- CPU1 - проект прошивки ведомого ядра.
- settings - файлы с настройками рабочего пространства.
- Клонировать репозиторий.
- Открыть рабочее пространство LPC55S69_dual_core_demo.eww в IAR.
- Собрать проект прошивки ведомого ядра (CPU1).
- Собрать проект прошивки ведущего ядра (CPU0).
- Запустить отладку из проекта CPU0.
- Запустить выполнение кода ведущего ядра (0).
- Запустить выполнение кода ведомого ядра (1).
Если Вы получили ошибку Failed to synch with multicore partner
, скорее всего Вы забыли собрать проект прошивки ведомого ядра. Пересоберите проект CPU1, а после этого запустите отладку проекта CPU0.
Ядро CPU0 является ведущим, а CPU1 – ведомым. Поэтому сначала запускается выполнение прошивки ядра 0, и только после этого появляется возможность запустить выполнение прошивки ядра 1.
Приложение тестировалось на плате LPC55S69-EVK.
Сборка производилась с использованием IAR 8.42.