Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Microblaze & OPB IntController & OPB EthernetLite
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
0xFF
Доброго времени суток!

Месяц или более назад сделал проект с Microblaze на StarterKite 3s500e. OPB Ethernetlite c OPB Interrupt Controller запустил полёт нормальный. Дописал к нему обработку ICMP ARP пакетов. Всё прекрасно пинг идёт. Оки проект готов приступаем к разработке эксперементальной платы.
Ставим 3s400 в корпусе tq144, чтобы ручками потом припаять. Разводим, заказываем, получаем, паяем. Переделываю в проекте от стартера тип микрухи на 3s400tq144 , уменьшаю объём памяти данных и программ до 16кБ ибо в 3s400tq144 имеем тоько 16 блоков BRAM итого 8 для проца 2 на etherlite 6 в запасе. Компилим, синтезируем. Зашиваем и..... пинга нет. Проверяем всё заново: system.ucf и т.д. всё норм.

Начинаем колдовать и с бубном плясать над програмной частью. DEBUG => всю инициализацию проходим в норме, посылаем пробный пакетик с PC залетаем в прерывание или не залетаем на этом microblaze вешается. СТУПОР почему?

Возвращаемся к стартеру (мало ли что с разводкой с запайкой и т.д.) меняем с 32 на 16 кБ память программ и данных и что вы думаете? Правильно эффект тот же. Перелапачиваю PDF по intсontroller и PDF по ethernetlite и не нахожу никаких ограничений, требований на размер память программ и данных.

Дорогие сотоварищи по Xilinx помогите с данным ворпосом ибо у меня закончились мысли как это заставить работать, а вопрос как обойти подобную проблему путём отказа от контроллера прерываний наверное тоже прийдется поднять.

Откликнувшимся заранее спасибо
dsmv
Как предположение - внимательно посмотрите на файл линкера. Может там осталось описание от варианта с 32 Кб, и обработчик прерывания попадает в несуществующую область памяти.
0xFF
Спасибо за ответ

Проблему решил, написал на Support xilinx. Оказалось что вы правы - есть пара багов которые они ещё не пофиксили в edk 9.1 и то что вы написали являлось частью проблемы. Вторая проблема окказалось в том, что в используемом мной PHY DP83848C у него есть strap option function. так вот при настройки этой микрухи все ноги были подтянуты или опущены согласно требуемым. НО как оказалось в ETHERNET LITE вообще отсутствует понятие PHY COL input pin и поэтому ещё при синтезе синтезатор удалял эту ногу и соответственно и все её "подтяжки". При этом микросхема уходила в состояние когда MII интерфейс отключался у микрухи вовсе и потому решение проблемы на лицо.

Всем кому эта тема поможет в будующем - всегда внимательно читаем отчет об удалённых примитивах - иначе будем ждать от Xilinx того чего в нём реально нет.

Удачи
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.