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

SapegoAL

Свой
  • Постов

    2 804
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

1 Подписчик

Информация о SapegoAL

  • Звание
    Гуру
    Гуру
  • День рождения 06.08.1966

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

8 100 просмотров профиля
  1. stm32f747 + Ethernet (LwIP)

    Ну и преимущества будут небольшие. Задержка установлена в 0,5 сек. То есть при рестарте на 0,5 сек потенциально раньше начнёт работать Ethernet.... На таких девайсах это не принципиально
  2. stm32f747 + Ethernet (LwIP)

    Да. Всё правильно. Скорее всего инициализация PHY (DP83848) начиналась слишком быстро, а он ещё не вышел из сброса. Поставил задержку в начале задачи eth_init_task, и проблема решилась. Надо будет вообще всю периферию просмотреть. Даташиты перечитать. Всем огромное спасибо.
  3. stm32f747 + Ethernet (LwIP)

    Спасибо всем за ответы. Перепроверю, что смогу... Мысли дельные. Как минимум 2 комплекта работают. Тоже надо перепроверить. На предмет хитрого аппаратного хомута.
  4. stm32f747 + Ethernet (LwIP)

    Прошу всех прощения. Не чётко описал проблему. Итак: Проект значительный. Там куча всего. Включая внешнюю рам, флэш QSPI, 3 COM порта, Ethernet и прочее... Написан по мотивам другого проекта на основе 32f407. Существенные отличия QSPI + TFT + SD. Как надо работает SRAM + TFT + COM. Претензий нет. По QSPI какие-то отличия есть при работе из под отладчика и при автономной работе... Пока не разбирался. Так как при автономной работе всё работает как ожидалось. По Ethernet Наблюдается такая картина (на текущий момент): При запуске из-под отладчика работает всё как ожидалось. То есть плата пингуется и работает TCP/MODBUS. Работает DHCP. UDP не проверял - просто руки не дошли, но поскольку это всё перенесено с прошлого проекта, то думаю проблем не будет. Если я после запуска из-под stlink-а откидываю отладчик, то всё продолжает работать как надо без исключений. После рестарта процессора (выключаю и включаю питание). Всё работает как работало, за исключением Ethernet. Не проходит ping ну и соответственно не работают остальные протоколы. Хотя физика работает. Вижу светодиод LINK отрабатывает и второй моргает на пакеты... Такое ощущение, что ARP на начальном этапе как-то съедается и всё. Сеть не знает о существовании моего устройства. )) Буду сейчас возвращаться назад. Смотреть на каком этапе это произошло.. Но просто не могу понять. Один и тот же код... Что такого делает отладчик?
  5. stm32f747 + Ethernet (LwIP)

    Они (ST) попытались все эти замечания устранить. Обновления вышли в августе 23. Но что-то пошло не так... )) Меня больше интересует, какая разница при старте под дебагером и без оного? Код тот же.
  6. stm32f747 + Ethernet (LwIP)

    По ощущениям как-то очень недоволен как данная конструкция работает. Изначально проект ST из куба не запустился на демоплате. Нашли пример работающий... Прикрутили. В текущий момент ситуация выглядит так... Компилю проект и запускаю его на целевой плате (IAR/STLink). Всё прекрасно работает. Если отключить отладчик - продолжает прекрасно работать. Если после этого передёрнуть питание - не работает. Причём отваливается сразу ping. То есть где-то в самом низу... PHY по виду работает. LINK видит. Буду конечно ковыряться, но может кто-нибудь с таким сталкивался... Хоть наводку какую даст... Я что-то совсем туплю. В чём разница?
  7. У меня 407. Выпускается долго. Конденсаторы и кварц вполне бытовые. Уход незначителен. При запуске партии видно, что зависит от партии кварцев.. То есть никаких подводных камней не встречал. Если кварц SMD, то надо по доку на него посмотреть какой кондёр ставить. Бывает 15, 22, 7 - поэтому смотреть. Кварцы ставим Jauch. Китайские не применяем. Для того, чтобы устр-во калибровало само себя, у вас должен быть источник опорного сигнала. То есть либо образцовая частота, либо точное время. По-моему это понятно даже необразованному... ))
  8. dimka76, спасибо за подсказку. Да. Ping проходит теперь. Это действительно IGMP. Ещё раз спасибо. Времени по всему нет. Хочу к февралю на испытания, а там ещё процентов 30 написано. К июлю отгружать... ))
  9. Взял плату STM32F769-DISCO. Взял CubeF7 v1.17.1 от 14.07.23 Написано - обновили примеры для этой платы. Скомпилировал пример \STM32F769I-Discovery\Applications\LwIP\LwIP_HTTP_Server_Netconn_RTOS. Всё тоже, что и у меня. LINK появляется. PING не проходит. Напрочь. Попробовал на форуме задать вопрос. Ну я на ST зарегистрирован - не пускают. Неужели эти свои 5 примеров проверить сложно было?
  10. Так у них там ... #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; То есть тут вроде бы не должно было быть подвдха
  11. STM32F767 не работает Ethernet

    Доброго времени суток. Вспоминаю как работал с STM32F407 и прям умиление берёт. 😀 Настолько камень предсказуемый, чётко и устойчиво работающий. Периферия вполне себе.. Ну и устройство на нём получилось супер. Теперь перехожу на 767. Косяков прям куча. И что напрягает, как то не спешат они их устранять. Косяк с выводом частоты часового кварца. Пишут неустранимый. На QSPI косячёк один описан, по второму я знатно потоптался, пока сообразил. Теперь Ethernet. Собрал - не работает. Взял Demo board 769I-DISCO скомпилил их проект - те же косяки. Даже ping не проходит. Есть у кого-нибудь рабочий пример с LwIP на 76х камень? PS: Можно на DISCO или EVAL
  12. Прошу прощения. Почитал DMA не работает на устройствах STM32H7 - STMicroelectronics Community. Исправил. Заработало
  13. STM32F767 проблемы с DMA

    Доброго времени суток. Работаю над новым проектом. В частности там Eth, Com, QSPI. После определённых танцев с бубном запустил QSPI. При чтении отображаю на адресное пространство, ну и периодически записываю. Планировалось записи делать ч/з DMA. Вроде бы всё пучком... Всё отрабатывает, только в память ложатся нули. Перерыл всё - причины не нашёл. Заменил DMA на CPU, благо там пара строк по сути - всё великолепно заработало. Сейчас подключал USART. Приём у меня по прерыванию, передача по DMA. Это со старого проекта взято. Та же проблема. Передаётся пакет, но передаются одни нули... DMA память-память работает нормально. Кто что может подсказать? Я с таким пока не сталкивался...
  14. stm32g030 что-то с boot

    Да. Это я уже увидел, естественно. Шаблон 11. Не совсем мне понятно, как это поменять, ну да ладно. На стр. 64 RM0454 Rev 5 видно что все эти биты в 1 с завода. Поэтому pin BOOT0 игнорируется. serglg я не трогаю swd. И у меня нет ошибки. Итак. Может быть кому пригодится: 1. Научился выводить чип из состояния потери связи. Запускаю STM32 ST-LINK Utility. Выставляю частоту SWD порядка 200 и пытаюсь подключиться к кристаллу периодически его сбрасывая аппаратно. На 5-10 раз получается сконектится. После этого стираю флэш. После этого связь восстанавливается. (Понятно почему - устанавливается признак чистой памяти) 2. Обнаружил, соответственно место, где гарантированно теряется коннект. Достаточно в любой порт (А или Б) настроить 8 ног на вывод (точное количество не подбирал). По умолчанию там ODR = 0. Соответственно на эти ноги будет выведен 0. Сразу вылет. Сразу говорю, что на плате ноги данные просто выходят на разъёмы. То есть никуда не подключены. Сам факт инициализации приводит к потере связи с процом. Без восстановления. Если ноги инициализировать на ввод, то проект полностью работает и всё успешно отлаживается. На текущий момент внёс изменения следующего характера. Сначала в 1 вывожу эти линии ODR = 1. Далее инициализирую OTYPER в 1. Открытый коллектор. И только потом инициализирую MODER (линии на вывод). Пока работает. Сейчас буду смотреть не будет ли проблем при дёрганье ногами. Есть подозрение, что проблема с питанием кристалла. Там по сути всего одна земля и одно питание. На 48 ног что-то маловато выглядит. Плюс ещё разводка не очень. Питание передаётся ч/з переходное. Возле ноги есть кондёр. Попробую кинуть перемычку. напрямую. Заявлено 100ма кристалл, 80ма суммарно на ноги 15-20 на одну ногу. Пока я не готов признать хомут за собой. Ничего крамольного нет.
  15. stm32g030 что-то с boot

    Ревизия "Z". В ерате есть такое "An option byte mismatch (for example, due to its failing modification attempt) detection leads to setting the BOOT_LOCK register bit high and the RDP to Level 1 or higher. This disables the debug interface, which then makes the device reprogramming impossible" Я точно не лезу в option byte. Если только отладчик. Короче пока ничего не понятно.
×
×
  • Создать...