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

 
 
> eCos, использование TCP/IP
DmitryV
сообщение Aug 27 2006, 13:10
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 16-06-06
Пользователь №: 18 105



Здравствуйте!

Недавно в сети появился порт eCos для Olimex LPC-E2294, за что горомное спасибо Sergei Gavrikov и Evgeny_CD за новость. После некоторых модификаций этот порт заработал и на LPC-E2214.
Проблема в следующем: RedBoot по умолчанию настроен на конфигурацию Ethernet через DHCP (которого в сети нет). Нет проблем, задаем статический IP/NetMask, оставляем пустыми поля Gateway и DefaultServer. Все отлично, плата пингуется. Компилим пример socket_server из комплекта ecos и заливаем его через TFTP (опять-таки нет проблем). При запуске пример долго висит на функции init_all_ethernet_devices() (вроде бы так пишется, не помню) и выдает в "unable to [чего-то_там] DHCP/BOOTP". Отлично... получается, что программа не берет настройки RedBoot? Пусть будет так, с eCos я еще не сильно знаком. Тогда задаем все те же статические адреса в конфигурации "net", пересобираем либы, прогу, заливаем ее на плату. На этой функции уже не висит, а выдает "Unable to reach network". После чего:
create socket OK (3)
bind FAILED (-1)
listen FAILED (-1)
Не подскажите, многоуважаемые знатоки, в чем может быть дело?

PS: Доки по eCos читаю, пока ничего вразумительного не нашел.
PPS: Пробовал конфигурацию lwip_eth, так она вобще не линкуется с моей прогой sad.gif

--
Dmitry.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DmitryV
сообщение Aug 28 2006, 09:36
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 16-06-06
Пользователь №: 18 105



Собственно список изменений:

1. В ecos.db (target olpce2294) добавляем CYGPKG_DEVS_FLASH_AMD_AM29XXXXX
2. В файле /devs/flash/arm/olpce2294/v1_0/src/arm_oplcee2294_flash.c меняем
#include "cyg/io/flash_28fxxx.inl"
на
#include "cyg/io/flash_am29xxxxx.inl"
3. Из flash_olpce2294.cdl заменяем interface-implements-requires с INTEL на аналогичные для AMD.

Собственно всё.

Кстати, задал вопрос в eCos mailing list, там сказали, что надо взять другой IP адрес для программы (отличный от RedBoot). При этом все заработало, однако непонятно тогда, что же делать, если я хочу и программу и RedBoot конфигурить через BOOTP. Он же будет выдавать одинаковые адреса на одинаковый MAC...

оффтопик: не знаете ли случайно хорошего BOOTP сервера, который умеет динамически выдавать IP адреса, не привязывая их к MAC ? Т.е. задаем диапазон выдаваемых IP и он их начинает по порядку раздавать.

--
Dmitry.
Go to the top of the page
 
+Quote Post



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

 


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


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