я как бы тоже, не претендуя на тайные знания, опираюсь (как ИТшник с 26летним стажем в проектировании и разработке) на своё общее понимание структуры программных продуктов, модульности, версионности, релизов и т.д.
Всё это м.б. не совсем применимо к т.н. встроенным системам (embedded system), написанным специально под определенное специфическое железо, каковой является автомобильная прошивка.
Теоретически допускаю, что обновление - только набор настроечных параметров, а сами алгоритмы, т.е. код исполняемых модулей, вообще не меняются, просто начинают учитывать эти новые параметры (подать те же управляющие импульсы, но с другой амплитудой\скважностью и т.п. ). Хотя для встроенного ПО писать такой адаптивный код, по определению более сложный и объёмный, чем явно всё закодить "в лоб" - роскошь.
Собссно, как раз пример - реализация локализации ПО (языковые пакеты, единицы измерения) - можно зашить текстовые сообщения и константы для пересчёта единиц прямо в код, а можно - в настройки, а в коде использовать прочитанное из настроек. Второе явно сложнее и дороже.
в общем это уже :topic