Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32F4-Discovery + DP83848 Ethernet

Пт дек 13, 2019 05:41:52

Больше года назад вытащив из свалки дискавери, запустил на нем езернет. Все собрал из СТМовских примеров (FreeRTPS + lwIP). Ну помучился с портами и так по мелочам, но все запустил и все работало. И забыл (остальная обвязка была не готова и заказчик отвалился).
Недавно заказчик притащил обвязку и я решил докончить начатое.
Вклучил плату (прошивка не менялась) все работает. Решил заново прошить, а-а-а-а не работает.
Короче опять начал мучаца с настройкой. Уже залез в ETH.
Всего неделя и вуаля.
Что б если кто еще будет чесать репу, оставляю решение.

В файл stm32f4x7_eth_bsp.c в процедуру ETH_BSP_Config(void) вставить код
Код:
  for (i = 1; i < 32; i++) {
  /* Configure the Ethernet MAC/DMA */
  ETH_MACDMA_Config(i);
  printf("PHY_IDR1 = %x, PHY_IDR2 = %x\r\n", ETH_ReadPHYRegister(i, 2),
                                             ETH_ReadPHYRegister(i, 3));
  printf("PHY_BMSR = %x, PHY_SR = %x, PHY_MISR = %x\r\n", ETH_ReadPHYRegister(i, PHY_BMSR),
                                           ETH_ReadPHYRegister(i, PHY_SR),
                                           ETH_ReadPHYRegister(i, PHY_MISR));
  ETH_DeInit();
  }


кароче, в дефайнах стоит адрес 1, а у меня был 5.
так что присвоил #define DP83848_PHY_ADDRESS 0x05 и все пошло.

почему работало в первый раз не знам, может если еще год полежит адрес поменяется

Re: STM32F4-Discovery + DP83848 Ethernet

Вс дек 15, 2019 08:06:34

А на сколько быстро данная связка работает? за какое время выгружается сайт ? или чисто для передачи данных используете ?

Re: STM32F4-Discovery + DP83848 Ethernet

Вс дек 15, 2019 08:50:35

не знам, не замерял, но быстрее чем главная страница майл.ру
там данных же мало, а контроллер загружается секунд 10
мне езернет нужен был для модбаса
и если оставлю странички то чисто для теста

Re: STM32F4-Discovery + DP83848 Ethernet

Сб фев 15, 2020 06:31:28

в процессе тестирования вылезла бяка

если оставить страничку открытой в бравзере (она обновляется каждые 5 секунд ) то через сутки примерно lwip перестает жить, при этом остальные задачи крутяться.
если переодически заходить на страничку то зависнет дня через 3.
freemodbus tcp в обоих случаях запущен постоянно и опрашивается каждые 100мс. и работает до подвисания lwip

?????????????????????????
вопрос - куда копать ?
Ответить