ELM знает только CAN протокол, формат общения по CAN'у частично стандартизирован,
а как общаться с BCM знает только софт, т.е. IDS, ADS, Fordometer, UCDS, ELMConfig.
ну собственно для изменений в программе не всегда нужен исходник,
это было бы конечно верх совершенства =) но, как правило, имеем, то что имеем,
дизассемблер никто еще не отменял, тем более что софт крайне близкий к железу,
и изменения возможны, чем я сейчас и занимаюсь.
флеш можно переписать и частично, калибровочные файлы, как вы называете - это вторичный CAN загрузчик,
никто не мешает изменить его код и писать только фиксы в firmware, а не полностью его переписывать,
(что, коллеги из FFClub'a уже давно сделали)
у IDS такой задачи нет, поэтому флеш стирается и пишется полностью