Доброго времени суток!
Месяц или более назад сделал проект с 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 помогите с данным ворпосом ибо у меня закончились мысли как это заставить работать, а вопрос как обойти подобную проблему путём отказа от контроллера прерываний наверное тоже прийдется поднять.
Откликнувшимся заранее спасибо