Цитата(seniorandre @ Apr 14 2015, 14:06)

У меня такое было по молодости. Я тогда неправильный размер для переменной хранения указателя сделал, например int16 хранит адрес максимум 65535 иесли переменная уезжает из этого диапазона, то все падает. Появилось с ростом программы.
Сдается что у Вас все таки проблема по работе с указателями. Я сейчас разбирался как раз с проектом, про который я собственно и писал выше. У меня ошибка была когда я сдвигал несколько байт командой компилятора CCS вправо. Вчера глянул на ассемблерный код, который он генерил и понял почему ошибка. Оказывается он почему-то изменял только адрес младшего байта адреса, даже если надо было сдвигать данные в ячейке у которой уже надо менять и старший адрес. И соотв. если группа ячеек попадала в адреса, у которых все байты находятся в группе, у которых старший байт не меняется, то все ок, а если группа адресов смещается, то все перестает работать.
Так и у Вас просто какая-то переменная смещается и все перестает работать. И скорее всего неважно, растет прошивка или уменьшается.
Сообщение отредактировал seniorandre - Apr 23 2015, 17:37