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

 
 
> TCP/IP и UDP на Nucleo-F767ZI
geotox
сообщение Jun 11 2018, 15:31
Сообщение #1





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



Ребят, всем привет!
Недавно столкнулся с задачей имплементации TCP/IP / UDP на STM32. До этого работал с микроконтроллерами PIC от Microchip. Погуглив немного, нашел решения, использующие lwIP для реализации TCP/IP. Использовать сторонние либы не хочется, поэтому вопрос - насколько сложна имплементация вышеуказанных протоколов посредством только регистров? Использование HAL и схожих библиотек также не приветствуется.
Для реализации используется Nucleo-F767ZI с STM32F767ZI и LAN8742A на борту.
Для начала пытаюсь разобраться с настройкой LAN8742A. Первое, что меня смутило, это то, что в документации к Nucleo-F767ZI сказано, что соединение между мк и модулем LAN8742A происходит посредством интерфейса RMII, в то время как регистры LAN8742A настраиваются через SMI. Так как настроить LAN8742A через мк?
Заранее спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
geotox
сообщение Aug 6 2018, 15:24
Сообщение #2





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



UPD:
Решил пойти от обратного. Создал UDP сервер на STM32:
Код
void udp_init_connection(void)
{
    ip_addr_t dest_ip;
    err_t err;
    upcb = udp_new();

    if (upcb != NULL)
    {
        IP4_ADDR(&dest_ip, 169, 254, 166, 3);
        err = udp_bind(upcb, &dest_ip, 22);
        upcb->local_port = 22;
        IP4_ADDR(&dest_ip, 0, 0, 0, 0);
        upcb->remote_ip = dest_ip;
        upcb->remote_port = 22;
    }

    if (err == ERR_OK)
    {
        udp_recv(upcb, udp_receive_callback, NULL);
    }
}


Прописал новые IP в функции инициализации lwip:
Код
  IP_ADDRESS[0] = 169;
  IP_ADDRESS[1] = 254;
  IP_ADDRESS[2] = 166;
  IP_ADDRESS[3] = 3;
  NETMASK_ADDRESS[0] = 255;
  NETMASK_ADDRESS[1] = 255;
  NETMASK_ADDRESS[2] = 0;
  NETMASK_ADDRESS[3] = 0;
  GATEWAY_ADDRESS[0] = 169;
  GATEWAY_ADDRESS[1] = 254;
  GATEWAY_ADDRESS[2] = 166;
  GATEWAY_ADDRESS[3] = 1;


Теперь, когда remote_ip = 0.0.0.0 в WireShark вижу посланный с STM32 пакет. Как только указываю IP компьютера, пакеты перестают приходить. STM подключен напрямую к ПК, без роутера. В чем может быть проблема?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- geotox   TCP/IP и UDP на Nucleo-F767ZI   Jun 11 2018, 15:31
- - dimka76   UDP с нуля за один-два дня написать можно, он прос...   Jun 11 2018, 15:51
|- - geotox   Цитата(dimka76 @ Jun 11 2018, 19:51) UDP ...   Jun 11 2018, 16:01
|- - dimka76   Цитата(geotox @ Jun 11 2018, 19:01) для у...   Jun 11 2018, 16:45
|- - geotox   Цитата(dimka76 @ Jun 11 2018, 20:45) Я не...   Jun 11 2018, 17:16
- - yes   проверьте на примере из CUBE, что работает эзернет...   Jun 12 2018, 18:56
- - geotox   Ребят, всем привет! Поднял в итоге Ethernet + ...   Jul 29 2018, 18:29
|- - VladislavS   Цитата(geotox @ Jul 29 2018, 21:29) Единс...   Jul 29 2018, 18:33
|- - geotox   Цитата(VladislavS @ Jul 29 2018, 22:33) Э...   Jul 29 2018, 18:47
|- - VladislavS   Цитата(geotox @ Jul 29 2018, 21:47) А мож...   Jul 29 2018, 19:38
- - geotox   Решил все же испробовать lwIP. Подключил плату нап...   Aug 5 2018, 19:33
|- - KRS   Цитата(geotox @ Aug 6 2018, 18:24) Как то...   Aug 7 2018, 08:14
|- - geotox   Цитата(KRS @ Aug 7 2018, 12:14) В ARP arp...   Aug 7 2018, 18:57
- - geotox   Ребят, что посоветуете сделать, если и STM и PC шл...   Aug 11 2018, 11:21
- - Arlleex   Цитата(geotox @ Aug 11 2018, 14:21) Ребят...   Aug 11 2018, 19:52


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

 


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


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