Оба дураки :-)). Как минимум три уровня: \CSP\ регистры периферии МК и все константы, по файлику на отдельное устройство
\BSP\ API работы с периферийным блоком, все конфигурации под конкретную плату и конкретное ядро
\SRC\ законченый модуль со всей пре/постобработкой
\CSP\ пишется один раз, и скорее всего он есть готовый от производителя МК
\BSP\ правится или переписывается под каждую конкретную модификацию платы
\SRC\ в идеале не должен зависеть ни от чего, и работать хоть на писюке
надо придумать объяснение этому мудизму, иначе рехнуться можно