USB и CAN делать раздельно, на полный JTAG можно забить вполне достаточно SWD.
Если уж использовать встроенный USB то UART тоже нахрен, заодно и пара пинов освободится.
По поводу линий для управления всякой не реалтаймовой внешкой, можно заюзать драйвер управляемый по spi, типа того что обсуждали для форсунок, в промышленных эбу такой подход широко применяется.
Кроме PWM_BOOST желательно зарезервировать еще парочку аналогичных (для того же адсорбера или РХХ типа волговского, да малоли где ШИМ может понадобится).\
Кстати, а зачем на схеме ДВА ДАДа? Мне нехватает фантазии представить себе такую необходимость (если только многоступенчатая програмно управляемя система турбонаддува).
ДТГ это я так понял датчик темпиратуры выхлопных газов? А оно то вам зачем понадобилось? Вообще его ставят для Евро3 (для контроля темпиратуры перед катализатором), в обычной машине это лишнее.
ДФ_VR что такое?
EEPROM тоже можно выкинуть, вести большие логи всетаки лудьше на SD карточку, хранить коды ошибок можно и в раме.
Для форсунок все же решили сделать все по своему на рассыпухе, и при этом на основной плате, все восемь каналов? А чем готовые драйвера не угодили? И все восьем каналов на зажигание тоже на основной плате? Ну вы даете

В том то и смысл в двух платах чтобы сделать полностью стандартизированной базовую не споря о реализации обвязки для тех же форсунок, просто вывести управляющие пины на гребенки для второй платы, а там уже любой начинающий радиолюбитель лутом с дорожками по милиметру вытравит себе то что захочет

Предлагаю пересмотреть разбиение схемы на базовую и дополнительную платы, на базовой оставить только:
1. STM32
2. обвязка для датчиков включая HIP9011
3. Питание
4. разьем под SD карточку
5. CAN USB SWD
Все остальное как то:
1. обвязка для форсунок
2. обвязка для катушек
3. обвязка для РХХ
4. всякие переключатели газ\бензин светодиоды и прочие "хотелки"
5. сопряжение с SECU-3
Вынести на вторую плату.