|
Стеки TCP/IP с примерами на STR912, OpenTCP, lwIP, тесты производительности |
|
|
|
Mar 25 2010, 18:03
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210

|
Цитата(blackfin @ Mar 25 2010, 20:36)  NicheLite, на ST не сгодится? Как у него со скоростью? Может и сгодится
|
|
|
|
|
Mar 25 2010, 20:13
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210

|
Цитата(MALLOY2 @ Mar 25 2010, 22:39)  Порты относятся к опарационкам, вы же хотите без нее, так какой тут порт ?, для LWIP нужен только драйвер для MAC контроллера и все. Примеры есть на сайте ST но они не оптимизированные. И какую вы хотите скорость от STR912? 100% загрузки канала на TCP не получите, максимум 60-70% это на чистом стеке, тобиш проц ничего не делает кроме обслуживания стека и пакеты гоняет в никуда в одну сторону, чисто на чтение загрузка канала порядка 85% - 90% но принятые данные никак не обрабатываются. Также пропускная будет зависеть от количества выделенной вами для стека памяти. Прошу прощения за неточность формулировки. я имел ввиду именно стэк с драйвером и всеми настройками типа DMA и т.д. Задача проста: нужно взять из Ethernet поток и запихнуть его в EMI с максимальной скоростью... и соответственно наоборот из EMI запихнуть поток в Ethernet. Предполагаю обрабатывать пакеты в прерываниях соответствующих и заряжать там DMA. Процессор никакими рассчетами не занят, памяти тоже свободной хватает. Так что хочется найти пример максимально быстрого стека практически не замарачиваясь на ресурсы... Максимальный размер пакета в ethernet спецификации вроде 1.5к, значит на него не нужно много памяти... Обрабатывать как-то параллельно что-то или вроде того не планирую вовсе. Кроме того хочу сгребать все tcp пакеты, независимо от порта. Вобщем есть что упростить и прооптимизировать... Из довеска к TCP нужно только DHCP.
Сообщение отредактировал Pechka - Mar 25 2010, 20:18
|
|
|
|
|
Mar 25 2010, 20:30
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210

|
Цитата(aaarrr @ Mar 25 2010, 23:22)  Это, простите, как? TCP соединение устанавливается между двумя конкретными портами. Очень просто: "слушать" сразу все порты т.е. 1024-65535 и обрабатывать их одинаково...
|
|
|
|
|
Mar 25 2010, 20:47
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210

|
Цитата(aaarrr @ Mar 25 2010, 23:34)  А смысл какой открывать до 64K соединений? Никто не собирается открывать 64к соединений, соединений будет не более 2х. Однако какие порты при этом будут участвовать - не важно. т.е. это будет сервер, который будет доступен по любому из портов протокола TCP. Грубо говоря это просто некий широкий канал обмена между другими частями системы (которые висят на EMI) и PC. При этом поскольку EMI у нас всего 1, то и соединений нам много не нужно.
Сообщение отредактировал Pechka - Mar 25 2010, 20:50
|
|
|
|
|
Mar 25 2010, 20:55
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Pechka @ Mar 25 2010, 23:47)  Никто не собирается открывать 64к соединений, соединений будет не более 2х. Однако какие порты при этом будут участвовать - не важно. т.е. это будет сервер, который будет доступен по любому из портов протокола TCP. Сомнительное "упрощение", ну да ладно. Цитата(Pechka @ Mar 25 2010, 23:47)  Грубо говоря это просто некий широкий канал обмена между другими частями системы (которые висят на EMI) и PC. При этом поскольку EMI у нас всего 1, то и соединений нам много не нужно. Так может и TCP не нужен, если нужна скорость, а PC рядом? Накрутите просто свой протокол поверх UDP.
|
|
|
|
|
Mar 25 2010, 21:16
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Pechka @ Mar 26 2010, 00:04)  Свой протокол поверх UDP не хочется городить т.к. тогда понадобится писать драйвер для этого сетевого устройства, иначе программисты PC будут ругаться, плеваться и т.д. Если "программисты PC" плюются, когда слышат о непонятном протоколе UDP, то значит это совсем даже не программисты. Цитата(Pechka @ Mar 26 2010, 00:04)  Хочется что-то стандартное, возможно упрощенное. Да и в целом TCP достаточно удобно сделан для соединений с гарантированой доставкой: вроде бы ничего лишнего. Однако в моем случае можно будет ещё упростить его тем, что пакеты будут приходить в верном порядке. Если все же решите использовать TCP, то лучше воздержитесь от таких "упрощений" хотя бы на начальном этапе.
|
|
|
|
|
Mar 25 2010, 21:19
|
Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210

|
Нет, я имел ввиду не UDP непонятный, а надстройка будет самодельная и из-за неё будут проблемы. Ну, раз все настаивают - буду лобировать сей вопрос завтра  Но всё-таки хотелось бы получить ещё и lwIP, openTCP примеры для STR912
Сообщение отредактировал Pechka - Mar 25 2010, 21:21
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|