Цитата:
как OVF правильно скинуть ?
В спецификации указано что бит в данном регистре доступен для записи и чтения. При сбросе надо убедиться, что поток забивающий буфер прекратился, иначе бит снова будет установлен.
Не знаю в каком режиме работают буферы, возможно потребуется сбросить указатели Head и Tail.
Попробуйте в регистре Delimeter увеличить буфер для входящих пакетов. Если переполнение возникает периодически и не очень длинными пакетами, то возможно это поможет обработать всплеск трафика.
Цитата:
кто нибудь из "миландра" ответит мне вот на что:
как в этом встроенном ethernet реализован формат кадра?
смотрю формат кадра ethernet:
6 байтов адреса назначения 6 байтов адреса источника
потом 2 байта длины пакета
Два байта после MAC адресов это либо длина пакета, либо тип пакета -
https://ru.wikipedia.org/wiki/EthernetЕсли вопрос связан с примером реализации TCPIP (из нашего пака или SPL), то там обрабатывается, например, TCP пакет. Структуру его заголовка Вы найдете в файле tcpip.h
Код:
typedef struct {
uint16_t DestAddr[3];
uint16_t SrcAddr[3];
uint16_t FrameType;
uint16_t IPVerIHL;
uint16_t FrameLength;
.....
} sEthernetTCPIP_Frame, *pEthernetTCPIP_Frame;
Заполнение этого поля можно увидеть в
Код:
void PrepareTCP_FRAME(unsigned short TCPCode)
....
*(uint16_t *) &ptr_OutFrame[ETH_TYPE_OFS] = SWAPB(FRAME_IP);
_________________
Отдел технической поддержки
support@milandr.ru