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

TouchGFX+FreeRTOS+STM32F746 - медленная закгрузка

Есть связка  TouchGFX+FreeRTOS+STM32F746  (плата discovery)

Простенький проект с одной картинкой и одной кнопкой.

При запуске около 10 секунд белый экран и лишь потом старт. Причем интерфейс, графика не тормозят, все летает. А вот загрузка подозрительно долгая.

Кто работал с подобной связкой - так и должно быть? Или где-то поковыряться надо?

Проект создавался при помощи ненавидимого всеми куба и TOuchGFXDesigner.

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


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

2 hours ago, murmur said:

Или где-то поковыряться надо?

Именно таким путем, поскольку:

2 hours ago, murmur said:

Проект создавался при помощи ненавидимого всеми куба

:)

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


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

Таки куб оказался ни при чем.

За основу был взят готовый проект под плату, в котором было проинициализировано все. Из этого всего загрузку тормозила лишь инициализация Ethernet.  По понятным причинам. Отключение ее поправило ситуацию - картинка появляется мгновенно.

Так что куб рулит)

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


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

1 minute ago, murmur said:

Так что куб рулит)

Вот тут есть раздел: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=forums&id=190

Он ждет вас :acute:

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


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

5 часов назад, murmur сказал:

При запуске около 10 секунд белый экран и лишь потом старт.

Даже интересно, что такого в ините эзернета, что аж 10 сек надо???

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


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

24 minutes ago, mantech said:

Даже интересно, что такого в ините эзернета, что аж 10 сек надо???

Ожидание линка при неподключенном кабеле, наверное.

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


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

29 минут назад, mantech сказал:

Даже интересно, что такого в ините эзернета, что аж 10 сек надо???

Не Ethernet думаю, а того что над ним. Почитайте описание TCP/IP-стека. Там в некоторых случаях требуются задержки до нескольких секунд. Последующего действия относительно предыдущих.

При старте TCP/IP, когда предыдущее состояние неизвестно, инит-функция должна безусловно вставить эту задержку. Чтобы истекли все таймауты на удалённых сторонах.

Конечно, по уму, у ТС для Ethernet (и всего сетевого что с ним связано), должна быть выделена отдельная задача(-и). Тогда задержка старта сетевого стека не будет приводить к общей задержке старта программы. Но видимо ТС свалила всё в одну кучу задачу.  :unknw:

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


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

4 minutes ago, jcxz said:

При старте TCP/IP, когда предыдущее состояние неизвестно, инит-функция должна безусловно вставить эту задержку. Чтобы истекли все таймауты на удалённых сторонах.

???

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


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

3 hours ago, murmur said:

...Из этого всего загрузку тормозила лишь инициализация Ethernet. ...

Признак не правильной разводки изернет микросхем или не подходит софт к железке. В инете частенько распространяют платы, где lwip ждёт прерывание от драйвера железячного, но пин его висит в воздухе...

Без анализа места зависания и железа - только гадать.

Железо изернет  стекаа иницилизируется моментально. Софт может что то ожидать (линка, ответов арп или ышо какие телодвижения) но это в основном только на момент начала установления коннекта, т.е. создания канала или отправки/приёма udp и т.д..

 

(круглый)

ЗЫ

Заявления о состоянии при инициализации - то вообще из разряда не знания предметной области...

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


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

58 минут назад, aaarrr сказал:

???

Например почитайте:  http://www.xserver.ru/computer/protokol/tcpip/3/18.shtml пункт "Состояние ожидания 2MSL". Как одна из возможных причин.

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


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

9 minutes ago, jcxz said:

"Состояние ожидания 2MSL". Как одна из возможных причин.

Совершенно невозможная причина.

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


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

11 minutes ago, jcxz said:

почему?

Потому что состояние TIME_WAIT может быть только у открытого когда-то соединения. По очевидным причинам, на старте таковых нет.

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


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

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

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

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

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

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

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

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

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

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