|
|
  |
Ethernet на LPC2478. |
|
|
|
Aug 29 2013, 17:46
|

Профессионал
    
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Aug 30 2013, 07:44
|
Знающий
   
Группа: Свой
Сообщений: 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со своими примерами.
|
|
|
|
|
Aug 30 2013, 10:45
|

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

|
Цитата(Oleg_IT @ Aug 29 2013, 05:29)  Сижу, разбираюсь с кодом EMAC. Не могу понять какой там стек реализован в выходном буфере txptr. Как я понял, если я работаю с TCP/IP, то мне именно в этот буфер нужно стек TCP/IP записывать. Так? Не путайте теплое с мягким. Это не тот стек. Тот, что Вы имеете ввиду, "стек микроконтроллера", куда пишутся данные. Стек/stack по английски просто значит пачка,набор. Вам говорят о "наборе протоколов" а не о том, куда писать данные
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Aug 30 2013, 10:54
|
Знающий
   
Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709

|
Цитата Вы понимаете разницу между пакетом (фреймом) и протоколом? Представление имею, в краймем случае почитаю в книжках, в интернете. Цитата еще реализовать протоколы IP, ARP, UDP/TCP. Они у меня уже есть, я года три назад их для AVR+CP2200 реализовавал. Правда TCP не отлаживал и как он работает пока не знаю. Я всётаки (пусть нудно, по рабоче-крестьянски просто  ) хочу выяснить txptr это именно то место куда нужно записывать байтики протокола IP-TCP-двнные?
|
|
|
|
|
Aug 30 2013, 11:18
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(Oleg_IT @ Aug 30 2013, 14:54)  Представление имею, в краймем случае почитаю в книжках, в интернете. Они у меня уже есть, я года три назад их для AVR+CP2200 реализовавал. Правда TCP не отлаживал и как он работает пока не знаю. Я всётаки (пусть нудно, по рабоче-крестьянски просто  ) хочу выяснить 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 сниффером можно посмотреть.
|
|
|
|
|
Sep 17 2013, 12:31
|
Знающий
   
Группа: Свой
Сообщений: 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, ...).
|
|
|
|
|
Sep 17 2013, 12:41
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(Oleg_IT @ Sep 17 2013, 16:31)  В даташите не найду описание портов, регистров, флагов (PHY_BMCR, BMCR_RESET, ...). В датащите на свой phy надеюсь? Это стандартный регистр (Basic Mode Control Register) и должен быть описан. PS: Так и не выучили матчасть. А ведь это Вам советовал не я один в другой теме. =)
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Sep 18 2013, 05:30
|
Знающий
   
Группа: Свой
Сообщений: 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 Сейчас для меня первый вопрос актуальнее.
|
|
|
|
|
Sep 18 2013, 07:36
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(Oleg_IT @ Sep 18 2013, 09:30)  Эээ... это в какой теме. Посмотрел за "Всё время" темы не нашёл такой. Ну да ладно. Склероз подсказывает, что кое-что неплохо бы забыть? =) Вам выше модератор указал в "какой теме"Цитата(Oleg_IT @ Sep 18 2013, 09:30)  Сейчас для меня первый вопрос актуальнее. Для Вас актуально изучить азы. Но Вы упорно продолжаете гнуть свою линию. Удачи! =)
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Sep 18 2013, 09:22
|
Знающий
   
Группа: Свой
Сообщений: 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)  Склероз подсказывает, что кое-что неплохо бы забыть? =) Вам выше модератор указал в "какой теме"Для Вас актуально изучить азы. Но Вы упорно продолжаете гнуть свою линию. Удачи! =) А по существу вопроса, почему виснет программа идущая с отладочной платой помочь можете?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|