0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
1 | |
STM32F4Discovery + ethernet12.08.2014, 19:21. Показов 23664. Ответов 35
Метки нет (Все метки)
скачал с сайта ST ST STM32F4x7_ETH_LwIP_V1.1.0
пытаюсь запустить web сервер. Сама плата Dyscovery не имеет ног PG11... Поэтому в настройках GPIO переназначил на PB.. Вопрос- надо ли еще где-то в коде изменять дефайны на эти ноги? Ведь где-то проц ими дергает же? А т.к. просто назначил GPIO на ноги PB.., то в самом коде, вероятно, дергаются старые PG.. Ноги. Вот только не могу найти, где эти ноги дергаются, чтобы изменить? Может у кого-то есть рабочий пример под эту дискавери ?
0
|
12.08.2014, 19:21 | |
Ответы с готовыми решениями:
35
STM32F4DISCOVERY STM32F4Discovery stm32f4discovery + ENC28J60 STM32F4Discovery + акселерометр |
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
|
|
12.08.2014, 19:53 | 2 |
На плате STM32F4Dyscovery не установлена микросхема PHY-level. О каком переназначении ног может идти речь в этом случае?
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
12.08.2014, 21:04 | 3 |
Сообщение от mitsimkir
А именно: PA2,7, PB11-13, PC0,1,4,5. Это если Вы выбрали соединение по RMII, а не MII (выбор делается в хедере проекта). Функции пинов переназначаются (см.код проекта) так, что становятся не GPIO, а пинами со специальной функцией (AF). Поэтому в коде дёргание этими конкретными PA/PB/PC уже не будет использоваться, не беспокойтесь.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
12.08.2014, 21:11 | 4 |
спасибо за ответы.
я использую платку с DP83848 выбрал RMII в хидере, переназначил ноги так: /* Confikure PG11, PG14 omd PG13 */ // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14; // GPIO_Init(GPIOG, &GPIO_InitStructure); // GPIO_PinAFConfig(GPIOG, GPIO_PinSource11, GPIO_AF_ETH); // GPIO_PinAFConfig(GPIOG, GPIO_PinSource13, GPIO_AF_ETH); // GPIO_PinAFConfig(GPIOG, GPIO_PinSource14, GPIO_AF_ETH); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH); GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH); GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH); не пингуется. Все же правильно?
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
12.08.2014, 21:11 | 5 |
Сообщение от Парфирий
UPDATE: а, автор уже ответил про DP83848.
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
12.08.2014, 21:16 | 6 |
Сообщение от mitsimkir
Если не пингуется, то первым делом проверьте в хедере, чтобы статический IP (даже если выбрано USE_DHCP), mask, gatiwoy были настроены правильно на Вашу сеть. Вы к роутеру подключаетесь?
0
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
|
|
12.08.2014, 21:20 | 7 |
Сообщение от OtyxPM
UPDATE: а, автор уже ответил про DP83848. Автор оказался гораздо более грамотным, чем я имел неосторожность подумать. К сожалению, часто встречаются гореспециалисты, которые воспринимают и ставят Ethernet в один ряд с теми же UART/SPI (интерфейсы обмена ведь), не зная ничего про внешнюю обвязку и принципы работы. Собственно это и побудило меня упомянуть про PHY-level. Из данной темы темы испаряюсь, дабы не мельтешить своей болтовнёй.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
12.08.2014, 21:41 | 8 |
иногда да, бывают тупняки на ровном месте, иногда сам что-то банальное забываю сделать. Извиняюсь, что забыл упомянуть про отдельный модуль- думал, что и так понятно, что с ним делается.
Роутер использую, но гэтвэй в хидере поменял на нужный. Может есть кто делал на этой плате с этим модулем? И напомните пож-ста, если сделан ремапинг ног, то как-то это надо дополнительно обозначать? Что-то вылетело из памяти. Или достаточно просто того, что у меня в коде?
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
12.08.2014, 22:43 | 9 |
заглянул в микроэксплорер- там для 100-ногой модели проца нет никакой альтернативы, кроме PB 11 12 13.
Т.е. однозначно их надо прописывать.
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
13.08.2014, 13:10 | 10 |
Сообщение от mitsimkir
Сообщение от mitsimkir
И ещё - когда "не пингуется" - проверьте под отладчиком, не висит ли в это время программа в каком-то цикле. Есть такие места в проектах на lwIP, сам видел, ругался и исправлял :-)
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
13.08.2014, 17:05 | 11 |
Спасибо за готовность помочь)
https://cloud.mail.ru/public/dc185fa729 ... V1.1.0.zip я сюда выложил скаченный проект с ST. Там я только лишь исправил: main.h- изменил IP и шлюз роутера. Сделал дефайн на RMII stm32f4x7_eth_bsp.c- изменил порты GPIO на PB11 12 13. Больше ничего не делал. схема подключения такая http://btog.tkjitistronics.dk/wp-conten ... ctions.png речь про проект stomdalone http server
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
13.08.2014, 19:26 | 12 |
Сообщение от mitsimkir
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
13.08.2014, 20:33 | 13 |
спасибо, разбираюсь. Позже отпишусь по порядку по пунктам. Все внимательно проверю. Только это IAR проект.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
13.08.2014, 22:01 | 14 |
прошелся по всем пунктам. Главное- забыл сисконфиг на 8 мГц перестроить. Но не работает один фиг. Ни через роутер, ни напрямую от компа. Хотя зеленая лампа что-то мигает там себе на платке DP83848.
Вы сами в кейл пишете?
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
13.08.2014, 23:22 | 15 |
вот что странное в отладке-
http://c2n.me/iJH8Jy 1- бряка на ф-ии IP4_ADDR(): и след. ходом он выбрасывает меня на цифру2. Хотя, F11 жму- into. Т.е. он как бы не заходит в IP4_ADDR(); Думаю, может здесь что. Хотя, может он так дефайн просто отражает- сразу мимо проходит.
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
14.08.2014, 12:21 | 16 |
Сообщение от mitsimkir
"Неотображаемые" вещи бывают, но для них смотрИте в ассемблерное окно и окно с регистрами CPU - там видны любые значения/действия, даже спрятанные под макросы Си. Или можно временно подставить вместо макросов их "раскрытое" содержимое. Но в описанном Вами случае всего этого не нужно. Достаточно в "цифре 2" (после макросов) убедиться, что эти три переменные (ipaddr, netmask, gw) получили нужные четырёхбайтовые значения. Например, IP=192.168.1.101=0xC0.0xA8.0x01.0x65 - значение будет 0xC0A80165.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
14.08.2014, 12:28 | 17 |
в проекте промэлектроники схема соединений
ETH_MDIO -------------------------> PA2 ETH_MDC --------------------------> PC1 ETH_MII_RX_CLK/ETH_RMII_REF_CLK---> PA1 ETH_MII_RX_DV/ETH_RMII_CRS_DV ----> PA7 ETH_MII_RXD0/ETH_RMII_RXD0 -------> PC4 ETH_MII_RXD1/ETH_RMII_RXD1 -------> PC5 ETH_MII_TX_EN/ETH_RMII_TX_EN -----> PB11 ETH_MII_TXD0/ETH_RMII_TXD0 -------> PB12 ETH_MII_TXD1/ETH_RMII_TXD1 -------> PB13 ETH_nRST -------------------------> PE2 вот последнее что? У меня не соединено. Давайте может по схеме пройдемся. т.к. скомпилил еще проект под RTOS с тех же с файлов,что присылал- та же фигня- не хочет пинговаться. А код такой же почти.
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
14.08.2014, 12:33 | 18 |
Сообщение от mitsimkir
Riset для чипа PHY - у Вас это не было подключено? - выбираете любой свободный GPIO-пин (я выбрал PC0, но это не принципиально) и генерируете на нём импульс физического сброса в начале работы , подобно тому, как делаете сброс LCD-модулям. Можно, наверно, и s/w risitом обойтись (у Вас на схеме как раз помечено "линия Riset - optional), но в любом случае не забудьте, что PHY требует двух достаточно длинных задержек - на сброс и по окончании конфигурирования (в проекте найдёте соответствующие дефайны).
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
14.08.2014, 12:39 | 19 |
ETH_nRST -------------------------> PE2
вот этого нет. Но на модуле нет ноги с названием nRST там все ноги расписаны и они совпали.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 27
|
|
14.08.2014, 12:55 | 20 |
http://c2n.me/iJPzq9
фот фото оборота модуля. Все 9 пин + 2 питания я задействовал. Я же правильно понимаю, что если мне надо OSCIN, то это нога со стрелочкой? http://c2n.me/iJPD3p
0
|
14.08.2014, 12:55 | |
14.08.2014, 12:55 | |
Помогаю со студенческими работами здесь
20
STM32F4Discovery + VS1011e STM32F4Discovery+OV7670 STM32F4DISCOVERY и SWD [STM32F4Discovery] Таймер STM32F4Discovery и UART STM32F4Discovery Board Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|