Итак, имея рабочий проект ниоса на отладочной плате, начинаю переводить его на свое железо. Первая проблема было с CFI (тема рядом) - разобрались. Едем дальше.
1) SDRAM. Стоит чип MT 48LC16M16A2 75. Из пдф на него нашел Cas latency 2 при частоте меньше 100MHz, access time 6ns, t_rcd 20ns, t_rp 20ns, t_rfc 66 ns. Есть вопрос по t_wr - если в пдф указано 1 cycle + 7.5ns, а тактовка 50 MHz, то нужно в сопсе указать 27.5 ns? Так же не нашел в пдф Initialization refresh cycles, Issue one refresh command every и delay after powerup before initialization. Плохо искал? Как назначить эти параметры?
2) Как-то странно ведет себя nios ide в плане отладчика. Выглядит это так. Для тестирования sdram создаем проект, содержащий cpu/s+jtag debugger 1, cfi, jtag-uart, sdram и onchip_memory 40 Kb, из которой и планируется проверять sdram. Reset vector направлен на cfi, exeption vector - onchip_memory. Геренируем систему в сопс, создаем в ниос-иде проект, собираем, получаем файл onсhip_memory.hex, собираем все в квартусе (7.1), зашиваем в epcs. Далее идут странности. Если из ниос иде выбрать Run As, то проект какое-то время (несколько минут) работает, после чего вылетает due to I/O error. Так же странно ведет себя Debug As - может запустится и отработать несколько комманд, после чего вылететь, а может вообще не запуститься, сказав, что verefication faild on address - адрес onchip_memory. Так же есть ощущение, что программа, загружаемая при стартапе из флешки, так же некоторое время работает и резетится, но тут точно утверждать не могу - нет толком средств наблюдения. В чем тут может быть дело?
|