Проверка корректности использования аппаратных ресурсов (DMA, IRQ, GPIO, Timers) перед генерацией кода HAL/LL. Предотвращает конфликты ресурсов и галлюцинации пинов.
Не допустить использования занятых ресурсов, неверной конфигурации периферии или нарушения схемы подключения.
Код не должен противоречить *.ioc файлу и зафиксированным снимкам конфигурации (docs/hsi/*).
Перед написанием кода драйвера/HAL проверь следующее:
docs/hsi/HSI_IO_MAP.md. Свободен ли пин?#define или имя из таблицы (например, , ), а не сырой .TIM1_BKINAD7606_BUSYPB10docs/hsi/HSI_DMA_MAP.md. Не занят ли канал другой периферией? (Для STM32G4 учитывай DMAMUX Request ID).fast_loop (PWM, ADC Watchdog) — приоритет должен быть наивысшим (0..4).FromISR API FreeRTOS — приоритет должен быть логически ниже (числом больше) или равен configMAX_SYSCALL_INTERRUPT_PRIORITY (обычно 5..15).docs/HW_IO_MAP.md требуют особой осторожности. Проверь полярность и роль сигнала в docs/PROJECT_CONTEXT.md.Если обнаружен конфликт, ОСТАНОВИ ГЕНЕРАЦИЮ и выдай отчет:
⛔ [HARDWARE CONFLICT DETECTED]
DMA1_Channel1UART_RXTIM3_UP (согласно HSI_DMA_MAP.md).ioc файл.Если конфликтов нет — продолжай генерацию кода.