Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глючит дескрипторный процессор, MAC EP9301
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Desenix
Глючит дескрипторный процессор MAC EP9301
передаю ему 16 дескрипторов и статусов:
D3E1000 5F0
D3E1600 105F0
D3E1C00 205F0
D3E2200 305F0
D3E2800 405F0
D3E2E00 505F0
D3E3400 605F0
D3E3A00 705F0
D3E4000 805F0
D3E4600 905F0
D3E4C00 A05F0
D3E5200 B05F0
D3E5800 C05F0
D3E5E00 D05F0
D3E6400 E05F0
D3E6A00 F05F0
инициализация проходит без ошибок, за исключением одной детали, дескрипторный процессор, на мой взгляд, становится в раскорячку.
регистр RXDCurAdd = D3E0044 при RXDQBAdd = D3E0000 , т.е. попадает на середину 5го дескриптора
содержимое RXDEnq = 70010 RXStsEnq = 100010
а если читать статус последнего принятого пакета, то он равен 3C8000 хотя сигнал RXERR от PHY в единицу не встает.
при приеме пакетов RXStsQCurAdd увеличивается на 8 при каждом принятом пакете, пока не закончатся переданные ему дескрипторы, путем записи соотв. числа в регистр RXStsEnq .
А регистр RXDCurAdd в состоянии раскорячки растет пока не достигнет последнего дескриптора, а затем переходит в состояние == RXDQBAdd и больше не изменяется. Ежели передать только 8 дескрипторов, то он же застывает в состоянии D3E0040 и не изменяется.

Вообщем я пока не понимаю в чем глюк.
Desenix
А вот дескрипторы статуса после приема 16-и пакетов
F0402F00 8000003C
F0402F00 8001003C
F0402F00 8002003C
F0402F00 8003003C
F0402F00 8004003C
F0402F00 8005003C
F0402F00 8006003C
F0402F00 8007003C
F0402F00 8008003C
F0402F00 8009003C
F0402F00 800A003C
F0402F00 800B003C
F0402F00 800C003C
F0402F00 800D003C
F0402F00 800E003C
F0402F00 800F003C
при этом дескрипторы данных не изменены.

ща поглядел и пакет в буфере правильно принятый лежит, только длина, вместо 42, 64. мля глючный MAC у цируса нах...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.