Весь проект слишком большой, вычленить из него данный фрагмент сложно. Попробовал сделать отдельный проект где только этот фрагмент - там все нормально. Сейчас еще поковырялся и вижу, что отличие только в том, что в варианте размещения в NEAR_C (неработающий) RAM (данная ее часть) не инициализируется при low_level_init. Но при входе в симулятор туда загружены верные значения! Я делаю ресет, стираю их из памяти, становлюсь на вектор сброса и вперед. Дохожу до main - а они не проинициализированы.
Объявил константу, умножение на которую не проходит как static __flash - и все стало нормально. Так что проблема видимо в неинициализации данной константы.
|