Wolfsoul 0 24 мая, 2007 Опубликовано 24 мая, 2007 · Жалоба Для программирования кристалла с использованием EPCS с заливкой внутри этой флэш-памяти программы для Nios II, необходимо выполнить следующие действия: В Quartus II: 1. Создать проект, в который будет установлен системный модуль 2. Указать тип используемого устройства флэш-памяти (это необходимо сделать и при отсутствии Ниоса в проекте, для программирования кристалла, используя флэш-память). В SOPC Builder нужно: 1. Создать требуемый системный модуль. 2. Установить контроллер EPCS памяти и указать его адреса и прерывание (автоматически). 3. Сгенерировать системный модуль. В IDE: 1. Написать программу, которая будет выполняться процессором. 2. Откомпилировать проект. В Quartus II: 1. Установить системный модуль в проект (через Мегавизор). 2. Выполнить полную компиляцию проекта и сгенерировать файл *.sof. 3. «Залить» проект в ПЛИС. НЕ выключая плату. В IDE: 1. Запустить Flash Programmer и создать новую сессию в нем. 2. Установить «галку» перед строкой «Program FPGA configuration data into hardware-image region of flash-memory». 3. Убедиться, что в строке «FPGA Configuration (SOF)» указан нужный файл. А в пункте «Memory» указан EPCS контроллер. 4. Запустить программатор. 5. Сбросить плату (выключить и включить питание). Процедура проводилась в Quartus II v7.1 для DK на основании Cyclone и платы с Stratix II. Необходимо отметить, что в версии QII 7.1 отсутствует необходимость создавать «Описание платы». О предыдущих версиях квартуса, не знаю. PS Если найдете неточности в описании, то пишите и я их исправлю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikavano 0 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Подскажите пожалуйста. Как научить Ниос2 грузить программу, скомпиленную в IDE, из EPCS? В SOPC имеется связка проц<->onchip_ram<->epcs_controller... делал так: 1. в квартусе создал проект со схемой и сопц компонентом. 2. в сопц прикрутил проц, рам, епцс контроллер и gpio. сгенерил все. 3. в ниос наваял простенький тестик. отбилдил. 4. в квартусе добавил получившийся символ , приассигнил пины и откомпилил. 5. залил в кристалл по джитагу. Работает. Не выключая питания платы открыл ниосовский флешпрограммер и залил это добро в епцс. передернул питание. грузанулось из епцс. работает. ТЕПЕРЬ. Пытаюсь изменить сишный исходник. Билдюсь. Программером сливаю в епцс. сливается. передергиваю питание.И НОЛЬ РЕАКЦИИ НА ИЗМЕНЕНИЯ В ИСХОДНИКЕ. Где собака зарыта? Откуда софт для проца грузится? из EPCS boot или он жестко зашит в sof файле, который мне сгенерил квартус? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wolfsoul 0 16 июля, 2007 Опубликовано 16 июля, 2007 · Жалоба ТЕПЕРЬ. Пытаюсь изменить сишный исходник. Билдюсь. Программером сливаю в епцс. сливается. передергиваю питание.И НОЛЬ РЕАКЦИИ НА ИЗМЕНЕНИЯ В ИСХОДНИКЕ. Где собака зарыта? Откуда софт для проца грузится? из EPCS boot или он жестко зашит в sof файле, который мне сгенерил квартус? Проверил на плате. Результат - все нормально. Действия: 1. Запрограмил EPCS как было описано ранее. 2. Изменил сишник 3. Build-All 4. Залил флеш-программером 5. передернул питание Все работает как и ожидалось. Проверяйте свои действия. Попробуйте удалить и пересоздать сессию флеш-программера. он жестко зашит в sof файле, который мне сгенерил квартус? Для того, чтоб вопрос более не возникал. Поставьте Smart компиляцию в QII, проведите полную компиляцию проекта. Измените сишник, откомпилируйте программу. Попробуйте еще раз компильнуть весь проект. Ожидаемый результат: мгновенная компиляция (изменений в железе проекта нет). Вопрос для размышления: представьте разделенную работу железячника и программера и проект заполняющий целиком весть камень (например EP2S180), а теперь представьте работу программера если ему прийдется перекомпилировать железячный проект каждый раз Вот я сам думаю, куда бы я послал тогда этот Ниос ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikavano 0 16 июля, 2007 Опубликовано 16 июля, 2007 · Жалоба Проверил на плате. Результат - все нормально. Действия: 1. Запрограмил EPCS как было описано ранее. 2. Изменил сишник 3. Build-All 4. Залил флеш-программером 5. передернул питание Все работает как и ожидалось. Да. Smart-компиляция идея хорошая. Без изменений в проекте - работает мнгновенно . Я понял в чем у меня было дело :-). Переставил адрес ресета ниосовскому процессору с onchip_ram на epcs и ненадо никакой компиляции квартусом. достаточно откомпилить в ниосе и залить флаш программером. О минусах такого подхода: пока догадываюсь , что жрется ресурс epcs при отладке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться