NXP i.MX7D запуск второго ядра

После сброса камня или подачи питания, второе ядро A7 находится в состоянии сброса.
Мастер - ядро A7-0 выполняет следующий код:

	MOV32 R0, SRC_BASE

	@ Адрес исполняемого кода для второго ядра A7
	MOV32 R7, Запуск_второго_ядра_A7 @ Этот адрес
	STR R7, [R0, SRC_GPR3] @ Пробить в этот регистр

	@ Стартовать второе ядро A7
	LDR R7, [R0, A7RCR1]
	BIS R7, 1 << A7_CORE1_ENABLE
	STR R7, [R0, A7RCR1]

	@ Дождаться завершения выхода второго ядра
	@ Из состояния аппаратного сброса
	1:
	LDR R7, [R0, A7RCR0]
	TST R7, 1 << A7_CORE_POR_RESET1
	BNE 1b
	@ Процедура ожидания необязательная
	@ Но может пригодиться

Всё готово! Второе ядро уже выполняет программу, которая размещена по адресу Запуск_второго_ядра_A7.

А теперь главное. Второе ядро - это практически полностью изолированная от первого ядра конструкция.
И для него всё так же, нужно настраивать отдельно стек и таблицу TTB. Это первое, что нужно сделать.

Счётчик машинных циклов в каждом ядре свой. Будьте внимательны! Впрочем, всё уже сделано.

Смотрите файл Настройки A7 - 1.asm в комплекте разработчика.