Запись пакета Ethernet в определенную область памяти?
Я буду очень благодарен, если кто-то может указать мне путь!
Я хочу спроектировать систему, которая могла бы принимать данные о приеме через протокол TCP/IP. Теперь, как только данные будут получены, я хочу перенаправить эти данные в определенную ячейку памяти и освободить буфер приема для следующего поступающего пакета, также делая то же самое., В моей системе есть только одно выделенное соединение от хоста до моей платы fpga.
Я использую LWIP. Я пытаюсь понять, как LWIP создает список дескрипторов (я имею в виду, как для этой цели определяется конкретное место в памяти, поскольку я наблюдал каждый раз, когда я инициализирую программу, точка rx_qbar указывает на другое местоположение, даже если нет пакета). отправлено или получено!!).
Итак, моя идея заключается в том, что я должен контролировать завершенный дескриптор, и когда следующий буфер находится в процессе, я могу скопировать первый буфер (я имею в виду, что BD1 завершен,Bd2 продолжается,BD1 rx_buffer будет скопирован на мой указанный адрес), не мешая текущей транзакции в получить порт! Я буду признателен, если кто-то может помочь мне понять этот процесс на уровне регистра.