Добрый день! Наткнулся на проблему с TSE при использовании внешних FIFO. Имеется NIOS II, к которому через внешние FIFO и mSGDMA подключен TSE. NIOS II работает под управлением Linux со встроенным драйвером. Проблема заключается в том, что на передачу обрезаются первые два байта пакета. Я понимаю, что это связано с выравниванием заголовков, поэтому отключаю опцию "Align packet headers to 32-bit boundary". После данной манипуляции обрезаются первые два байта во входящих сообщениях, в то время как исходящие сообщения отсылаются корректно. То есть всё стало наоборот. Со встроенным в TSE буферами FIFO всё работает правильно. Куда копать? Не могу понять аппаратура это косячит или драйвер. Поставил вывод отсылаемого пакета в консоль в драйвере и ничего криминального не вижу.
Ещё хотел бы уточнить, что ширина шины от процессора до FIFO через DMA 32 бита, а после FIFO она урезается до 8 бит через автоматический адаптер Qsys.
Сообщение отредактировал wapster - Apr 25 2018, 14:24
|