Distributor Control Register, DCR
Добавлено: 13.10.22 22:49
Его упоминание в коде для Zynq и отсутствие такого для RPi заставило меня заняться делом (хотя я и отлынивал, но деться некуда). Читаем в BCM2836-Cortex-A7-MPcore-Processor-Reference-Manual.pdf :
Мы видим, что он, во-первых, есть в малинке, во-вторых, что это некий диспетчер прерываний. Посмотрим, что хотят от него в A2/Zynq
и
и ещё есть закомментаренный почему-то код (надо выяснить, я его закомментарил или он так и был в цинке).
Т.е. не выглядит катастрофически страшным.
Код: Выделить всё
Глава 8, Generic Interrupt Controller
The integrated GIC collates and arbitrates from a large number of interrupt sources
Код: Выделить всё
Zynq.ARM.Platform.Mod:
MpcoreBase* = адресВПамяти(0F8F00000H);
ICDDCR* = MpcoreBase + 1000H; (* distributor control register
Код: Выделить всё
ARM.Machine.Mod/InitInterrupts:
НИЗКОУР.запиши32битаПоАдресу(Platform.ICDDCR, 0);
НИЗКОУР.запиши32битаПоАдресу(Platform.ICDDCR, {EnableSecure, EnableNonSecure});
Т.е. не выглядит катастрофически страшным.