Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32CubeMX для STM32F429 Discovery kit
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Мур
Приветствую!

После приобретения весной красавца STM32F429 Discovery kit потерял покой. Хожу по кругу по проектам Firmware. Все красиво и замечательно. Калейдоскопический идиотизм связан с обширностью средств на борту. Фрагментарно все вроде понятно, но в целом охватить эту многомерность не получается. поставлен в ситуацию, когда продолжаешь один из примеров, либо опускаешься слишком низко, когда CubeMX берет от меня только минимум, причастный к микро-задачке.

Что характерно, в среде Keil есть встроенное средство привязки к разным КИТ, что дает выбор проектировщику в средствах...
CubeMX такого не имеет и в части настройки графики или тайминга SDRAM дает огромное количество вариантов настроек (а человеку свойстивинна ашибацца...).
Пробовал раза 3 добиться (по анализу содержимого настроек регистров а отладчике) получить в Cube заготовку, где бы аппаратная часть была бы в рабочих режимах... Увы!...

Может кому удалось? Поделитесь! Легче пойдет... точно! Как-то плохо без памяти и графики...
От отчаянья опускаешься от проектов Firmware, а это усложняет и удлиняет проект и отладку (постоянно кажется, что где-то не то выкосил). Лишние телодвижения!

Я думаю это будет многим интересно... Спасибо!
SasaVitebsk
Так вы же говорите примеры есть. Выдерите от туда инициализацию. Собственно смотрел даташит в нём она на пальцах объяснена и графически нарисована.
Мур
Цитата(SasaVitebsk @ Oct 8 2015, 13:38) *
Так вы же говорите примеры есть. Выдерите от туда инициализацию. Собственно смотрел даташит в нём она на пальцах объяснена и графически нарисована.


Вы не поняли. Речь о гибком инструментарии CubeMX, который нагляден, но не имеет настроек по умолчанию для разных КИТ, а "руцями" этот процесс при гигантском выборе( использованном в конкретном КИТ на 30%!) приводит к ошибкам.

Я понятие инициализация тут привожу в более широком смысле. Cube подключает нужные библиотеки и драйвера автоматически. Там нет необходимости "выдирать". Там понятие - добавлять

Я хочу не "выдирать" а добавлять!!! К тому же такой подход упрощает "клонирование" проекта...
Tanya
Цитата(Мур @ Oct 8 2015, 14:32) *
Там понятие - добавлять

Я хочу не "выдирать" а добавлять!!!

Можно выбрать там КИТ. Там будут ножки помечены (заняты), но добавлять инициализацию придется самостоятельно... Пока КУБ не научится понимать мысли. Возможно, есть примеры для Вашей периферии... Но не факт.
Мур
Цитата(Tanya @ Oct 8 2015, 14:53) *
Можно выбрать там КИТ. Там будут ножки помечены (заняты), но добавлять инициализацию придется самостоятельно... Пока КУБ не научится понимать мысли. Возможно, есть примеры для Вашей периферии... Но не факт.

В Кейле есть. В Cube нет...

...Я только и делаю, что самостоятельно добавляю...
Интересна БАЗА, от которой плясать!.. Можно выкашивать\добавлять... Моя воля! Кстати Cube тут же показывает несовместимые варианты или предложит иной вариант ресурса.

На этапе его распределения тут же задумываешься о вариантах реализации. Будет это DMA, прерывания и какой приоритет примерно вырисовывается, судя по ожидаемой скорости.
А смена тактирования? Тут поменять архитектуру или коэффициенты делителей просто без напряга! игрючи!
SSerge
Куб только облегчает работу по конфигурированию периферии, но полностью человека не заменяет.
В любом случае придётся читать реф.мануал чтобы просто понимать что делаете и зачем.

В случае с настройкой тактирования начинайте с чтения главы 6 и картинки Figure 16. Clock tree
Процессор стартует с клоком HSI (16 MHz) и можно (для начала) ничего не трогая продолжать работу на нём, его точности достаточно для работы UART-а.
Если же хочется побыстрее, то нужно:
1. Запустить HSE (генератор на кварце), дождаться пока он раскочегарится
2. Подать этот клок на вход PLL, настроить PLL выбрав коэффициенты M, N, P, а если используется FS USB то ещё и коэффициент деления Q.
Тут есть определённые ограничения (вроде того, что частота для USB после деления на Q должна получится ровно 48МГц), за ними Куб вроде бы следит, но для понимания надо читать реф.мануал.
3. дождаться когда PLL устаканится и переключить тактирование на клок от PLL.

Код, который это проделает Куб может Вам сгенерить, но, поверьте, пока Вы самостоятельно один раз этого не сделаете - так и будете блуждать в потёмках. В крайнем случае можно ограничиться внимательным разбором сгенерированного кода - что он делает и в какой последовательности.
А вот после всего этого, в следующий раз Куб поможет сберечь время.
Integro
Цитата(Мур @ Oct 8 2015, 15:42) *
В Кейле есть. В Cube нет...


Есть!
См. прикрепленные файлы!
версия 4.10
Мур
Цитата(SSerge @ Oct 8 2015, 15:53) *
Куб только облегчает работу по конфигурированию периферии, но полностью человека не заменяет.
В любом случае придётся читать реф.мануал чтобы просто понимать что делаете и зачем.

В случае с настройкой тактирования начинайте с чтения главы 6 и картинки Figure 16. Clock tree
Процессор стартует с клоком HSI (16 MHz) и можно (для начала) ничего не трогая продолжать работу на нём, его точности достаточно для работы UART-а.
Если же хочется побыстрее, то нужно:
1. Запустить HSE (генератор на кварце), дождаться пока он раскочегарится
2. Подать этот клок на вход PLL, настроить PLL выбрав коэффициенты M, N, P, а если используется FS USB то ещё и коэффициент деления Q.
Тут есть определённые ограничения (вроде того, что частота для USB после деления на Q должна получится ровно 48МГц), за ними Куб вроде бы следит, но для понимания надо читать реф.мануал.
3. дождаться когда PLL устаканится и переключить тактирование на клок от PLL.

Код, который это проделает Куб может Вам сгенерить, но, поверьте, пока Вы самостоятельно один раз этого не сделаете - так и будете блуждать в потёмках. В крайнем случае можно ограничиться внимательным разбором сгенерированного кода - что он делает и в какой последовательности.
А вот после всего этого, в следующий раз Куб поможет сберечь время.

Спасибо.
Ну это азы!... Проходили!

Я о настройках ТатчСкринЭкрана(LTDC). О тайминге SDRAM(FMC). О графическом ускорителе....

Цитата(Integro @ Oct 8 2015, 16:03) *
Есть!
См. прикрепленные файлы!
версия 4.10

Цитата
(((((Вау!... А вот это интересно! Спасибо!... что-то отстал я, сморю! Премного благодарен! tort.gif)))))))




Ха!!! Так там не подключено LTDC, FMC, DMA2D.... А там насторек,- море!...
Информация не полная!...

Вопрос остается открытым! Самый интересный ресурс там не описан! (тот, что запаян на борде!)

Народ! никто не довел до конца память и графику для КИТ через CubeMX?
SasaVitebsk
Интересно, а как подключить DMA2D?
И каким боком к кубу память? Каким образом куб узнает как вы подключили м/х памяти, какую именно и каого производителя (читай тайминги)? Откуда кубу почерпнуть сию информацию?
Если бы не требовались разные настройки, а все микрухи на планете работали с общими, то их вообще заносить бы не требовалось. И куб был бы не нужен. Их бы заносили на этапе проектирования МК.
Вы бы почитали что-нибудь общее, для кругозора. Рано вам пока шашкой махать.
Golikov A.
Типичная и очередная жертва куба, а еще вопросы задают и чего это куб ругают, он же такой классный....
Мур
Цитата(SasaVitebsk @ Oct 8 2015, 17:06) *
Интересно, а как подключить DMA2D?
И каким боком к кубу память? Каким образом куб узнает как вы подключили м/х памяти, какую именно и каого производителя (читай тайминги)? Откуда кубу почерпнуть сию информацию?
Если бы не требовались разные настройки, а все микрухи на планете работали с общими, то их вообще заносить бы не требовалось. И куб был бы не нужен. Их бы заносили на этапе проектирования МК.
Вы бы почитали что-нибудь общее, для кругозора. Рано вам пока шашкой махать.

????
Речь о STM32F429 Discovery kit. Все по этому дизайну! Шаг влево- шаг вправо - расстрел...

А если серьёзно,- прошивки всех демонстрашек STM32F429 Discovery kit одинаковые. Я хочу видеть рабочие настройки! Да хотя бы ради изучения разных графических библиотек и графического акселератора!
Все должно быть привязано к STM32F429 Discovery kit!!!

Я дагадываюсь, почему STM для Cube не стал обеспечивать полную под КИТ настройку всего. Просто его нет адекватного. У них обновления идуд раз в месяц!

Цитата(Golikov A. @ Oct 8 2015, 17:36) *
Типичная и очередная жертва куба, а еще вопросы задают и чего это куб ругают, он же такой классный....


Удобство его несомненно. Не только в познавательном аспекте... Те примитивные и древние КИТы от этой фирмы и стоят дешево. Мне же хотелось иметь под рукой все возможности для творчества. Я и за это платил, когда покупал!
Integro
Исходники демок лежат здесь
c:\Users\2pizza\STM32Cube\Repository\STM32Cube_FW_F4_V1.8.0\Projects\STM32F429I-Discovery\Demonstrations\
там можно посмотреть настройки

понятно что:c:\Users\2pizza -это мой локальный пользователь, меняем пусть на свой, или путь к репозиторию можно посмотреть в меню Help->Updater Settings
Golikov A.
Цитата
Удобство его несомненно

как и вред!

Если вы любитель, который хочет творчества, тогда купите ардуину. А если вы замахнулись на современный и сложный процессор, то делайте как делают те кто с ним работает. Берут и читают документацию. Чтобы включить в работу какой-то модуль, надо совсем немного времени, за день запускаются простые модули, сложные за пару, очень сложные за неделю. Но запускаются как вам надо, а не как получилось....

У куба вижу только одно использование, быстро накидать периферию и поглядеть проходите вы по ножкам или нет. Даже клоки и питание настраивать ему не надо позволять. Загадит проект своими "драйверами" и все....

2pizza - это тонкоsm.gif
Мур
Цитата(Golikov A. @ Oct 8 2015, 21:11) *
как и вред!

Если вы любитель, который хочет творчества, тогда купите ардуину. А если вы замахнулись на современный и сложный процессор, то делайте как делают те кто с ним работает. Берут и читают документацию. Чтобы включить в работу какой-то модуль, надо совсем немного времени, за день запускаются простые модули, сложные за пару, очень сложные за неделю. Но запускаются как вам надо, а не как получилось....

У куба вижу только одно использование, быстро накидать периферию и поглядеть проходите вы по ножкам или нет. Даже клоки и питание настраивать ему не надо позволять. Загадит проект своими "драйверами" и все....

2pizza - это тонкоsm.gif


Спасибо за совет!... Я же говорю,- уже раза 3 проходил этот путь. Контроллер графики там мудреный. Режимов всяких напихано на все случаи жизни, ускоритель с DMA, слои изображений и прочая хрень по документации весьма скупо описано. Дело усложняет тендем с SDRAM. Без него полноценной работы не будет. Это завязано в тугой синхронный узел единого графического вывода. Не случайно я уточнял состояния регистров и сверял все с демонстрашками под отладкой. Многое просек и стал понимать. Но этого не достаточно. Облегчить эти страдания можно было бы, имея минимальную базу. Далее можно было поэтапно расширять возможности своего дизайна..
429 й чип - серьёзная система, ориентированная прежде всего на графику и внешнюю память большой ёмкости. Именно этого и не даёт делать Cube по умолчанию для своего КИТа (Парадоксально- изготовитель тот же!)

Цитата(Integro @ Oct 8 2015, 20:35) *
Исходники демок лежат здесь
c:\Users\2pizza\STM32Cube\Repository\STM32Cube_FW_F4_V1.8.0\Projects\STM32F429I-Discovery\Demonstrations\
там можно посмотреть настройки

понятно что:c:\Users\2pizza -это мой локальный пользователь, меняем пусть на свой, или путь к репозиторию можно посмотреть в меню Help->Updater Settings


С этого я и начинал весной...
Golikov A.
Цитата
429 й чип - серьёзная система, ориентированная прежде всего на графику и внешнюю память большой ёмкости

Да ладно, какая там серьезная система ориентированная на графику. Если он на своем мизерном экранчике хотя бы 30 ФПС даст уже чудо....
Мур
Цитата(Golikov A. @ Oct 9 2015, 00:53) *
Да ладно, какая там серьезная система ориентированная на графику. Если он на своем мизерном экранчике хотя бы 30 ФПС даст уже чудо....


biggrin.gif У меня сверхзадача управлять экраном 800*480. Получилось, но методом опускания выкашиванием чужого рабочего проекта.

Чтобы зауважать чип, - запустите тест отсюда uGUI v0.3. Там можно оценить разницу в быстродействии графики с акселератором и без. Впечатляет!!

http://www.embeddedlightning.com/ugui/
https://github.com/achimdoebler/UGUI

Специально для вас! 6948 frm/sec против 128 frm/sec (Frame rate)
SasaVitebsk
Цитата(Мур @ Oct 8 2015, 21:55) *
Спасибо за совет!... Я же говорю,- уже раза 3 проходил этот путь. Контроллер графики там мудреный. Режимов всяких напихано на все случаи жизни, ускоритель с DMA, слои изображений и прочая хрень по документации весьма скупо описано. Дело усложняет тендем с SDRAM. Без него полноценной работы не будет. Это завязано в тугой синхронный узел единого графического вывода. Не случайно я уточнял состояния регистров и сверял все с демонстрашками под отладкой. Многое просек и стал понимать. Но этого не достаточно. Облегчить эти страдания можно было бы, имея минимальную базу. Далее можно было поэтапно расширять возможности своего дизайна..
429 й чип - серьёзная система, ориентированная прежде всего на графику и внешнюю память большой ёмкости. Именно этого и не даёт делать Cube по умолчанию для своего КИТа (Парадоксально- изготовитель тот же!)

Ещё раз говорю вам... Почитайте хотя бы что-нибудь для кругозора. Для кругозора пока, а не для работы. Вы, похоже, даже не понимаете какую чушь вы несёте.
Два слоя сделаны, например, чтобы реализовать всплывающие окна. То есть первый слой - ваше изображение, а второй - всплывающее окно. То есть на реальном проекте данный слой инициализируется десятки раз и параметры определяются конкретным проектом и вашими мозгами. Например, хотите вы сделать чтобы окно было полупрозрачное или нет. Хотите чтобы оно могло смещаться или нет хотите чтобы оно плавно меняло свои размеры при всплывании. Как это можно в кубе сделать, ответьте?
Акселератор (DMA2D) это обычный DMA контроллер, который имеет расширенные функции. Основная его функция - копирование фактически. А расширенные - копирование окна например, заливка окна, копирование с преобразованием цвета и др. аналогичные. Например он позволяет копировать область с преобразованием цвета из таблицы цветов с формированием полноцвета. Для чего это? Для вывода кнопки, например. Позволяет графические примитивы хранить в сжатом виде например. И так далее. То есть он также программируется десятки раз даже при выводе базового экрана. Каким боком здесь куб?!!!
Ну? Понимаете чушь, которую вы пишете?
Не созданы пока программы, которые ваши мысли конвертируют в готовую программу. Да у вас и мысли в голове ещё путаются.
Мур
Цитата(SasaVitebsk @ Oct 9 2015, 11:11) *
Ещё раз говорю вам... Почитайте хотя бы что-нибудь для кругозора. Для кругозора пока, а не для работы. Вы, похоже, даже не понимаете какую чушь вы несёте.
Два слоя сделаны, например, чтобы реализовать всплывающие окна. То есть первый слой - ваше изображение, а второй - всплывающее окно. То есть на реальном проекте данный слой инициализируется десятки раз и параметры определяются конкретным проектом и вашими мозгами. Например, хотите вы сделать чтобы окно было полупрозрачное или нет. Хотите чтобы оно могло смещаться или нет хотите чтобы оно плавно меняло свои размеры при всплывании. Как это можно в кубе сделать, ответьте?

Эти трюки в архитектуре контроллера. Это уже в частной програмной реализации... Куб тут не причем.
Цитата(SasaVitebsk @ Oct 9 2015, 11:11) *
Акселератор (DMA2D) это обычный DMA контроллер, который имеет расширенные функции. Основная его функция - копирование фактически. А расширенные - копирование окна например, заливка окна, копирование с преобразованием цвета и др. аналогичные. Например он позволяет копировать область с преобразованием цвета из таблицы цветов с формированием полноцвета. Для чего это? Для вывода кнопки, например. Позволяет графические примитивы хранить в сжатом виде например. И так далее. То есть он также программируется десятки раз даже при выводе базового экрана.

Опять программная манипуляция. Все штатно! Куб тут не причем.
Цитата(SasaVitebsk @ Oct 9 2015, 11:11) *
Каким боком здесь куб?!!!
Ну? Понимаете чушь, которую вы пишете?
Не созданы пока программы, которые ваши мысли конвертируют в готовую программу. Да у вас и мысли в голове ещё путаются.

biggrin.gif От Куба это не требуется. Его цель - организовать остов проекта. Обеспечить корректную инициализацию систем, выбранных пользователем.
Никакого отношения к самой программе Куб не имеет.
Никто не освобождает меня от добавления своего кода. Странно, что вы так думаете!

То, о чем вы говорите возможно только с привлечением базы знаний(по прошествии времени на накопление вариантов решений). Это из области ИИ.(Это я вам говорю как знающий Лисп и Пролог).
Это реально возможно, но никто это не станет поддерживать. Слишком дорого! Куб тут не причем.

Мне нужна генерация стандартных настроек для КИТа. Ничего тут сверхсложного нет. Тут нужна скурпулёзная работа, на которую как всегда времени не хватает.
syoma
Цитата
Мне нужна генерация стандартных настроек для КИТа

Если я правильно понимаю философию Cube, то он должен быть предназначен для настройки исключительно внутренней периферии контроллера, а не всего кита. Естественно было бы неплохо знать, что подключено к ногам процессора, чтобы знать, на какую частоту настраивать UART или характеристики GPIO или избежать конфликтов, но это все.
Или нет? Если нет - приведите пример настроек Cube для какого-нибудь Кита, где он также конфигурирует внешнюю по отношению к контроллеру периферию типа той же SDRAM или контроллера TFT.
Integro
Цитата(Мур @ Oct 9 2015, 11:42) *
Мне нужна генерация стандартных настроек для КИТа. Ничего тут сверхсложного нет. Тут нужна скурпулёзная работа, на которую как всегда времени не хватает.


Тоесть вы хотите инструмент в котором задаете временки SDRAM, а он генерирует вам код инитиализации!?
Боюсь, такого пока еще нет! Знаю TI, exel колькуляторы в таком случае предоставляет(инит DDR), но там тоже "bare metal".
Мур
Цитата(syoma @ Oct 9 2015, 12:50) *
Если я правильно понимаю философию Cube, то он должен быть предназначен для настройки исключительно внутренней периферии контроллера, а не всего кита. Естественно было бы неплохо знать, что подключено к ногам процессора, чтобы знать, на какую частоту настраивать UART или характеристики GPIO или избежать конфликтов, но это все.
Или нет? Если нет - приведите пример настроек Cube для какого-нибудь Кита, где он также конфигурирует внешнюю по отношению к контроллеру периферию типа той же SDRAM или контроллера TFT.


Не вижу противоречия...
Заявлено в Кубе Board Selector. Какие вопросы? Иной трактовки быть не может. "Задача имеет одно решение"
Объясните тогда необходимость в начале проекта Куба акцентировать внимание на каком-то КИТе?
Настройки внутри ARM(контроллеры периферии), поэтому все честно!.. Я бы вас понял, если регистры были вне ARM.

Я не понимаю,- почему этот разговор постоянно переходит в русло оправданий, а не решает главный вопрос. Кто отваживался строить сам обеспечение графики на этом чипе при помощи Сube MX?
Какие впечатления,ошибки и советы? Вот что должно быть!

Цитата(Integro @ Oct 9 2015, 13:00) *
Тоесть вы хотите инструмент в котором задаете временки SDRAM, а он генерирует вам код инитиализации!?
Боюсь, такого пока еще нет! Знаю TI, exel колькуляторы в таком случае предоставляет(инит DDR), но там тоже "bare metal".

Инструмент уже есть.
Есть 27 проектов для изучения, где по графике 6 вариантов. Неужели сложно было дать наметки для справок в Cube?
Ваша информация заставила предположить клоны КИТов. Такое возможно при ущербном снабжении и в КИТ впаивают, что под рукой... Ну бред! ST такого позволить себе не может.
syoma
В общем заказал я себе такой Кит. Вот посмотрю как там и что.
Golikov A.
Цитата
Такое возможно при ущербном снабжении и в КИТ впаивают, что под рукой... Ну бред! ST такого позволить себе не может.

помниться мне дискавери одна из первых меняла свой вид по составу. Что-то выпаивали, что-то добавляли в разных ревизиях. Может не прав, но вроде даже лист изменений был.

Когда вы в кубе выбираете плату дискавери, вам там подписывают на какие ножки что воткнуто, но кит на то и кит ножки идут не только на периферию но и на пины. И подрублено там может быть что угодно. И будут такие же возмущатели, а че они не думали что я другой экран пределаю?...

Более того скорее всего тот кто пишет куб, и кто делает наполнения со стандартными присетами разного уровня люди, и могут даже и не знать что там как настроить надо....

ДА и вообще чего вы нам то пишите, пишите в поддержку ST пусть там и ответят почему они вам лично проект не настроили. Мне даже для домашнего хозяйства это не надо и даром, я все равно регистры по мануалу настраивать буду, потому что так предсказуймей результат, понятнее и правильнее...
Мур
Цитата(Golikov A. @ Oct 9 2015, 15:52) *
помниться мне дискавери одна из первых меняла свой вид по составу. Что-то выпаивали, что-то добавляли в разных ревизиях. Может не прав, но вроде даже лист изменений был.

Когда вы в кубе выбираете плату дискавери, вам там подписывают на какие ножки что воткнуто, но кит на то и кит ножки идут не только на периферию но и на пины. И подрублено там может быть что угодно. И будут такие же возмущатели, а че они не думали что я другой экран пределаю?...

Более того скорее всего тот кто пишет куб, и кто делает наполнения со стандартными присетами разного уровня люди, и могут даже и не знать что там как настроить надо....

ДА и вообще чего вы нам то пишите, пишите в поддержку ST пусть там и ответят почему они вам лично проект не настроили. Мне даже для домашнего хозяйства это не надо и даром, я все равно регистры по мануалу настраивать буду, потому что так предсказуймей результат, понятнее и правильнее...


Ваша позиция понятна. И солидарен с вами, потому как "босыми ножками" за 35 лет работы проходил не один раз.
Я заливал все демонстрашки на КИТ. Все работало без проблем. Какие-то отклонения в дизайне допускаю, но в единственном случае, если они нормально воспроизводят демо-проектоы. Тут поставлена на кон репутация ST. Практика - критерий истины!

Я не вижу причин лишать пользователя существенного куска удобств при работе с Cube. Тем более профильного для данного КИТ. Хотим мы или нет, - мы все в этом процессе совершенствования инструментария и подходов.
Будем терпеливы!

Сама ST заинтересована в необходимости дать разработчику максимальный сервис.
Да. Cube не совершенен, но процесс идет. Обновления идут не случайно. Я ожидаю, что вопрос будет решен со временем.
esaulenka
Цитата(Мур @ Oct 9 2015, 17:03) *
Тут поставлена на кон репутация ST.


Я извиняюсь, но клоунада у нас в соседней теме - там где Atmel хоронят которую неделю подряд.
А тут бы по сути кто чего сказал...
Мур
Цитата(esaulenka @ Oct 9 2015, 18:23) *
Я извиняюсь, но клоунада у нас в соседней теме - там где Atmel хоронят которую неделю подряд.

Глупцы..

Цитата(esaulenka @ Oct 9 2015, 18:23) *
А тут бы по сути кто чего сказал...

Это у вас есть задел STM32CubeMX для STM32F429 Discovery kit ? Что же вы молчите!!!?

Или вы ARM хоронить собрались? smile3009.gif
Golikov A.
А что по сути?

Почему программный продукт у фирмы которая не успевает процы делать не удовлетворяет всем потребностям домашних любителей? Ответ, да потому....

Вот вся суть на том и кончилась... Вон соседняя тема человек экранчик поднимает на 439, там все выложено, инициализация, памяти, настройки, и так далее... берите и радуйтесь....
Мур
Цитата(Golikov A. @ Oct 9 2015, 22:40) *
Почему программный продукт у фирмы которая не успевает процы делать не удовлетворяет всем потребностям домашних любителей? Ответ, да потому....

...потому что во время кризиса главное ажиотаж.

Цитата
Вот вся суть на том и кончилась... Вон соседняя тема человек экранчик поднимает на 439, там все выложено, инициализация, памяти, настройки, и так далее... берите и радуйтесь....

Да такое у меня есть. Спасибо!
Мне интересно подыматься вверх, а не опускаться... Средствами CubeMX.. (просто он еще сырой в этой части!)
Мур
Цитата(Golikov A. @ Oct 9 2015, 22:40) *
А что по сути?

Почему программный продукт у фирмы которая не успевает процы делать не удовлетворяет всем потребностям домашних любителей? Ответ, да потому....

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

А вот интересно, какую цифру получит чел их соседней ветке по смене экранов для размера 800*480?
Вы тут пророчили игрушечную производительность...
Golikov A.
так какую?

Я что-то глядел у него как-то и 2 слоя толком не запустилось....
А сколько это процентов проца скушало? А проц кроме как рисовать картинки больше ничего делать не будет?

Я лично не против этого проца, но прям ракетой его бы не назвал. ДА и 800 на 480 в наш век, когда уже телефоны под HD почти все - очень скромно....
Мур
Цитата(Golikov A. @ Oct 12 2015, 22:48) *
так какую?
Я что-то глядел у него как-то и 2 слоя толком не запустилось....
А сколько это процентов проца скушало? А проц кроме как рисовать картинки больше ничего делать не будет?
Я лично не против этого проца, но прям ракетой его бы не назвал. ДА и 800 на 480 в наш век, когда уже телефоны под HD почти все - очень скромно....


В палитре разработчика появилась встроенная возможность работать с графикой! Не дорого...
Этот чип в тлф. ставить не будут.

А зачем вам ракета?
Golikov A.
Код
429 й чип - серьёзная система, ориентированная прежде всего на графику и внешнюю память большой ёмкости.

я считаю что для чипа ориентированного прежде всего на графику его возможности весьма скромны, о чем и высказался. Этот чип по моему мнение прежде всего ориентирован на другое... И потому не идет ни в какое сравнение по графической производительности с АРМ А, которые как раз ориентированны прежде всего на графику.
syoma
Цитата(Golikov A. @ Oct 13 2015, 09:13) *
Код
429 й чип - серьёзная система, ориентированная прежде всего на графику и внешнюю память большой ёмкости.

я считаю что для чипа ориентированного прежде всего на графику его возможности весьма скромны, о чем и высказался. Этот чип по моему мнение прежде всего ориентирован на другое... И потому не идет ни в какое сравнение по графической производительности с АРМ А, которые как раз ориентированны прежде всего на графику.

Извиняюсь за оффтоп - на какие задачи, по вашему, ориентирован данный чип? И зачем ему тогда такая графика.
Golikov A.
Предполагаю как и все кортексы М серии на индустриальные контроллеры, с учетом наличия плавучки на процессы регулирования и автоматического управления.
Такая графика для дружественного интерфейса с человеком, чтобы что-то ему показать не на 7 сегментном индикаторе а на нормальном экранчике, с графиками и диаграмками.

Но я думаю что это не лучший процессор для реализации мультимедийного плеера, просмотра и редактирования изображения. Графика - это приятное дополнение, а не основное в этом проце. 180 МГц и плавучка по мне гораздо важнее, нового 2 слойного граф ускорителя.

Это все конечно же ИМХО, и естественно я могу быть абсолютно не правsm.gif
mantech
Цитата(syoma @ Oct 13 2015, 12:37) *
И зачем ему тогда такая графика.


то значит "такая"?? Вы просто нормальную графику в купе с DDR2-3 памятью не видели, а тут так, скорей на графический индикатор с 8бит на точку и только...
syoma
Цитата(mantech @ Oct 13 2015, 13:25) *
то значит "такая"?? Вы просто нормальную графику в купе с DDR2-3 памятью не видели, а тут так, скорей на графический индикатор с 8бит на точку и только...

Может не видел. laughing.gif А как можно оценить нормальность графики?
Вот я как бы 4 варианта видел - от покруче к отстою.
- Все летает, показывает киношки.
- Графика плавная, как в айфоне, - т.е. прокрутки крутятся плавно, но киношки не показывает.
- Графика тормозит, как в автомобильном медиацентре на базе Windows CE. Реакция на кнопки замедленная
- Перерисовка экрана занимает кучу времени, рисует только примитивные картинки.

До чего из этого дотягивает графика на STM32F429?


Мур
Цитата(syoma @ Oct 15 2015, 12:58) *
Может не видел. laughing.gif А как можно оценить нормальность графики?
Вот я как бы 4 варианта видел - от покруче к отстою.
- Все летает, показывает киношки.
- Графика плавная, как в айфоне, - т.е. прокрутки крутятся плавно, но киношки не показывает.
- Графика тормозит, как в автомобильном медиацентре на базе Windows CE. Реакция на кнопки замедленная
- Перерисовка экрана занимает кучу времени, рисует только примитивные картинки.

До чего из этого дотягивает графика на STM32F429?


В посте 16 есть ссылка на тест по быстродействию графики. Киношки там нет,-сразу предупреждаю. Я думаю, что 2й пункт уже уверенно выполнен!
mantech
Цитата(Мур @ Oct 17 2015, 22:48) *
В посте 16 есть ссылка на тест по быстродействию графики. Киношки там нет,-сразу предупреждаю. Я думаю, что 2й пункт уже уверенно выполнен!


Киношки нигде не будет, если нет аппаратной корки, на второй пункт, тоже сомневаюсь, но самый прикол в том, что попробуйте регенерировать экран и еще пару потоков по дма пустить... Увидите веселые картинки biggrin.gif
SasaVitebsk
Если так подходить, то вообще не нужен TFT дисплей для промышленных изделий. Типа контроллера. Но, на мой взгляд, всё зависит от поставленных задач.
В частности я реализовывал одно изделие с дисплеем 4.3" 480x272 на LPC2478. Это ещё ARM7. И шина там узкая была. Они потом косяк поправили на LPC1788 CM3. В принципе, поставленные задачи я выполнил. Правда я делал только перерисовку изменившихся деталей, чтобы не перегружать. Ну и кроме того у меня не было перемещений, слоёв и т.п.
Но, с другой стороны, и CM3 на 100МГц тоже, не CM4 на 180. Ну и на подходе просматривается CM7 с тем же контроллером на 216МГц + кэш. Я к примеру сейчас купил макет и начинаю макетирование нового проекта с прицелом на дальнейшее использование CM7.Уж не знаю что там в кубе написано, я пока почитал даташит. И вижу кучу возможностей.
Например я уже сформировал 4-ёх битные фонты с антиалиазингом. Что позволит мне вывод текста с помощью DMA2D сделать. Также можно реализовать кнопки и прочие графические примитивы. Вопрос только сколько это займёт флэши. Один фонт занимает 10.5к. Диалоговые окна можно реализовывать 2 слоем. Для этого только ОЗУ необходимо. Короче если писать универсальный ГУИ, то так подходить нельзя. Тогда надо рисовать элементы с соответствующим масштабированием и т.д. Но если оптимизировать конкретный проект, то, я уверен, можно сделать эффективный и быстрый интерфейс пользователя.
Насчёт "еще пару потоков по дма пустить... ". Думаю, что проблема не в канале CPU - LCD, а в канале CPU - RAM. Ну то есть надо Ethernet/ USB буфера делать во внутреннем ОЗУ, а видеоОЗУ размещать во внешней RAM. Ну и полноцветом лучше пожертвовать. 16 бит для приборного экрана вполне достаточно.
Короче надо реальные, а не мифические задачи ставить. Тогда они выполнимы.
Короче я рискну.
Мур
Поделитесь важной информацией по архитектуре индикаторов, гармонизированных с 429 чипом! Ссылки приветствуются...

Важная информация для понимания манипуляций 2мя слоями изображений не помешает.

И вообще ...маленькие хитрости большой графики. У меня до сих пор нет целостной картины... blush.gif
Мур
Известный мне источник для ориентации
http://www.compel.ru/wordpress/wp-content/...C_ChromeART.pdf
SasaVitebsk
Цитата(Мур @ Oct 20 2015, 18:40) *
Поделитесь важной информацией по архитектуре индикаторов, гармонизированных с 429 чипом! Ссылки приветствуются...

Слушайте... Ну здесь есть просто ваше непонимание, по моему. Интерфейс LCD по выходным настройкам, сродни интерфейсу ОЗУ. Вы там можете подключить кучу разных дисплеев.
Даже старый монохром типа SG12864. Для простоты они в даташите нарисовали картинку с пояснениями, что за что отвечает. Посмотрите - всё понятно.
Для TFT дисплеев есть 2 больших класса... С встроенным контроллером (они в контроллере имеют свою память и поэтому, как правило интерфейс шинный) и без контроллера.
Подключить, в принципе, можно оба. Но сам процессор заточен на дисплеи с так называемым RGB интерфейсом. То есть без контроллера (и памяти соответственно). Для простоты представления можно сравнивать с телевизором. То есть у вас есть 3 8-ми битных порта RGB, синхронизация точки, строки, кадра и доступа к регистрам.
Интерфейс памяти построен так, что вы можете подключить как статическую память так и динамическую. Как с 8-ми битной шиной, так и более. Ну и мультиплексирование реализовано. Я пока бегло смотрел.
Ну то-есть общий ответ такой. Возьмите за базу любой. Переход будет несложным.
Цитата
Важная информация для понимания манипуляций 2мя слоями изображений не помешает.

Так там нет никакой манипуляции. Вы можете настроить 2 слоя. которые внутри процессора будут смешиваться с прозрачностью. Там всё описано, настолько просто, что и говорить не о чем.
С точки зрения реализации у вас будет 2 потока DMA (не путать с DMA2D ака ChromART - это отдельный самостоятельный узел МК). Основной поток выводит саму картинку. А второй поток с заданной точки наложит на неё вторую, в виде окна. Совершенно очевидно, что это сделано для вывода диалоговых окон. Задаётся область памяти для первого и второго окна (читай изображения и окна). Шина МК не безгранична и пропускная её способность имеет свои характеристики. По моему это должно быть очевидно. В старом LPC2478 при перегрузке останавливался МК. Здесь применены FIFO буфера, это спасает от кратковременных провалов, но не спасёт от перегрузки шины. Это надо садиться и рассчитывать. Ну или опытным путём. Для LPC2478 калькулятор был, но данный МК на порядок его сложнее, со своими FIFO, матрицей шин и приоритетами и так далее...
Но в конечном итоге, мне непонятно, что может вызывать здесь удивление? Есть задача, с синхронной обработкой и, как и в любой синхронной задаче, необходимо сделать так, чтобы CPU с ней справлялся.
Я так понимаю, что найболее узкое место между CPU и ОЗУ. Если там разместить экран + окно. Плюс к этому, при обработке графики что есть вывод объекта (кнопки к примеру). Это копирование области памяти из заготовленного места в экранную область. Вот у вас уже 3 потока DMA между контроллером и ОЗУ. Если вы ещё там разместите буфер Ethernet или USB плюс ещё 1. Если вы используете TFT 24 бита, а м/х ОЗУ 16 бит, то загрузка шины возрастает в 1.5 раза для каждого потока. Поэтому берёте калькулятор и считаете. А выходы из ситуации вполне простые и понятные...
Цитата
И вообще ...маленькие хитрости большой графики. У меня до сих пор нет целостной картины... blush.gif

Ну это в книгах... Мы тут вообще бесхитростные ... ))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.