RTOS и HAL должны иметь разные источники тактирования. Это важно. А в остальном - очень полезное видео. С данными МК знавшим давно, но Ethernet ещё не пробовал. Теперь попробую
Большое спасибо за видео, у возникли трудность при работе с lwip. Поднял сервер на stm32, при первом подключении все работает отлично, но если происходит разрыв, аппаратно или программно, то второй раз подключиться невозможно. Выдается ошибка - адрес занят. Пытался удалить структуру соединения, все назначить по-новому, но это не сработало. В инете нашел, что нужно отслеживать линк и уже после этого реконфигурировать phy, mac и т.д.. Но при попытки прочитать phy регистр (HAL_ETH_ReadPHYRegister), контролер вообще перестает пинговаться. Было ли у Вас такое? И если да, то какое решение?
Спасибо за публикацию. Пришлось досконально разбираться. На 21:09 после строчки 222 хорошо бы добавить закрытие треда - osThreadTerminate(NULL), где NULL указывает на текущий тред. У меня без неё код виснет после выполнения первой передачи. Так же добавлю, что данная реализация не работает в качестве веб сервера - браузер при подключении к STM32 показывал бесконечную загрузку, что-то с передачей ACK или FIN пакетов. Для переделки под простой веб сервер пришлось в Кубе включать HTTPD для LwIP (подробности в инструкции с narodstream урок №127 HTTP Server). Довольно сложная тема. Сотни настроек в кубе. Непонятно, как считать необходимую память для выделения в стеке и для тредов, и т.п.
Идея для будущего видеоурока - простой web server. 80% уже сделано в этом уроке. В ютубе не нашёл ясных видеоуроков на эту тему. К Кубу прилагается проект LwIP_HTTP_Server_Netconn_RTOS, но там нет проектного файла для самого Куба.
769 Disco с ходу заработала по данной инструкции с PHY Address=0 и отключенным DHCP. Никакой пин NRST прикручивать не пришлось. Но printf() не выводит в консоль. Придется переделывать на USART. Почему не используете для тактирования рекомендуемый таймер, а используете SysTick?
Добрый день, у меня возникла серьезная проблема, даже не знаю в чем дело, пишет: 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 и такая ошибка просто с потолка.
Не знаю даже в чем дело.Но предыдущая версия работает нормально.Я тут натолкнулся на сайт один и узнал что *"coocox забросили разработчики.Сайт постоянно не доступен (у меня тоже кое как скачал кококс).Форум заспамлен и так далее"* .Не знаю перейти на keil что ли?:)
маленькое замечание. когда размер стэка для задачи указывается то это размер не в байтах а в 32 битных словах. Т е для 128 будет 512 байт а для 256 будет 1024 байт.
Спасибо огромное! Очень круто и наглядно. Тот случай когда искал медь а нашел золото :)
У Вас очень глубокие знания. Очень круто.
RTOS и HAL должны иметь разные источники тактирования. Это важно.
А в остальном - очень полезное видео. С данными МК знавшим давно, но Ethernet ещё не пробовал. Теперь попробую
спасибо за видео, все доступно и понятно :)
Большое спасибо за видео, у возникли трудность при работе с lwip. Поднял сервер на stm32, при первом подключении все работает отлично, но если происходит разрыв, аппаратно или программно, то второй раз подключиться невозможно. Выдается ошибка - адрес занят. Пытался удалить структуру соединения, все назначить по-новому, но это не сработало. В инете нашел, что нужно отслеживать линк и уже после этого реконфигурировать phy, mac и т.д.. Но при попытки прочитать phy регистр (HAL_ETH_ReadPHYRegister), контролер вообще перестает пинговаться. Было ли у Вас такое? И если да, то какое решение?
I dont understand a single line of Russian, but i learned through your video, thx
За уроки человеческое спасибо, с другой стороны, сильно смущает платная среда на проекты свыше 32 кб. Похоже Вам повезло))
Спасибо за публикацию. Пришлось досконально разбираться.
На 21:09 после строчки 222 хорошо бы добавить закрытие треда - osThreadTerminate(NULL), где NULL указывает на текущий тред. У меня без неё код виснет после выполнения первой передачи.
Так же добавлю, что данная реализация не работает в качестве веб сервера - браузер при подключении к STM32 показывал бесконечную загрузку, что-то с передачей ACK или FIN пакетов. Для переделки под простой веб сервер пришлось в Кубе включать HTTPD для LwIP (подробности в инструкции с narodstream урок №127 HTTP Server).
Довольно сложная тема. Сотни настроек в кубе. Непонятно, как считать необходимую память для выделения в стеке и для тредов, и т.п.
Идея для будущего видеоурока - простой web server. 80% уже сделано в этом уроке. В ютубе не нашёл ясных видеоуроков на эту тему. К Кубу прилагается проект LwIP_HTTP_Server_Netconn_RTOS, но там нет проектного файла для самого Куба.
Респект тебе дружище. Сам недавно врукопашную постигал LwIP. RawAPI вроде победил. Теперь буду штурмовать Netcon. Спасибо тебе)
769 Disco с ходу заработала по данной инструкции с PHY Address=0 и отключенным DHCP. Никакой пин NRST прикручивать не пришлось.
Но printf() не выводит в консоль. Придется переделывать на USART.
Почему не используете для тактирования рекомендуемый таймер, а используете SysTick?
Привычка. И не вижу в этом ничего плохого если не критичны тайминги.
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 ?
I have the same question right now
пили видео и не пропадай)
how to send request on a URL
thank you for this tutorial!! Do you have other video tutorial on STM32 (cubeMX, cubeIDE)?
Добрый день, у меня возникла серьезная проблема, даже не знаю в чем дело, пишет:
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 и такая ошибка просто с потолка.
Вероятно, после err_t пропущен ethernet_output, прямо перед аргументами функции
@@vhemasterelectronics125 Аооооааааааааа, как вы это узнали?)))
Спасибо вам огромное, я 2 дня с этим возился.
@@davidhartman8698 взглянул в имеющуюся репозиториях CubeMX код LwIP :) Удачи!)
hi, how can i send or create GET/POST request to my server. thanks for this it's really helped
У меня в основных ethernet настройка почему-то отсутствует раздел PHY Address... Кто-нибудь сталкивался с этим? stm32h743ZI
Евгений Семенов его можно изменить в сгенерированном коде
ловко рассказал. но некоторые моменты можно было бы и разжевать.
пойду поищу на али платку на STM32F4xx с портом ETH, STM32F7xx пока дороговато.
Привет а у тебя какой coocox на данный момент прямо сейчас?У меня последняя версия глючит и не дает скомпилить даже блинк
Камикадзе пи pidoЯ у меня кеил :)
Я знаю но я видел у тебя в других видео coocox и поэтому спрашиваю может ты обновился до последней версии
Камикадзе пи pidoЯ нет, я давно в кокосе не сижу. А почему не даёт то? Может проблема в компиляторе?
Не знаю даже в чем дело.Но предыдущая версия работает нормально.Я тут натолкнулся на сайт один и узнал что *"coocox забросили разработчики.Сайт постоянно не доступен (у меня тоже кое как скачал кококс).Форум заспамлен и так далее"* .Не знаю перейти на keil что ли?:)
маленькое замечание. когда размер стэка для задачи указывается то это размер не в байтах а в 32 битных словах. Т е для 128 будет 512 байт а для 256 будет 1024 байт.
Thank you very much. You help a lot. :)
thanks can you share your project?
it shared already at vk.com/docs-75934759 (look for LWIP word)
Друг, спасибо тебе за твои труды. Хорошие видео снимаешь, полезные. Но подучи английский))
так можно и NodeJS на камне запустить для прослушивания порта))
да ладно! без RTOS всё нормально работает ) udp
Спасибо за Видео, Соурс код в студию пожалуйста