confflex
Mar 27 2010, 05:30
Приветствую Всех!
Прошу помощи, может кто встречал подобное?
Имею самопальную плату с Cyclone. Сконфигурирован NIOS\f, SDRAM 16 bit, On-Chip RAM, jtag uart, PIO, Timer, пара своих контроллеров. Quartus 9.0.
Зависание Nios при изменении программы. То есть, например, всё правильно работало, выводило на печать сообщения или значения какой-нибудь переменной в консоль через JTAG. Добавляю ещё printf.., причём в конце или начале основной программы, т.е. логически никак не должно связано с основной программой, и.. происходит либо зависание NIOS (выводит часть сообщений на консоль, другие не выводит, при пошаговом выполнении вижу, что зависает), либо происходят неправильные вычисления (неправильное значение получается одно и то же, т.е. не случайно, а жёстко фиксировано), хотя до ввода printf, всё было Ок.
Первым делом стал винить SDRAM, но вставленный код для тестирования большого сегмента данных всегда проходил без ошибок, попробовал использовть on chip RAM, то же самое. Ни какие манипуляции по переразводке в Квартусе или переконфигурировании системы в SOPC при зафиксированном неправильно выполняемом СИшном коде, не приводят ни к каким результатам. Убирал PLL, снижал частоту системы, без изменений. Коментирую некую строку с printf, всё нормально.
vadimuzzz
Mar 27 2010, 07:13
Цитата
пара своих контроллеров
контроллеры часом не с DMA? криво реализованные контроллеры такого рода могут приводить к трудно диагностируемым глюкам.
для отлавливания таких багов удобно пользоваться SignalTap для NIOS (www.altera.com/literature/an/an446.pdf). там есть и дизассемблер, можно четко отследить, что происходит в момент зависания. ну и, как показывают недавние темы, глюки могут быть и в самом квартусе, так что стоит проверить на последней версии.
confflex
Mar 27 2010, 08:58
vadimuzzz
Спасибо за ответ. DMA пока не использую. А ссылки нельзя на темы, где народ на глюки софта жаловался?
vadimuzzz
Mar 27 2010, 11:49
Цитата(confflex @ Mar 27 2010, 14:58)

Спасибо за ответ. DMA пока не использую. А ссылки нельзя на темы, где народ на глюки софта жаловался?
вот, например, но там о другом.
http://electronix.ru/forum/index.php?showtopic=74308
Koluchiy
Mar 27 2010, 15:03
Банальный вопрос, но всё же.
Вы уверены, что с таймингами всё нормально?
confflex
Mar 27 2010, 15:53
Цитата(Koluchiy @ Mar 27 2010, 18:03)

Банальный вопрос, но всё же.
Вы уверены, что с таймингами всё нормально?
Какими таймингами? Расскажите подробней, пожалуйста.
Требования к значению тактовой частоты выполняется.
С настройками и констрейнами для SDRAM не уверен, но тестировал записью-чтением, а потом даже пробовал вместо SDRAM использовать on-chip RAM.
Serhiy_UA
Mar 29 2010, 05:44
Цитата(confflex @ Mar 27 2010, 08:30)

Прошу помощи, может кто встречал подобное?
http://electronix.ru/forum/index.php?showtopic=52727&hl=Может этот топик поможет.
Посмотрите на галочку в
Small C Library.
confflex
Mar 29 2010, 14:44
Цитата(Serhiy_UA @ Mar 29 2010, 09:44)

http://electronix.ru/forum/index.php?showtopic=52727&hl=Может этот топик поможет.
Посмотрите на галочку в
Small C Library.
Спасибо за ссылку, симтомы очень похожи на указанные в теме.
Reduce device drivers и Small C Library действительно использую, когда в on-chip RAM код пихаю. Но при работе с SDRAM снимал соответствующие галки, чуть ли не все варианты перебрал

. Хотя завтра обязательно ещё попробую.