Для полноты понимания проблемы добавлю Анди. Как это все работает? - при старте проца происходит копирование прошивки с флеша (ее заливают комбиком), в оперативку (плата ОЛТ). Все целиком, микрокод, флаги, константы и таблицы калибровок. Часть кода отрабатывает только на старте проца и потом уже не исполняется. Часть флагов комплектации отрабатывает тут, производится конфигурирование портов проца, периферии и т.д. поэтому если нога не была сконфигурирована как ШИМ - то изменение флага в режиме олт, даже если изменит логику работы прошивки, ШИМ работать все равно не будет. Дальше. ИОЛТ при заливке прошивки льет только основные таблицы калибровок, заливка микрокода не производится! Именно поэтому недопустимо использовать разные прошивки, ибо адреса или форматы калибровок могут тупо не совпадать. И получится что код одной версии и логики, а калибровки - от другой. Как это будет работать - никто сказать не может, а уж если какая табличка на код наползет....
ОЛТ - заливает всю прошивку целиком. Однако в случае ИОЛТа можно на близкой прошивке перелить калибровки и все будет работать, с ОЛТ - все еще хуже. Представьте, работает код из оперативки, и этот код в оперативке на лету меняется на другой, совсем другой. что и куда улетит - хз.... на ОЛТе только ТАЖЕ прошивка, на ИОЛТе - можно близкую. И еще - вторая проблема в том что область XRAM проца ОЛТ-протоколом не переписывается. Там прога хранит рабочие переменные, и если логика и адреса перемешек не совпадают - будет тоже полная опа.