Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Starterkit lpc2478 Ethernet
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Отладочные платы
Acvarif
Подключил плату mlpc2478 от Starterkit. Первое, что хотелось бы проверить - работу Ethernet. В комплекте с платкой есть примеры под Keil. Примеры слишком навороченные. 3 а то и 4 в одном. Кроме того к примерам нет описания. Разобраться что к чему трудно. Кроме того в Keil похоже не очень надежно работает J-Link.
Может есть у кого простенький пример, например, обмен в UDP режиме или Веб сервера, под IAR v5, для LPC2478 + KSZ8721BL с пояснением как что делать, как настроить карту, чтоб увидеть результат связи PC с платкой.

Спасибо.
zltigo
Какая разница насколько они навороченные, если Вам только проверить работоспособность.
Acvarif
Цитата(zltigo @ Jul 21 2011, 15:47) *
Какая разница насколько они навороченные, если Вам только проверить работоспособность.


Вот нашел примеры от IAR которые высылают с диском от IAR при покупке этого кикстар.

В примерах есть IAR-LPC-2478\uip_webserver. Его же я нашел потом и в папке example с установленным IAR 5510 (пример в скрепке) .
Все компилится нормально. Через J-Link загружается во флеш тоже без проблем.
Но поскольку я совсем не имею представления о том как должен работать веб сервер на контроллере то возникли вопросы.

Попробую все по порядку.
1. Подключаю Ethernet кабель между платой MLPC2478 и компьютером.
2. Включаю питание платы. Что в этом случае должно произойти? Должно ли установиться LAN соединение между компом и платкой с появлением на панели задач сдвоенных мигающих экранчиков? Или нет? У меня пишет,то соединение не установлено либо лимитировано. Что нужно сделать, чтобы его установить?
3. Далее пробую через Iar+J-Link запустить приложение в режиме отладки. Все запускается нормально (но соединения по LAN так и нет). Что дальше? Тут я совсем не пойму, что дальше делать...
В прилагаемом текстовом файле к примеру написано.

3) Run the program.

4) Connect a network cable between PC LAN Card, a hub, or a network card and
IAR LPC-2478-SK board. Start a web browser and type 192.168.0.100 in
address field of the browser.

Все этот я делаю, но соединения нет и ничего не происходит.
Хотя просмотрев код явно видно, что на запорос из браузера моя платка должна ответить
небольшой html страницей.

Кроме того в файле еще есть такое

(In case you connect the board straight to the computer's network card,
then set your default gateway to 192.168.0.100)
Этого я не понимаю. Что имеется ввиду (set your default gateway to 192.168.0.100). Где и как это нужно установить?

Посоветуйте пожалуйста чего нибудь.


yakub_EZ
Цитата(Acvarif @ Jul 22 2011, 11:13) *
In case you connect the board straight to the computer's network card,
then set your default gateway to 192.168.0.100)
Этого я не понимаю. Что имеется ввиду (set your default gateway to 192.168.0.100). Где и как это нужно установить?

Это в браузере идете по адресу http://192.168.0.100/
Старткеркитовская отладка уже идет с примером EasyWeb. Подсоединяете, запускаете и убеждаетесь в её исправности. Правда сделано в Keil мюVision
Acvarif
Цитата(yakub_EZ @ Jul 22 2011, 12:13) *
Это в браузере идете по адресу http://192.168.0.100/
Старткеркитовская отладка уже идет с примером EasyWeb. Подсоединяете, запускаете и убеждаетесь в её исправности. Правда сделано в Keil мюVision


Веб сервер На Iar (то же и на Keil) не работает.
Вот установки сервера (одинаково на Iar и Keil):

Код
// easyWEB-stack definitions

#define MYIP_1 192 // our internet protocol (IP) address

#define MYIP_2 168

#define MYIP_3 0

#define MYIP_4 136



#define SUBMASK_1 255 // subnet mask

#define SUBMASK_2 255

#define SUBMASK_3 255

#define SUBMASK_4 0



#define GWIP_1 192 // standard gateway (used if remote

#define GWIP_2 168 // IP is no part of our subnet)

#define GWIP_3 0

#define GWIP_4 100


Прописываю это все в установках Local Arrea Connection Properties/Internet Protocol(TCP/IP) Properties

ip adress - 192 . 168 . 0 . 136
subnet mask - 255 . 255 . 255 . 0
defaultv gateway - 192 . 168 . 0 . 100

Prefered DNS server - 192 . 168 . 0 . 100

После загрузки проекта через j-Link (одинаково для Iar и Keil) cоединение устанавливается, но при наборе в браузере http://192.168.0.136
он пишет This program cannot display the webpage

Подскажите пожалуйста чего нибудь...
yakub_EZ
В общем залил я ваш проект. Ничего не менял из адресов. Тоже, нет движения.
Открыл WireShark, а в командной строке отправил ping 192.168.0.100 на что команда выразила сочувствия по поводу 100%-ной недосдачи пакетов. А в WireShark со стороны 192.168.0.100 показал взаимный ping на адрес 192.168.0.1.
После чего я исправил в сетевых настройках адрес компьютеру на 192.168.0.1 и смог насладиться вебсервером sm.gif
Странно, но EasyWeb от Keil'а так не делал, откликался на все адреса.
Acvarif
Цитата(yakub_EZ @ Jul 22 2011, 19:43) *
В общем залил я ваш проект. Ничего не менял из адресов. Тоже, нет движения.
Открыл WireShark, а в командной строке отправил ping 192.168.0.100 на что команда выразила сочувствия по поводу 100%-ной недосдачи пакетов. А в WireShark со стороны 192.168.0.100 показал взаимный ping на адрес 192.168.0.1.
После чего я исправил в сетевых настройках адрес компьютеру на 192.168.0.1 и смог насладиться вебсервером sm.gif
Странно, но EasyWeb от Keil'а так не делал, откликался на все адреса.


Большое Спасибо. Жаль платка осталась на работе. Обязательно попробую.
Если можно, небольшое уточнение ->
Ничего не меняя в проекте IAR uip_webserver, там настройки следующие:
Код
  uip_ipaddr(ipaddr, 192,168,0,100);
  uip_sethostaddr(ipaddr);
  uip_ipaddr(ipaddr, 192,168,0,1);
  uip_setdraddr(ipaddr);
  uip_ipaddr(ipaddr, 255,255,255,0);
  uip_setnetmask(ipaddr);

нужно сделать сетевые настройки следующие
ip adress - 192 . 168 . 0 . 1
subnet mask - 255 . 255 . 255 . 0
defaultv gateway - 192 . 168 . 0 . 100

Prefered DNS server - 192 . 168 . 0 . 100

Правильно ли я все понял?

К плате от стартеркит придается проект веб сервера от Keil. Проект компилится, грузится во флеш, но картина та же. Соединение устанавливается но сервер не работает. Если возможно, посмотрите пожалуйста на своей платке (проет в срепке). Появляются сомнения по поводу моей платы (Ethernet)

Спасибо.
yakub_EZ
Залил готовый hex, даже Keil'ом не открывал. По ссылке http://192.168.0.136/ как ни в чем не бывало появился голубой easyWeb.
Всё же думаю что проблема была в том что в локальной сети 192.168.х.х вашей работы вы были далеко не первым.
Меня не порадовал старт uIP. Оставил я на ночь платку подсоединенной к ноутбуку через USB кабель. Ноутбук закончил закачку и отключился. Днем, при в включении uIP молчал как рыба, даже reset не помог. Единственное что помогло его запустить, так это перевключение USB шнурка. Видать дело было в KSZ8721BL
Acvarif
Цитата(yakub_EZ @ Jul 23 2011, 12:23) *
Залил готовый hex, даже Keil'ом не открывал. По ссылке http://192.168.0.136/ как ни в чем не бывало появился голубой easyWeb.
Всё же думаю что проблема была в том что в локальной сети 192.168.х.х вашей работы вы были далеко не первым.
Меня не порадовал старт uIP. Оставил я на ночь платку подсоединенной к ноутбуку через USB кабель. Ноутбук закончил закачку и отключился. Днем, при в включении uIP молчал как рыба, даже reset не помог. Единственное что помогло его запустить, так это перевключение USB шнурка. Видать дело было в KSZ8721BL


Спасибо.
Теперь получается что что easyWeb Keil точно рабочий. Буду пытаться запустить его на своей платке.
Я так понимаю, что у Вас тоже платка от Стартеркит mlpc2478 или ей подобная?
Если не секрет, как Вы залили hex без кейла?
Я загружаю через J-Link 8, но через Keil, в IAR заливаю через дебагер. Интуитивно понимаю, что должны быть еще способы. Поскольку с ARM только начал знакомиться других способов не знаю.
У нас на работе действительно локалка на 192.168.0.x
Но я отключал комп от сети и соединял его только с платкой. Соединение устанавливалось а сервер не запускался.
Буду пробовать еще. Спасибо Вам. Информации стало больше. Надеюсь продвинусь дальше.
yakub_EZ
Цитата(Acvarif @ Jul 23 2011, 17:11) *
Спасибо.
Теперь получается что что easyWeb Keil точно рабочий. Буду пытаться запустить его на своей платке.
Я так понимаю, что у Вас тоже платка от Стартеркит mlpc2478 или ей подобная?

Да, она самая.

Цитата(Acvarif @ Jul 23 2011, 17:11) *
Если не секрет, как Вы залили hex без кейла?
Я загружаю через J-Link 8, но через Keil, в IAR заливаю через дебагер. Интуитивно понимаю, что должны быть еще способы. Поскольку с ARM только начал знакомиться других способов не знаю.

Залил с помощью программы at200 через uart0. Только не той, что по умолчанию идет на диске к платке, а более развитая версия от zltigo. Её можно найти здесь. Для меня она удобна тем, что для заливки требуется только шнурок идущий к платке, а потом в окне её терминала можно смотреть что пишет МК. В easyWeb, он допустим, пишет что удачно прошел инициализацию и сервер доступен по указанному адресу.

Цитата(Acvarif @ Jul 23 2011, 17:11) *
У нас на работе действительно локалка на 192.168.0.x
Но я отключал комп от сети и соединял его только с платкой. Соединение устанавливалось а сервер не запускался.
Буду пробовать еще. Спасибо Вам. Информации стало больше. Надеюсь продвинусь дальше.

Ну и я про то, что в локалке IP адреса фиксированно присвоены или присваиваются и шансов попасть на нужный вам - 192.168.0.1 очень мало. Если соединение установилось, значит работает, только чужому не ответит wink.gif
Acvarif
Прошу прощения за перерыв в бщении. Плановый отпуск.

Взялся опять за сервер на Кейле.
Настройки эти:

Код
// easyWEB-stack definitions
#define MYIP_1               192                 // our internet protocol (IP) address
#define MYIP_2               168
#define MYIP_3               0
#define MYIP_4               136

#define SUBMASK_1            255                 // subnet mask
#define SUBMASK_2            255
#define SUBMASK_3            255
#define SUBMASK_4            0

#define GWIP_1               192                 // standard gateway (used if remote
#define GWIP_2               168                 // IP is no part of our subnet)
#define GWIP_3               0
#define GWIP_4               134


После загрузки флэш, соединение устанавливается надежно.
Проверил командой ping -t 192.168.0.136 получаю:

Reply from 192.168.0.136 bytes=32 time<1ms TTL=128

Получается, что плата доступна через Ethernet по адресу 192.168.0.136.
Но загадка, почему все же не открывается веб страница?
Не совсем понял
Цитата
Если соединение установилось, значит работает, только чужому не ответит

yakub_EZ
Цитата(Acvarif @ Aug 9 2011, 00:37) *
Получается, что плата доступна через Ethernet по адресу 192.168.0.136.
Но загадка, почему все же не открывается веб страница?

Раньше работал? Мой вариант в браузере открывался? Возможно проблема в его настройках.
Какой IP компютера? Должен быть 192.168.0.134

Цитата
Не совсем понял
Цитата
Если соединение установилось, значит работает, только чужому не ответит

Имел в виду, что система пишет о появлении сети в правом нижнем углу экрана.
Если инициализация чипа не пройдена, то даже такого не напишет
Acvarif
Цитата(yakub_EZ @ Aug 9 2011, 08:44) *
Раньше работал? Мой вариант в браузере открывался? Возможно проблема в его настройках.
Какой IP компютера? Должен быть 192.168.0.134


В браузере не открывается ни один из вариантов (ни Keil ни Iar)
Может я недопонимаю как настраивать соединение на компе?

В браузере я никакие настройки не трогаю. Настраиваю только LAN (картинка ниже)
Acvarif
Наконец все получилось.

Все дело было в настройках Lan. IP компа должно быть типа 192.168.0.140
Вобщем отличаться от IP платы.
Acvarif
Еще небольшой вопрос к yakub_EZ.
На моей платке при подсоединенном кабеле LAN (длина 10 м) начинает сильно нагреваться KSZ8721BL.
Палец удержать трудно. Наверняка около 60 градусов.

Насколько это нормально или не нормально?
У Вас также греется?
Acvarif
Цитата
Если соединение установилось, значит работает, только чужому не ответит


По этому поводу возник еще один вопрос.
В локальной сети нашей работы сервер запускается с любого компа при наборе в браузере 192.168.0.136
А как насчет Интернета? Тут я не врубаюсь. Как обратиться к серверу через Интернет?
SII
1. Иметь внешний статический IP-адрес для сети предприятия (ну или домашней, если дома заниматься).
2. На входном маршрутизаторе (именно он будет по этому адресу виден снаружи) прописать, что внешние обращения к порту такому-то надо перенаправить на такой-то IP-адрес во внутренней сети.
Acvarif
Цитата(SII @ Aug 16 2011, 13:31) *
1. Иметь внешний статический IP-адрес для сети предприятия (ну или домашней, если дома заниматься).
2. На входном маршрутизаторе (именно он будет по этому адресу виден снаружи) прописать, что внешние обращения к порту такому-то надо перенаправить на такой-то IP-адрес во внутренней сети.


Спасибо. Почти понятно.
Некоторые конкретности...

Наш внешний IP 89.28.73.172
Внутренняя сеть - 192.168.2. (2...255)
Мой вебсервер на ARM контроллере - 192.168.2.136
Из внутренней сети доступен с любого компа.
Входной маршрутизатор находится на одном из компов.
По поводу порта... Какой обычно выбирается порт?
И как тогда обращаться к моему вебсерверу ...может типа так 89.28.73.172:(порт)?
zltigo
Да возьмите Вы наконец-то какой-нибудь букварь и почитайте. Ну нельзя-же вопросы с уровня ниже плинтуса задавать. Не вежливо.
Acvarif
Цитата(zltigo @ Aug 16 2011, 15:47) *
Да возьмите Вы наконец-то какой-нибудь букварь и почитайте. Ну нельзя-же вопросы с уровня ниже плинтуса задавать. Не вежливо.


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

Порт к которому подключен мой ARM сервер 9009 IP 192.168.2.136
Как технически (программно) прописать перенаправление никто не знает...
zltigo
QUOTE (Acvarif @ Aug 16 2011, 15:00) *
Да читал вроде. Пока не допираю, что и как.

1) Вы читали книгу и не поняли ПОДРОБНОЕ объяснение данное профессиональным писателем.
2) Вы не можете задать сколь-нибудь конкретный вопрос на который можно дать сколь-нибудь короткий, соответствующий формату общения в форуме ответ.
Так на что Вы надеетесь? На публикацию здесь, как минимум статьи? С которой опять "да читал вроде"?
Давайте Вы возьмете любой банальный учебник техникума/ВУЗа и будете читать без "вроде".
Acvarif
Цитата(zltigo @ Aug 16 2011, 16:27) *
1) Вы читали книгу и не поняли ПОДРОБНОЕ объяснение данное профессиональным писателем.
2) Вы не можете задать сколь-нибудь конкретный вопрос на который можно дать сколь-нибудь короткий, соответствующий формату общения в форуме ответ.
Так на что Вы надеетесь? На публикацию здесь, как минимум статьи? С которой опять "да читал вроде"?
Давайте Вы возьмете любой банальный учебник техникума/ВУЗа и будете читать без "вроде".


С удовольствием буду читать. Кидайте ссылку. Если найду там ответ на банальный для Вас и пока неразрешимый для меня вопрос буду вам очень признателен.
Все, что читал до сих пор ... конкретикой не отличается. Похоже на разного рода учебники с переливанием из пустого в порожнее. Из всего, что я за многие годы читал по своей специальности - самое лучшее это даташиты на микроконтроллеры (например Atmel) Остальное все, за редким исключением, полная требуха. Чего стоит, например, учебник по VHDL Бабило? Я его много раз начинал, как "Война и мир". "Война и мир" прочитал, а Бабило нет, и хорошо, что нет...
Acvarif
Получилось. Пришлось спрашивать у Google.

Перенаправление порта 80 (http) средствами Windows оказалось туфтой. http://www.ixbt.com/comm/prac-small-lan1.shtml Не перенаправляет. Хотя может я чего и не понял.
Самым надежным и понятным способом оказался Virtual Server, который обязательно имеется в любом DSL модеме или роутере http://webdrug.narod.ru/ZXDSL/VirtSer.htm Перенаправляет http куда надо.

Но всеравно остался ВОПРОС.
Если например имеются 2 и более серверов в локальной сети, то как при этом строить эти самые перенаправления?
Dron_Gus
Обращатся по разным портам. http://someserver.ru, http://someserver.ru:8080 и т.д.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.