переменные у меня в RAM, изначально проинициализированы. Стартовый копирует исходные состояния переменных из FLASH. Всё получается, если убедить линкер располагать исходные значения переменных во вполне определённой области FLASH, которую Ваша программа, когда нужно, будет переписывать.