SapegoAL 0 7 декабря, 2023 Опубликовано 7 декабря, 2023 · Жалоба Доброго времени суток. Вспоминаю как работал с STM32F407 и прям умиление берёт. 😀 Настолько камень предсказуемый, чётко и устойчиво работающий. Периферия вполне себе.. Ну и устройство на нём получилось супер. Теперь перехожу на 767. Косяков прям куча. И что напрягает, как то не спешат они их устранять. Косяк с выводом частоты часового кварца. Пишут неустранимый. На QSPI косячёк один описан, по второму я знатно потоптался, пока сообразил. Теперь Ethernet. Собрал - не работает. Взял Demo board 769I-DISCO скомпилил их проект - те же косяки. Даже ping не проходит. Есть у кого-нибудь рабочий пример с LwIP на 76х камень? PS: Можно на DISCO или EVAL Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 7 декабря, 2023 Опубликовано 7 декабря, 2023 · Жалоба Ну, как обычно - отключайте D-кэш и будет вам подобно F407. Либо пишите свой драйвер Ethernet с обработкой областей кеширования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 7 декабря, 2023 Опубликовано 7 декабря, 2023 (изменено) · Жалоба Так у них там ... #pragma location=0x2007C000 ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */ #pragma location=0x2007C0A0 ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */ Ну и, соответственно /* Configure the MPU as Device for Ethernet Descriptors in the SRAM2 */ MPU_InitStruct.Enable = MPU_REGION_ENABLE; MPU_InitStruct.BaseAddress = 0x2007C000; MPU_InitStruct.Size = MPU_REGION_SIZE_1KB; MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; MPU_InitStruct.Number = MPU_REGION_NUMBER2; MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; MPU_InitStruct.SubRegionDisable = 0x00; MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; То есть тут вроде бы не должно было быть подвдха Изменено 14 декабря, 2023 пользователем haker_fox Для оформления кода есть кнопка <>. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 13 декабря, 2023 Опубликовано 13 декабря, 2023 · Жалоба Взял плату STM32F769-DISCO. Взял CubeF7 v1.17.1 от 14.07.23 Написано - обновили примеры для этой платы. Скомпилировал пример \STM32F769I-Discovery\Applications\LwIP\LwIP_HTTP_Server_Netconn_RTOS. Всё тоже, что и у меня. LINK появляется. PING не проходит. Напрочь. Попробовал на форуме задать вопрос. Ну я на ST зарегистрирован - не пускают. Неужели эти свои 5 примеров проверить сложно было? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 13 декабря, 2023 Опубликовано 13 декабря, 2023 · Жалоба On 12/13/2023 at 4:44 PM, SapegoAL said: Взял плату STM32F769-DISCO. Взял CubeF7 v1.17.1 от 14.07.23 Написано - обновили примеры для этой платы. Скомпилировал пример \STM32F769I-Discovery\Applications\LwIP\LwIP_HTTP_Server_Netconn_RTOS. Всё тоже, что и у меня. LINK появляется. PING не проходит. Напрочь. Попробовал на форуме задать вопрос. Ну я на ST зарегистрирован - не пускают. Неужели эти свои 5 примеров проверить сложно было? файл ethernetif.c, функция static void low_level_init(struct netif *netif) Проверьте строку netif->flags |= NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_IGMP; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 14 декабря, 2023 Опубликовано 14 декабря, 2023 · Жалоба dimka76, спасибо за подсказку. Да. Ping проходит теперь. Это действительно IGMP. Ещё раз спасибо. Времени по всему нет. Хочу к февралю на испытания, а там ещё процентов 30 написано. К июлю отгружать... )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться