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