вас девайс, ваша плата, с микроконтроллером, плата версии 1.3, вы писали, писали код и все ок.
Дальше появилась плата 1.4, у проца стало больше ног, появился новый функционал. Скажем появилась у вас задача фичу запилить, как итог у вас два проекта? или решаем все в одном коде и дефайнами определяем версию платы. А если дефайны уже не помогают.
Скажем поменялся у вас принцип управления, в версии 1.3 можно было только включить и выключить, а в версии 1.4 сменили ногу и сделали шим (поменяли принцип управления).
Мы для этого в OTP память зашивали сигнатуру блока. А проект был один. Но у нас математика и метрологическая часть принципиально не менялась. Только по-разному работали с периферией.
функции огораживаются фичами под ифдефами, в конфиге борды включаются нужные фичи
Да и что? Сделай свой hal к примеру
HAL, типа. Логика отдельно, физика отдельно, между ними инторфейс.
Обсуждают сегодня