DisaPV 0 2 ноября, 2015 Опубликовано 2 ноября, 2015 · Жалоба Всем привет. Такая есть проблема, не могу через Си в NIOS2 ДОСТУЧАТСЯ да EPCS16 Исходные данные: -в QSYS (Quartus 13.0) добавил контроллер - в Dual-Purpose Pins выставил все пены в Use ar reqular I/O - контролер с EPCS запускается - поставил SignalTap, что бы посмотреть как ходят сигналы data, sdo, dclk, sce триггер поставил на dclk по фронту Не работает следующий код на Си #include "epcs_commands.h" int main() { alt_printf ("Start\n"); alt_printf ("d=%x\n",epcs_read_device_id(EPCS_BASE)); alt_printf ("End\n"); while (1) ; return 0; } Контроллер просто зависает. Сообщение "Start" выводит, а дольше ничего. Триггер не срабатывает Кто может подсказать в чем проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 2 ноября, 2015 Опубликовано 2 ноября, 2015 · Жалоба для начала сделайте alt_printf ("EPCS_BASE = 0X%08X\n",EPCS_BASE); если там null, значит забыли #include "system.h" в котором этот дефайн определен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisaPV 0 2 ноября, 2015 Опубликовано 2 ноября, 2015 · Жалоба Выводит: Start EPCS_BASE = 0x21000 и зависает база соответствует тому что прописано в system.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 2 ноября, 2015 Опубликовано 2 ноября, 2015 · Жалоба в таком случае зависание означает, что аппаратно в QSYS что-то неправильно сделано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisaPV 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 · Жалоба попробую заново создать проект Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisaPV 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 (изменено) · Жалоба Не помогло выкладываю картинки это настройка QSYS это рапорт там есть три варинга, но не могу понять счем они связанны это настройка ЦПУ #include <stdio.h> #include "epcs_commands.h" #include "system.h" int main() { printf("Hello from Nios II!\n"); alt_printf ("EPCS_FLASH_CONTROLLER_0_BASE=0x%x\n",EPCS_FLASH_BASE); alt_printf ("d=%x\n",epcs_read_device_id(EPCS_FLASH_BASE)); printf("END\n"); return 0; } и код Это то что выводит консоль это в самом Quartus Изменено 3 ноября, 2015 пользователем DisaPV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 · Жалоба Не помогло выкладываю картинки это настройка QSYS это рапорт там есть три варинга, но не могу понять счем они связанны это настройка ЦПУ #include <stdio.h> #include "epcs_commands.h" #include "system.h" int main() { printf("Hello from Nios II!\n"); alt_printf ("EPCS_FLASH_CONTROLLER_0_BASE=0x%x\n",EPCS_FLASH_BASE); alt_printf ("d=%x\n",epcs_read_device_id(EPCS_FLASH_BASE)); printf("END\n"); return 0; } и код Это то что выводит консоль это в самом Quartus на варнинги эти не обращай внимание, а вот какую ты частоту подаешь? и еще.. у тебя в системе сброс не экспортирован, а на символе есть??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisaPV 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 · Жалоба Частота 100Мгц ресет я потом подцепил (а то проц не запускался) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 · Жалоба Частота 100Мгц ресет я потом подцепил (а то проц не запускался) и если я не ошибаюсь, надо вроде так epcs_read_device_id(EPCS_FLASH_BASE+EPCS_FLASH_BASE_REGISTER_OFFSET); http://electronix.ru/forum/index.php?showtopic=93233 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisaPV 0 3 ноября, 2015 Опубликовано 3 ноября, 2015 · Жалоба Точно, все заработало. Огромное спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться