Using LwIP and Ethernet with STM32

Поділитися
Вставка
  • Опубліковано 2 гру 2024

КОМЕНТАРІ • 38

  • @KirStranger
    @KirStranger 2 роки тому +1

    Спасибо огромное! Очень круто и наглядно. Тот случай когда искал медь а нашел золото :)

  • @treiler_ufa
    @treiler_ufa 6 років тому +5

    У Вас очень глубокие знания. Очень круто.

  • @SlavicTechnologies
    @SlavicTechnologies 4 роки тому

    RTOS и HAL должны иметь разные источники тактирования. Это важно.
    А в остальном - очень полезное видео. С данными МК знавшим давно, но Ethernet ещё не пробовал. Теперь попробую

  • @krounis7985
    @krounis7985 6 років тому +5

    спасибо за видео, все доступно и понятно :)

  • @antonshiryaev5675
    @antonshiryaev5675 6 років тому +3

    Большое спасибо за видео, у возникли трудность при работе с lwip. Поднял сервер на stm32, при первом подключении все работает отлично, но если происходит разрыв, аппаратно или программно, то второй раз подключиться невозможно. Выдается ошибка - адрес занят. Пытался удалить структуру соединения, все назначить по-новому, но это не сработало. В инете нашел, что нужно отслеживать линк и уже после этого реконфигурировать phy, mac и т.д.. Но при попытки прочитать phy регистр (HAL_ETH_ReadPHYRegister), контролер вообще перестает пинговаться. Было ли у Вас такое? И если да, то какое решение?

  • @汉房投资
    @汉房投资 4 роки тому +1

    I dont understand a single line of Russian, but i learned through your video, thx

  • @kokotmkokot4926
    @kokotmkokot4926 6 років тому

    За уроки человеческое спасибо, с другой стороны, сильно смущает платная среда на проекты свыше 32 кб. Похоже Вам повезло))

  • @timmsagd
    @timmsagd 3 роки тому +1

    Спасибо за публикацию. Пришлось досконально разбираться.
    На 21:09 после строчки 222 хорошо бы добавить закрытие треда - osThreadTerminate(NULL), где NULL указывает на текущий тред. У меня без неё код виснет после выполнения первой передачи.
    Так же добавлю, что данная реализация не работает в качестве веб сервера - браузер при подключении к STM32 показывал бесконечную загрузку, что-то с передачей ACK или FIN пакетов. Для переделки под простой веб сервер пришлось в Кубе включать HTTPD для LwIP (подробности в инструкции с narodstream урок №127 HTTP Server).
    Довольно сложная тема. Сотни настроек в кубе. Непонятно, как считать необходимую память для выделения в стеке и для тредов, и т.п.

    • @timmsagd
      @timmsagd 3 роки тому +1

      Идея для будущего видеоурока - простой web server. 80% уже сделано в этом уроке. В ютубе не нашёл ясных видеоуроков на эту тему. К Кубу прилагается проект LwIP_HTTP_Server_Netconn_RTOS, но там нет проектного файла для самого Куба.

  • @nester90368141
    @nester90368141 6 років тому

    Респект тебе дружище. Сам недавно врукопашную постигал LwIP. RawAPI вроде победил. Теперь буду штурмовать Netcon. Спасибо тебе)

  • @timmsagd
    @timmsagd 3 роки тому

    769 Disco с ходу заработала по данной инструкции с PHY Address=0 и отключенным DHCP. Никакой пин NRST прикручивать не пришлось.
    Но printf() не выводит в консоль. Придется переделывать на USART.
    Почему не используете для тактирования рекомендуемый таймер, а используете SysTick?

    • @vhemasterelectronics125
      @vhemasterelectronics125  3 роки тому

      Привычка. И не вижу в этом ничего плохого если не критичны тайминги.

  • @shayanhajghasem5729
    @shayanhajghasem5729 6 років тому +2

    I wish I had any russian friend who could translate this video for me :( or there was an english subtitle, can we have access to your source code ?

    • @El3ktr0on
      @El3ktr0on 3 роки тому

      I have the same question right now

  • @agusta878
    @agusta878 6 років тому +3

    пили видео и не пропадай)

  • @rajasharma7577
    @rajasharma7577 5 років тому +1

    how to send request on a URL

  • @lucamoreschi4593
    @lucamoreschi4593 4 роки тому

    thank you for this tutorial!! Do you have other video tutorial on STM32 (cubeMX, cubeIDE)?

  • @davidhartman8698
    @davidhartman8698 3 роки тому

    Добрый день, у меня возникла серьезная проблема, даже не знаю в чем дело, пишет:
    make: *** [Middlewares/Third_Party/LwIP/src/netif/subdir.mk:44: Middlewares/Third_Party/LwIP/src/netif/ethernet.o] Error 1
    То есть я просто могу включить только ethernet(RMII) и LwIP и всё, и он выдаст ошибку. Если идти по папкам в Project Explorer, то попадаем в файл ethernet.c, где на 270 строке кода:
    err_t
    (struct netif * netif, struct pbuf * p,
    const struct eth_addr * src, const struct eth_addr * dst,
    u16_t eth_type) {
    struct eth_hdr *ethhdr;
    Пишет: expected identifier or '(' before 'struct' .
    Может вы знаете в чем заключается решение проблемы, просто это очень странно, что я просто собрал код включив LwIP и ethernet и такая ошибка просто с потолка.

    • @vhemasterelectronics125
      @vhemasterelectronics125  3 роки тому +1

      Вероятно, после err_t пропущен ethernet_output, прямо перед аргументами функции

    • @davidhartman8698
      @davidhartman8698 3 роки тому

      @@vhemasterelectronics125 Аооооааааааааа, как вы это узнали?)))
      Спасибо вам огромное, я 2 дня с этим возился.

    • @vhemasterelectronics125
      @vhemasterelectronics125  3 роки тому +1

      @@davidhartman8698 взглянул в имеющуюся репозиториях CubeMX код LwIP :) Удачи!)

  • @rajasharma7577
    @rajasharma7577 5 років тому +2

    hi, how can i send or create GET/POST request to my server. thanks for this it's really helped

  • @prodigy940421
    @prodigy940421 6 років тому +1

    У меня в основных ethernet настройка почему-то отсутствует раздел PHY Address... Кто-нибудь сталкивался с этим? stm32h743ZI

    • @vhemasterelectronics125
      @vhemasterelectronics125  6 років тому

      Евгений Семенов его можно изменить в сгенерированном коде

  • @pavel5345
    @pavel5345 4 роки тому

    ловко рассказал. но некоторые моменты можно было бы и разжевать.
    пойду поищу на али платку на STM32F4xx с портом ETH, STM32F7xx пока дороговато.

  • @pido9124
    @pido9124 6 років тому

    Привет а у тебя какой coocox на данный момент прямо сейчас?У меня последняя версия глючит и не дает скомпилить даже блинк

    • @vhemasterelectronics125
      @vhemasterelectronics125  6 років тому +1

      Камикадзе пи pidoЯ у меня кеил :)

    • @pido9124
      @pido9124 6 років тому

      Я знаю но я видел у тебя в других видео coocox и поэтому спрашиваю может ты обновился до последней версии

    • @vhemasterelectronics125
      @vhemasterelectronics125  6 років тому

      Камикадзе пи pidoЯ нет, я давно в кокосе не сижу. А почему не даёт то? Может проблема в компиляторе?

    • @pido9124
      @pido9124 6 років тому

      Не знаю даже в чем дело.Но предыдущая версия работает нормально.Я тут натолкнулся на сайт один и узнал что *"coocox забросили разработчики.Сайт постоянно не доступен (у меня тоже кое как скачал кококс).Форум заспамлен и так далее"* .Не знаю перейти на keil что ли?:)

    • @ДенисШпак-т9х
      @ДенисШпак-т9х 6 років тому +1

      маленькое замечание. когда размер стэка для задачи указывается то это размер не в байтах а в 32 битных словах. Т е для 128 будет 512 байт а для 256 будет 1024 байт.

  • @sarawinkhemmachotikun8601
    @sarawinkhemmachotikun8601 6 років тому

    Thank you very much. You help a lot. :)

  • @pusatberk4193
    @pusatberk4193 5 років тому

    thanks can you share your project?

    • @timmsagd
      @timmsagd 3 роки тому

      it shared already at vk.com/docs-75934759 (look for LWIP word)

  • @andrsam3682
    @andrsam3682 4 роки тому

    Друг, спасибо тебе за твои труды. Хорошие видео снимаешь, полезные. Но подучи английский))

  • @andrewandrosow4797
    @andrewandrosow4797 4 роки тому

    так можно и NodeJS на камне запустить для прослушивания порта))

  • @userhuman6988
    @userhuman6988 5 років тому

    да ладно! без RTOS всё нормально работает ) udp

  • @haykgrigoryan8640
    @haykgrigoryan8640 5 років тому

    Спасибо за Видео, Соурс код в студию пожалуйста