Добрый день!
Проект на Quartus 13.1 для Cyclone V. В Nios пару функций написаны на С, большинство на ассемблере. Оптимизация выключена (-O0).
В какой-то момент при внесении изменений в функции на С (как добавление, так и удаление строк в другой функции) заметил, что программа начинает странно работать.
Строка, работавшая до этого,
Код
test=IORD(UPR_REG2_0_BASE+4, 0);

начинает возвращать всегда нулевые значения, хотя чтение ассемблером этого же адреса возвращает верные данные.
Этот проект переехал с Cyclone II и quartus 9.0. Подобных проблем там никогда не возникало.