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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32F407 Ethernet, Не создается сокет
smk
сообщение Jul 27 2015, 07:58
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Ранее испорльзовал контроллеры STN32F107. Все было ОК. Теперь пытаюсь тоже самое запустить на F407. Столкнулся с проблемой, что не создается сокет. Программа заходит в бесконечный цикл в функци sys_error (ERROR_CODE code) по причине /* Out of TCP Sockets. */.

Собственно процедура такая:
Код
  init_TcpNet ();
    dhcp_disable ();

  /* Setup and enable the SysTick timer for 100ms. */
  SysTick->LOAD = (168000000 / 10) - 1;
  SysTick->CTRL = 0x05;

    SocketNumber = tcp_get_socket (TCP_TYPE_SERVER | TCP_TYPE_DELAY_ACK | TCP_TYPE_FLOW_CTRL | TCP_TYPE_KEEP_ALIVE, 0, 65535, tcp_callback);

    if (SocketNumber != 0)
        {
            /* Start listening on TCP port DevEthInfo.CtrlPort */
            tcp_listen (SocketNumber, PortNumber);
        }

Подскажите в чем может быть дело? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 27 2015, 08:16
Сообщение #2


Гуру
******

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



А МАК драйвер енумерацию и прочее прошел?
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 27 2015, 08:58
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(Golikov A. @ Jul 27 2015, 11:16) *
А МАК драйвер енумерацию и прочее прошел?

Проблема решилась увеличением числа сокетов. Однако раньше эта проблема не возникала. Интересно почему. Изначально было по 5 сокетов удп и тсп. Иеще 5 сессий по хттп. Увеличил число сокетов тсп до 10. Создался сокет сномером 6. А на что ушли остальные 5?
Хоть сокет и создался, но контроллер не пингуется. Связь с физикой есть, линк есть. Помигивает активность т.к. девай в локальной сети. Как разобраться с пингом? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 27 2015, 09:20
Сообщение #4


Гуру
******

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



пройдитесь по сокетам поглядите в каких они состояниях, у них есть такой параметр, может яснее станет....
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 27 2015, 09:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(Golikov A. @ Jul 27 2015, 12:20) *
пройдитесь по сокетам поглядите в каких они состояниях, у них есть такой параметр, может яснее станет....

Как правильно дефайнами сконфигурировать выводы для 100-ногого F407 в файле ETH_STM32F4XX.C для MII? Может ноги не так сконфигурированы?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 27 2015, 11:23
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Действительно проблема была в конфигурации ног. Интересно, а кто кейлу драйвера пишет, они что предполагали?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 27 2015, 11:37
Сообщение #7


Гуру
******

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



сами пишут вроде, может не тот кристалл выбрали? хотя ремапы ручечками....
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 27 2015, 12:16
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Вот интересный участок кода.
Код
#if !defined (STM32F40XX) && !defined (STM32F427X) && !defined (STM32F429X)
  /* #define STM32F40XX */   /*!< STM32F40xx/41xx Devices */
  /* #define STM32F427X */   /*!< STM32F427x/437x Devices */
  /* #define STM32F429X */   /*!< STM32F429x/439x Devices */
#endif

По идее нужно раскоментить то. что требуется. Я пробовал - кейл ругается. Тоже интересно почему.
А на счет драйвера так там некоторые ноги вообще не упомянуты (РА0 например) хотя в работе нужны. Просто удалил то их творчество
и написал заново. Все заработало сразу.

Хотел еще такой вопрос задать, делал кто создание нескольких сокетов в цикле? Может поделится кто чтоб мне время не терять. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 31 2015, 07:53
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Прошу подсказки в таком вопросе. Создал сокет. Коннект есть, данные в него приходят. При попытке отправить функция tcp_check_send отдает 0. В описани просто написано что сокет не готов отправлять данные. С чем это может быть связано? Девайс в локальной сети. tcp_get_state сообщает что коннект есть. Спасибо.

Елки, забыл что уже сталкивался с таким. Все, вопрос отпал. Все работает


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 31 2015, 08:35
Сообщение #10


Гуру
******

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



а ответ для страждущих? Буфера забились?
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 31 2015, 09:05
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Опять вызывл из келлбека.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Apr 27 2016, 10:04
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Столкнулся с ситуацией когда линк есть но активность не светится и связи нет. При этом физика читается и айди правильный. Что можно проверить чтоб выйти на причину? Сам софт рабочий. Предыдущие экземпляры работали. С этим конкретным экземпляром что-то не то и нужно понять что. Соплей вроде нет, все помыто. Физика RTL8201 а контроллер STM32F407. Библиотека кейловская. Драйвер переделанный под физику и рабочий (софт проверен). Подскажите куда смотреть. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Corvus
сообщение Apr 27 2016, 11:16
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Я бы менял последовательно на компоненты, взятые с заведомо рабочей платы Rref - Кварц - PHY.
Go to the top of the page
 
+Quote Post
smk
сообщение Apr 27 2016, 11:31
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Хотелось бы как-то сузить круг подозрений. Ну например, регистры физики могут что-то сказать?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Apr 27 2016, 13:01
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



С проблемой разобрался. Непропай нашел. Теперь собственно пинга нет. Хотя с виду все правильно. Что можно проверить? Спасисбо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

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

 


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


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