Перейти к содержанию
    

STM32f407VEt6 + ethernet + LWIP плата стартует только через отладку после третьего нажатия RUN (Keil+CubeMX)

9 часов назад, aaarrr сказал:

Нужно вручную выставить IP на интерфейсе ПК. Подсеть должна быть та же, что и у платы. После этого можно будет пинговать.

Из ваших объяснений не поняла, в каком месте надо выставить IP и какой. Но больше всего я боюсь, что, перенастроив ПК  на связь с платой, я лишусь интернета. На эту мысль меня наводит тот факт, что на ПК DHCP у меня включен, а на плате выключен. Именно такой совет мне был дан:

В 02.10.2023 в 18:04, ksv198 сказал:

на вкладочке General Settings можно отключить DHCP и ввести статический IP адрес.

А пока DHCP на вкладке CubeMX не выключишь, статический IP адрес он ввести не дает. Вот оно как у меня:

image.png.e17747ed39f94609dd4f38baa910ec55.png

Тогда как в настройках ПК ситуация выглядит так:
image.png.56a2b98a8062272e072a7217ae577545.png

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

45 minutes ago, Xenia said:

Но больше всего я боюсь, что, перенастроив ПК  на связь с платой, я лишусь интернета

- Одному физическому интерфейсу можно присвоить несколько IP адресов

- Можно просто присвоить плате адрес из диапазона 192.168.10.x, не входящий в пул DHCP, и ничего не менять на ПК

- Можно поставить вторую сетевую карту

Но в любом случае, подключать или отлаживаемое устройство, или "интернет" - не дело. Хотя бы коммутатор нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Xenia said:

Из ваших объяснений не поняла, в каком месте надо выставить IP и какой. Но больше всего я боюсь, что, перенастроив ПК  на связь с платой, я лишусь интернета. На эту мысль меня наводит тот факт, что на ПК DHCP у меня включен, а на плате выключен. Именно такой совет мне был дан:

Доброго дня!

Шаг первый: посмотрите локальный IP адрес Вашего компьютера (запускаем командную строку, далее вводим команду ipconfig -all). Он (адрес) скорее всего будет в диапазоне 192.168.10.

1921974790_.png.529a26ce489d971884a07f31b49f9664.png

будет что-то похожее ( у меня подсеть 70)

Шаг второй: подключите любой коммутатор Ethernet в разрыв своего Ethernet кабеля (чтобы не потерять Интернет). Подойдёт любой коммутатор с количеством портов больше или равно 3. 

Шаг третий: подключите плату в свободное гнездо коммутатора.

Шаг четвёртый: присвойте IP адрес плате (как я Вам описал ранее), причём выбирайте адрес из диапазона 192.168.10.ххх , но при этом не используйте адрес своего компа и адрес шлюза (у Вас он 192.168.10.1), который (адрес шлюза) надо записать в поле GATEWAY_ADDRESS.

Далее можно пинговать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 27.02.2024 в 10:56, ksv198 сказал:

Шаг четвёртый: присвойте IP адрес плате (как я Вам описал ранее), причём выбирайте адрес из диапазона 192.168.10.ххх , но при этом не используйте адрес своего компа и адрес шлюза (у Вас он 192.168.10.1), который (адрес шлюза) надо записать в поле GATEWAY_ADDRESS.

Далее можно пинговать.

Все равно не работает...

А может быть DHCP не надо отключать? Пусть роутер присвоит свой IP - тогда уж сеть у компьютера и платы с гарантией будет одинаковой, раз уж они в один и тот же роутер воткнуты.

Или это плохая идея?

P.S. И вообще для меня было бы большим облегчением увидеть своими глазами исходники рабочего проекта, написанного на HAL (CubeMХ)  в конфигурации "DP83848+RMII". Без RTOS.

В репозитории (\Repository\STM32Cube_FW_F4_V1.28.0\Projects\) уже искала, но там только под MII есть примеры, тогда как у меня на плате DP83848 кормит отдельный генератор на 50 МГц (именно генератор, а не резонатор). А раз так то я вынуждена режим RMII использовать.

Это было бы для меня наиболее эффективной помощью, т.к. у меня не хватает наглости просить участников нашей конференции, чтобы они искали ошибки в моем программном коде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, Xenia said:

Все равно не работает...

А может быть DHCP не надо отключать? Пусть роутер присвоит свой IP - тогда уж сеть у компьютера и платы с гарантией будет одинаковой, раз уж они в один и тот же роутер воткнуты.

Или это плохая идея?

P.S. И вообще для меня было бы большим облегчением увидеть своими глазами исходники рабочего проекта, написанного на HAL (CubeMХ)  в конфигурации "DP83848+RMII". Без RTOS.

В репозитории (\Repository\STM32Cube_FW_F4_V1.28.0\Projects\) уже искала, но там только под MII есть примеры, тогда как у меня на плате DP83848 кормит отдельный генератор на 50 МГц (именно генератор, а не резонатор). А раз так то я вынуждена режим RMII использовать.

Это было бы для меня наиболее эффективной помощью, т.к. у меня не хватает наглости просить участников нашей конференции, чтобы они искали ошибки в моем программном коде.

Добрый день!

Если не отключать DHCP, то Вам как-то надо будет узнать, какой IP адрес присвоен Вашей плате (чтобы потом пинговать).

Всё отличие при выборе MII/RMII заключено в правильной инициализации ножек микроконтроллера и выборе режима интерфейса МАС (ноги инициализируем в функции "void HAL_ETH_MspInit(ETH_HandleTypeDef *heth)", МАС переключаем в нужный режим в начале функции "static void low_level_init(struct netif *netif)" -> строчка "EthHandle.Init.MediaInterface = ETH_MEDIA_INTERFACE_MII;".  Обе функции находятся в файле "ethernetif.c").

К сожалению, у меня нет под рукой ни одной платы с интересующим Вас PHY  DP83848.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, ksv198 сказал:

Если не отключать DHCP, то Вам как-то надо будет узнать, какой IP адрес присвоен Вашей плате (чтобы потом пинговать).

Вместо пинга я пользуюсь программой NMAP (https://nmap.org), которой сканирую всю сетку.

К сожалению, при подключении моей платы к роутеру новый IP-узел не появляется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вероятно, есть проблемы с использованием памяти контроллера. Чтобы запустить пинг без дебага, нажмите галочку "use microlib" в настройках Кейла (если его используете). Эта библиотека более оптимизирована для работы с памятью МК.

Изменено пользователем v.okromelidze

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, v.okromelidze said:

Вероятно, есть проблемы с использованием памяти контроллера. Чтобы запустить пинг без дебага, нажмите галочку "use microlib" в настройках Кейла (если его используете). Эта библиотека более оптимизирована для работы с памятью МК.

 

О ! Вот и полезный совет дня. Не прошло и полгода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...