Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TCP-IP code with FreeRTOS
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Rinat86
Помогите пожалуйста разобраться.Попробовал поработать с примером c olimex-a "TCP-IP code with FreeRTOS",на отладочной плате AT91SAM7X-EK,не измненяя его.Предположил что он должен работать как WEB Server.Ничего не увидел.IP адрес не пингуется,узел не достунен,страница с ip адресом устройства не открывается.Поменял ip адрес устройства на ip адрес соседнего компа (комп предворительно отсоединил от сети), ничего не изменилось.
Отсюда несколько вопросов:
1.Имеет ли серьезное влияние на работоспособность примера эта отладочная плата (пример под другую)?
2.Что я должен увидеть запуская этот пример?
3.Пример-это Demo версия,что подразумевает наличия ряда ограничений в работе.Так ли это?Если есть то какие?
Большое спасибо
Мусатов Константин
Какой проц у тебя стоит на плате? Если 128-й, то web сервер в нее не лезит. Надо отключать и изменять конфикурацию памяти. Тогда можно запустить ping. С 256-й микросхемой у меня все работает. Есть, конечно вопросы. Вот сейчас мучаюсь при интенсивном обмене иногда задваиваются отосланные пакеты, почему-то теряются ack-и от компьютера. Возможно не успевает освободиться приемный буфер. Пока копаю дальше.
Плата у тебя отolimex-а? У меня плата Аргусовтовская, она повторяет Атмеловскую. С ней работают примеры с FreeRTOS.org . Я просто не в курсе, какой стоит чип физического интерфейса.
Rinat86
Цитата(Мусатов Константин @ Feb 8 2007, 22:28) *
Какой проц у тебя стоит на плате? Если 128-й, то web сервер в нее не лезит. Надо отключать и изменять конфикурацию памяти. Тогда можно запустить ping. С 256-й микросхемой у меня все работает. Есть, конечно вопросы. Вот сейчас мучаюсь при интенсивном обмене иногда задваиваются отосланные пакеты, почему-то теряются ack-и от компьютера. Возможно не успевает освободиться приемный буфер. Пока копаю дальше.
Плата у тебя отolimex-а? У меня плата Аргусовтовская, она повторяет Атмеловскую. С ней работают примеры с FreeRTOS.org . Я просто не в курсе, какой стоит чип физического интерфейса.

Проц 256.Плата родная Atmela AT91SAM7X-EK.Описание ее есть на официальном сайте Atmel. Чип физическогоинтерфейса DAVICOM. Сам кристал-DM9161AE.Может надо что-то дополнительно подключить или настроить?Программа компилируется без ошибок,но ничего не происходит.Что в принцепе я долженувидеть неизменяя пример
Мусатов Константин
Цитата(Rinat86 @ Feb 9 2007, 10:23) *
Проц 256.Плата родная Atmela AT91SAM7X-EK.Описание ее есть на официальном сайте Atmel. Чип физическогоинтерфейса DAVICOM. Сам кристал-DM9161AE.Может надо что-то дополнительно подключить или настроить?Программа компилируется без ошибок,но ничего не происходит.Что в принцепе я долженувидеть неизменяя пример

Да, у меня такой же комплект. Версия FreeRTOS 4.1.3. Подредактировать пришлось только номера портов светодиодов, а то не мигали. Проект открывал из папки uIP_Demo_IAR_ARM7 .
Сейчас уже все совсем не так, пересобрал как хотел, подключил новую версию uIP, скаченную с их сайта, поднял скорость поллинга по сети в 100 раз. Да, мне лень было на компе переставлять IP, я изменил его в примере, а сейчас перешел со статического IP на хранимый в настройках.

У тебя светодиоды моргают, вообще FreeRTOS работает?
Rinat86
Цитата(Мусатов Константин @ Feb 9 2007, 15:38) *
Цитата(Rinat86 @ Feb 9 2007, 10:23) *

Проц 256.Плата родная Atmela AT91SAM7X-EK.Описание ее есть на официальном сайте Atmel. Чип физическогоинтерфейса DAVICOM. Сам кристал-DM9161AE.Может надо что-то дополнительно подключить или настроить?Программа компилируется без ошибок,но ничего не происходит.Что в принцепе я долженувидеть неизменяя пример

Да, у меня такой же комплект. Версия FreeRTOS 4.1.3. Подредактировать пришлось только номера портов светодиодов, а то не мигали. Проект открывал из папки uIP_Demo_IAR_ARM7 .
Сейчас уже все совсем не так, пересобрал как хотел, подключил новую версию uIP, скаченную с их сайта, поднял скорость поллинга по сети в 100 раз. Да, мне лень было на компе переставлять IP, я изменил его в примере, а сейчас перешел со статического IP на хранимый в настройках.

У тебя светодиоды моргают, вообще FreeRTOS работает?

FreeRTOS-а у меня нет.Я пробовал без него (наверное все дело в нем),т.к.он мне не нужен,вернее хотелось бы без него.Мне нужно создать мост CAN-Ethernet. Хотел этот пример использовать как готовый стек и под него все подогнать.Вообще без FreeRTOS-а он хоть как то будет работать?
OlegHmt
сколько мне не изменяет память, на плате от олимекса стоит микреловский чип физического уровня и, соответственно, в олимексовском примере управление отвечает этому чипу. В плате же от аргусофта - чип физуровня Давиком, там, кажется, немного отличается управление и конфигурация, но что самое главное ответ от чипа с ИД номером другой, а в коде идёт проверка соответсвия ИД. В примере из ФрееРТОС (а именно этот пример переработали под свою демку олимексовцы) стоит поддержка чипа Давикома, поэтому этот пример должен бы запуститься без проблем

Цитата
FreeRTOS-а у меня нет.Я пробовал без него (наверное все дело в нем),т.к.он мне не нужен,вернее хотелось бы без него.Мне нужно создать мост CAN-Ethernet. Хотел этот пример использовать как готовый стек и под него все подогнать.Вообще без FreeRTOS-а он хоть как то будет работать?


Опять же, если мне не изменяет память, пример от Олимекса, это пример на базе FreeRTOS :-)
Rinat86
Цитата(OlegHmt @ Feb 9 2007, 17:02) *
Опять же, если мне не изменяет память, пример от Олимекса, это пример на базе FreeRTOS :-)

Какя понял без FreeRTOS этот пример мне не подойтет.Есть ливозможность запустить без FreeRTOS или проще делать заново,а непеределовать пример
Мусатов Константин
На сайте разработчика uIP есть новая версия стека. В ней есть документация, в том числе как сделать приложение без ОС. Боюсь, что только времени это потребует немало.
OlegHmt
Цитата
Какя понял без FreeRTOS этот пример мне не подойтет.Есть ливозможность запустить без FreeRTOS или проще делать заново,а непеределовать пример


Так FreeRTOS уже присутствует в самом примере. Возьмите либо пример из дистрибутива FreeRTOS, либо акуратно просмотрите файл SAM7_EMAC.c. Особено функцию prvProbePHY где есть похожая часть:

Код
/* AMD AM79C875:
            PHY_ID1 = 0x0022
            PHY_ID2 = 0x5541
            Bits 3:0 Revision Number Four bit manufacturer’s revision number.
                0001 stands for Rev. A, etc.
    */
/* PHY ID */
//#define MII_DM9161_ID     0x0181b8a0
//#define MII_AM79C875_ID   0x00225540    /* 0x00225541 */
    if( ( ( ulPHYId1 << 16 ) | ( ulPHYId2 & 0xfff0 ) ) != MII_DM9161_ID )
    {
        /* Did not expect this ID. */
        xReturn = pdFAIL;
    }
    else
    {
        ulStatus = xGetLinkSpeed();

        if( ulStatus != pdPASS )
        {
            xReturn = pdFAIL;
        }
    }


но ИД другие. Кстати приведенная часть кода кажется относится к давикомовскому чипу физуровня






А ещё вопрос - о том ли мы примере говорим?
Rinat86
Цитата(Мусатов Константин @ Feb 9 2007, 18:03) *
На сайте разработчика uIP есть новая версия стека. В ней есть документация, в том числе как сделать приложение без ОС. Боюсь, что только времени это потребует немало.

не могли бы кинуть полную ссылкугде можно скачать.Я на сайте freertos запутался

Цитата(Мусатов Константин @ Feb 9 2007, 18:03) *
На сайте разработчика uIP есть новая версия стека. В ней есть документация, в том числе как сделать приложение без ОС. Боюсь, что только времени это потребует немало.

Вообще стоит ли переделывать приложение без ОС.Может лучше в ОС разобраться?
OlegHmt
Цитата
не могли бы кинуть полную ссылкугде можно скачать.Я на сайте freertos запутался


Что касается freertos, то в левой панельке есть пункт меню Download (в дереве хелпа), а оттуда через две-три страницы переход на:
http://sourceforge.net/project/showfiles.p...ckage_id=120544
где уже можно скачать весь дистрибутив
Rinat86
Цитата(OlegHmt @ Feb 9 2007, 18:11) *
Цитата

Какя понял без FreeRTOS этот пример мне не подойтет.Есть ливозможность запустить без FreeRTOS или проще делать заново,а непеределовать пример


Так FreeRTOS уже присутствует в самом примере. Возьмите либо пример из дистрибутива FreeRTOS, либо акуратно просмотрите файл SAM7_EMAC.c. Особено функцию prvProbePHY где есть похожая часть:

Код
/* AMD AM79C875:
            PHY_ID1 = 0x0022
            PHY_ID2 = 0x5541
            Bits 3:0 Revision Number Four bit manufacturer’s revision number.
                0001 stands for Rev. A, etc.
    */
/* PHY ID */
//#define MII_DM9161_ID     0x0181b8a0
//#define MII_AM79C875_ID   0x00225540    /* 0x00225541 */
    if( ( ( ulPHYId1 << 16 ) | ( ulPHYId2 & 0xfff0 ) ) != MII_DM9161_ID )
    {
        /* Did not expect this ID. */
        xReturn = pdFAIL;
    }
    else
    {
        ulStatus = xGetLinkSpeed();

        if( ulStatus != pdPASS )
        {
            xReturn = pdFAIL;
        }
    }


но ИД другие. Кстати приведенная часть кода кажется относится к давикомовскому чипу физуровня






А ещё вопрос - о том ли мы примере говорим?

Пример взял http://www.olimex.com/dev/index.html здесь TCP-IP code with FreeRTOS.Мне то как раз FreeRTOS не нужен,а пример без него найти не могу
OlegHmt
[]
Пример взял http://www.olimex.com/dev/index.html здесь TCP-IP code with FreeRTOS.Мне то как раз FreeRTOS не нужен,а пример без него найти не могу
[/quote]

Лично я начинал с пакета FreeRTOS и перерабатывал пример оттуда сначала под олимекс плату, потом под свою. Как мне кажется, Вы сейчас наступили на те же грабли, что и я, а именно другой чип физического уровня. Рекомендую достать описание Вашего чипа и сравнить процедуру инициализации в коде и согласно описанию. Либо сравнить процедуру инициализии в Вашем примере с примером из FreeRTOS где используется такой же чип физуровня.
Я думаю, что правка этой части кода будет достаточной, чтобы запустить пример.
Rinat86
[quote name='OlegHmt' date='Feb 9 2007, 18:22' post='208816']
[quote]
не могли бы кинуть полную ссылкугде можно скачать.Я на сайте freertos запутался
[/quote]
[quote]
На сайте разработчика uIP есть новая версия стека. В ней есть документация, в том числе как сделать приложение без ОС. Боюсь, что только времени это потребует немало.
[quote]
Что касается freertos, то в левой панельке есть пункт меню Download (в дереве хелпа), а оттуда через две-три страницы переход на:
http://sourceforge.net/project/showfiles.p...ckage_id=120544
где уже можно скачать весь дистрибутив
[/quote]
Мне как разнужна ссылка на новую версию uIP стека.Я немогу ее найти
OlegHmt
Цитата
Мне как разнужна ссылка на новую версию uIP стека.Я немогу ее найти


http://www.sics.se/~adam/uip/download.html
Rinat86
[quote name='OlegHmt' date='Feb 9 2007, 19:02' post='208837']
[]
Пример взял http://www.olimex.com/dev/index.html здесь TCP-IP code with FreeRTOS.Мне то как раз FreeRTOS не нужен,а пример без него найти не могу
[/quote]

Лично я начинал с пакета FreeRTOS и перерабатывал пример оттуда сначала под олимекс плату, потом под свою. Как мне кажется, Вы сейчас наступили на те же грабли, что и я, а именно другой чип физического уровня. Рекомендую достать описание Вашего чипа и сравнить процедуру инициализации в коде и согласно описанию. Либо сравнить процедуру инициализии в Вашем примере с примером из FreeRTOS где используется такой же чип физуровня.
Я думаю, что правка этой части кода будет достаточной, чтобы запустить пример.
[/quote]
Возможно вы правы насччет граблей.Я просто первый раз занимаюсь с этой платой,да и с платами вообще,поэтому с трудом въезжаю.Чип физического уровня у меня DAVIKON DN9161AE,а плата AT91SAM7-EK
OlegHmt
Цитата
Возможно вы правы насччет граблей.Я просто первый раз занимаюсь с этой платой,да и с платами вообще,поэтому с трудом въезжаю.Чип физического уровня у меня DAVIKON DN9161AE,а плата AT91SAM7-EK


А в примере от олимекса чип, если не ошибаюсь micrel ksz8721. Принципиально работа с ними полностью идентична (поддерживают стандарт), а вот процедуры инициализции могут немного отличаться. И что главное ИД у них разные, а в примере в части инициализации производится сравнение ИД
Rinat86
Цитата(OlegHmt @ Feb 9 2007, 19:18) *
Цитата

Возможно вы правы насччет граблей.Я просто первый раз занимаюсь с этой платой,да и с платами вообще,поэтому с трудом въезжаю.Чип физического уровня у меня DAVIKON DN9161AE,а плата AT91SAM7-EK


А в примере от олимекса чип, если не ошибаюсь micrel ksz8721. Принципиально работа с ними полностью идентична (поддерживают стандарт), а вот процедуры инициализции могут немного отличаться. И что главное ИД у них разные, а в примере в части инициализации производится сравнение ИД

Ясно постараюсь исправить.После изменений без ОС FreeRTOSa она будет работать?
Praetor_Gix
Цитата(Мусатов Константин @ Feb 8 2007, 23:28) *
Какой проц у тебя стоит на плате? Если 128-й, то web сервер в нее не лезит.

У меня вопрос возник такой: у меня 128 проц, но web-сервер мне не нужен, мне нужны только обычный сервер TCP/IP, (клиент присылает запрос, я его обрабатываю, присылаю ответ). Если закомментировать создание лишних задач, кроме uIP - влезет ли в 128 проц?
Мусатов Константин
Цитата(Praetor_Gix @ Apr 22 2007, 11:42) *
У меня вопрос возник такой: у меня 128 проц, но web-сервер мне не нужен, мне нужны только обычный сервер TCP/IP, (клиент присылает запрос, я его обрабатываю, присылаю ответ). Если закомментировать создание лишних задач, кроме uIP - влезет ли в 128 проц?

Влезет конечно. У веб сервера просто большие потребности в ОЗУ. Если Вашему приложению много ОЗУ не надо, то работать будет.
zltigo
Цитата(Мусатов Константин @ Apr 26 2007, 17:01) *
У веб сервера просто большие потребности в ОЗУ.

Чем "больше"? Взяли из флешки много всякой всячины и послали в ответ на запрос. Никаких принципиальных отличий "WEB сервера" от желаемого
Цитата
(клиент присылает запрос, я его обрабатываю, присылаю ответ)

по потреблению RAM не вижу.
kolobok0
Цитата(zltigo @ Apr 26 2007, 18:31) *
...по потреблению RAM не вижу.


для уровня вэба - да. там можно на ран тайме обрабатывать динамические данные. а вот уровни пониже (ip, tcp) - тут увы, обработать дефрагментацию вряд ли без озу прокатит...

с уважением
(круглый)
zltigo
Цитата(kolobok0 @ Apr 26 2007, 18:18) *
а вот уровни пониже (ip, tcp) - тут увы, обработать дефрагментацию вряд ли без озу прокатит...

Это сервер - как дефрагментировать и вообще дефранментировать ответы или нет его дело и право.
Запросов которые погут приходить к WEB серверу дефрагментированным я не предстваляю smile.gif
Поминаемый TCP/IP знать не знает кто над ним висит и по этой причине кушает память одинаково.
Мусатов Константин
Цитата(zltigo @ Apr 26 2007, 18:31) *
Чем "больше"? Взяли из флешки много всякой всячины и послали в ответ на запрос. Никаких принципиальных отличий "WEB сервера" от желаемого

Речь идет кнкретно о Web сервере в FreeRTOS Demo. Он там потребляющий и с ним в 128 не влазит, это уже известный факт. Можно, конечно, подрезать ему крылышки и вместить, но это уже будет другой :-)
zltigo
Цитата(Мусатов Константин @ Apr 26 2007, 23:42) *
Можно, конечно, подрезать ему крылышки и вместить, но это уже будет другой :-)

О чем Вы уже ведете речь я перестал понимать sad.gif.
Повторяю. Если куда-то не влезает (по RAM) WEB сервер, то и "простейший TCP/IP сервер" практически наверняка не влезет, ибо WEB сервер это и есть одно из самых простейших приложений.
Мусатов Константин
Цитата(zltigo @ Apr 27 2007, 00:56) *
О чем Вы уже ведете речь я перестал понимать sad.gif.
Повторяю. Если куда-то не влезает (по RAM) WEB сервер, то и "простейший TCP/IP сервер" практически наверняка не влезет, ибо WEB сервер это и есть одно из самых простейших приложений.

Дело в том, что простейший сервер обычно никому не нужен в микроконтроллере, это же не статический хостинг. :-) Нужно делать псевдоскрипты, динамические страницы и т.п. фигню. А это уже просит ОЗУ. По-сути, ОЗУ нужно для промежуточной буферизации запросов и ответов. Для переменных нужны копейки. Потому приложение автора ветки может и влезть, коли ему много не потребуется. Но это он сам должен понять, посмотрев map файл. cheers.gif
zltigo
Цитата(Мусатов Константин @ Apr 28 2007, 16:40) *
Дело в том, что простейший сервер обычно никому не нужен в микроконтроллере, это же не статический хостинг. :-)

Вы, что считаете, что в приводимом примере сервер не простейший? Там экономить почти не на чем а сэкономленное уйдет на подобные-же нужды в "специальном" сервере. Впихнуть естественно может и удастся, но никак не по причине простого выкидывания WEB сервера sad.gif
Мусатов Константин
Цитата(zltigo @ Apr 28 2007, 17:50) *
Вы, что считаете, что в приводимом примере сервер не простейший? Там экономить почти не на чем а сэкономленное уйдет на подобные-же нужды в "специальном" сервере. Впихнуть естественно может и удастся, но никак не по причине простого выкидывания WEB сервера sad.gif

Сначала о такой возможности мне сказали в Аргуссофте. После чего я это сделал и у меня на 128Х работал IP, ARP и еще некоторая фигня. Оставалось свободными неколько кило. Как раз на 128Х я начал отладку. Потом уже пришел 256Х камень, мне его перепаяли на плате и вопрос рассосался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.