реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Ethernet на LPC2478.
KRS
сообщение Aug 29 2013, 17:46
Сообщение #16


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Oleg_IT @ Aug 29 2013, 21:00) *
??? TCP/IP стек - это бред???

TCP/IP стек - это не бред, это вполне понятный устоявшийся термин.
Буфер - тоже понятный термин.
Но что значит реализовать TCP/IP стек в буфере - я не понимаю.

В примере, который вы загрузили просто API для встроенного MAC контроллера.
А тест - просто передает и принимает фреймы Ethernet II

причем там кадры даже не IP передаются!
получше построю фразу:
в этом тесте передаются не IP кадры
у IP кадра должна стоять не длина, а тип 0x800
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Aug 30 2013, 03:40
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Правильно будет работать программа если я вместо тех "не IP кадров" поставить TCP/IP стек? Конечно можно по экспериментировать, что я и сделаю.
Go to the top of the page
 
+Quote Post
psL
сообщение Aug 30 2013, 07:44
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



У вас пример содержит инициализацию м/c phy, emac контроллера и передачу ethernet кадра в сеть. Для обмена не очень годится, поскольку нужно как минимум еще реализовать протоколы IP, ARP, UDP/TCP. Этот набор протоколов называеется "стек TCP/IP"
Например, Keil поставляет собственный стек TCP/IP в наборе:
http://www.keil.com/rl-arm/rl-tcpnet.asp
со своими примерами.
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 30 2013, 09:08
Сообщение #19


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



На форуме по программированию под стеком TCP/IP понимается - его программная реализация!
Например uIP, lwIP, tnnet.... (keil вам уже приводили в пример)
Даже если брать классическое понятие "Стек протоколов TCP/IP" все равно его нельзя записать в буфер!
В буфер отправки можно записать - пакет, фрейм, кадр и т.п.

Вы понимаете разницу между пакетом (фреймом) и протоколом?
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Aug 30 2013, 10:45
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Oleg_IT @ Aug 29 2013, 05:29) *
Сижу, разбираюсь с кодом EMAC. Не могу понять какой там стек реализован в выходном буфере txptr. Как я понял, если я работаю с TCP/IP, то мне именно в этот буфер нужно стек TCP/IP записывать. Так?

Не путайте теплое с мягким.
Это не тот стек.
Тот, что Вы имеете ввиду, "стек микроконтроллера", куда пишутся данные.
Стек/stack по английски просто значит пачка,набор.
Вам говорят о "наборе протоколов" а не о том, куда писать данные


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Aug 30 2013, 10:54
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата
Вы понимаете разницу между пакетом (фреймом) и протоколом?
Представление имею, в краймем случае почитаю в книжках, в интернете.

Цитата
еще реализовать протоколы IP, ARP, UDP/TCP.
Они у меня уже есть, я года три назад их для AVR+CP2200 реализовавал. Правда TCP не отлаживал и как он работает пока не знаю.
Я всётаки (пусть нудно, по рабоче-крестьянски простоsm.gif) хочу выяснить txptr это именно то место куда нужно записывать байтики протокола IP-TCP-двнные?
Go to the top of the page
 
+Quote Post
psL
сообщение Aug 30 2013, 11:18
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Цитата(Oleg_IT @ Aug 30 2013, 14:54) *
Представление имею, в краймем случае почитаю в книжках, в интернете.

Они у меня уже есть, я года три назад их для AVR+CP2200 реализовавал. Правда TCP не отлаживал и как он работает пока не знаю.
Я всётаки (пусть нудно, по рабоче-крестьянски простоsm.gif) хочу выяснить txptr это именно то место куда нужно записывать байтики протокола IP-TCP-двнные?


Да. Вот здесь данные кадра константой 0x55 заполняются:
Код
/* Skip the first 14 bytes for dst, src, and type/length */
  for ( i=0; i < BodyLength; i++ )
  {
    *(txptr+i+14) = 0x55;
  }

По идее здесь д.б. данные IP пакета.
Ну или этот кадр с 0x55 сниффером можно посмотреть.
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 30 2013, 11:38
Сообщение #23


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(psL @ Aug 30 2013, 15:18) *
По идее здесь д.б. данные IP пакета.

не только там!
надо еще вместо длины записать тип 0x800

emac.* обеспечивает только канальный уровень.

Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Sep 17 2013, 12:31
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Пытаюсь запустить пример EMAC из пакета примеров. Программа виснет, ждёт окончания тайаута, в функции
DWORD PHYInit( DWORD PHYType )
при чтении и проверки флага BMCR_RESET

Код
  WritePHY( PHY_BMCR, BMCR_RESET );
  for ( i = 0; i < 0x20; i++ );    /* short delay */

  timeout = MII_BMSR_TIMEOUT * 4;
  while ( timeout != 0 )
  {
    regValue = ReadPHY( PHY_BMCR );
    if ( (regValue & BMCR_RESET) == 0x0000 )
    {
      break;        /* Reset self cleaned once the reset process is complete */
    }
    timeout--;
  }

Что не так делаю?

В даташите не найду описание портов, регистров, флагов (PHY_BMCR, BMCR_RESET, ...).
Go to the top of the page
 
+Quote Post
Lotor
сообщение Sep 17 2013, 12:41
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(Oleg_IT @ Sep 17 2013, 16:31) *
В даташите не найду описание портов, регистров, флагов (PHY_BMCR, BMCR_RESET, ...).

В датащите на свой phy надеюсь? Это стандартный регистр (Basic Mode Control Register) и должен быть описан.

PS: Так и не выучили матчасть. А ведь это Вам советовал не я один в другой теме. =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Sep 18 2013, 05:30
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(Lotor @ Sep 17 2013, 16:41) *
PS: Так и не выучили матчасть. А ведь это Вам советовал не я один в другой теме. =)

Эээ... это в какой теме. Посмотрел за "Всё время" темы не нашёл такой.
Ну да ладно.
У меня документация user.manual.lpc24xx_1.04.pdf. Там только упоминание о этих регистрах.
Цитата(Lotor @ Sep 17 2013, 16:41) *
В датащите на свой phy надеюсь? Это стандартный регистр (Basic Mode Control Register) и должен быть описан.

Вообще тоя имел ввиду регистр
MII Mgmt Address Register (MADR - 0xFFE0 0028)
Унего два поля
4:0 REGISTER ADDRESS и 12:8 PHY ADDRESS

Сейчас для меня первый вопрос актуальнее.
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 18 2013, 06:20
Сообщение #27


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



А зачем клон темы создали?
Сами же начали тему
http://electronix.ru/forum/index.php?showtopic=115044

это между прочим запрещено правилами форума!
Go to the top of the page
 
+Quote Post
Lotor
сообщение Sep 18 2013, 07:36
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(Oleg_IT @ Sep 18 2013, 09:30) *
Эээ... это в какой теме. Посмотрел за "Всё время" темы не нашёл такой.
Ну да ладно.

Склероз подсказывает, что кое-что неплохо бы забыть? =) Вам выше модератор указал в "какой теме"

Цитата(Oleg_IT @ Sep 18 2013, 09:30) *
Сейчас для меня первый вопрос актуальнее.

Для Вас актуально изучить азы. Но Вы упорно продолжаете гнуть свою линию. Удачи! =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Sep 18 2013, 09:22
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(KRS @ Sep 18 2013, 10:20) *
А зачем клон темы создали?
Сами же начали тему
http://electronix.ru/forum/index.php?showtopic=115044

это между прочим запрещено правилами форума!

Если считаете, что это клон удаляйте тему. Я считаю, что это другой вопрос, хоть и из одной тематике. А два вопроса в одной теме тоже не правильно.

Цитата(Lotor @ Sep 18 2013, 11:36) *
Склероз подсказывает, что кое-что неплохо бы забыть? =) Вам выше модератор указал в "какой теме"


Для Вас актуально изучить азы. Но Вы упорно продолжаете гнуть свою линию. Удачи! =)

А по существу вопроса, почему виснет программа идущая с отладочной платой помочь можете?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 18 2013, 10:01
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



всегда был сторонником того что легче ответить на вопрос, чем объяснить почему его не надо задавать.

Думаю правильным ответом будет "не знаю", потому что кто его знает почему у вас так происходит. Но предположения такие.

Физики не имеют строго описания где у них какие регистры. На это нет стандарта.
Физика (PHY) имеет тенденцию меняться и потому та программа что работала с одним видом физики может не работать с другим.

Поэтому думаю правильным будет посмотреть что за физика стоит на вашем ките, проверить по ее описанию правильный ли адрес регистра и бита ресета который проверяется.

Так же здорово будет проверить правильно ли вы определили адрес самой физики. Он часто задается ножками физики, а в программах обычно реализуют процедуру автопоиска адреса.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 04:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016