:) ни о чём, пока не знаем кто и за что платит сейчас и будет платить потом. любые потуги сделать портабельное чего-то стОят. по сути - разделяю в проектах системный (дрова и ОС) и прикладной софт. если задача портабельности просматривается, то дрова делаю максимально автономными. в приложениях всяко железное типо P1OUT |= XX не допускаю - только обернутое хотя бы в макрос а-ля вызов функции типо LED_On(), ну и время в тексте обязательно не в тиках, а в секундах и производных от. бывает доходит до BSP в виде либы (без сорцов) и хедеров, а остальное пишет прикладной программер. при работе в команде дисциплинирует согласование минимального API и исполнение в рамках.