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

Настройка TouchGFX и LTDC в CubeMX

Знаю, что столь нелюбимый всеми КалоКуб нужно выкинуть.

Но все же..

Настраиваю  TouchGFX.

Вот настройки LTDC

gsvZM6jl.png

 

 

 

Настройки слоев

 

VQP1flnK.png

 

 

 

И вот как ругается на все это панель настроек TouchGFX

 

ydQsOnoV.png

 

 

Ошибка в FrameBuffer исчезает, если формат ARGB8888 заменить на RGB888

Ошибка в Number of Layers исчезает, если поставить 1 слой.

Под буфер у меня память SDRAM 1 meg x 32 бит x 4 банка. Вот ее настройки

mWYlJkBj.png

 

 

Что у меня не так с настройками? Или (подозреваю самый худший вариант) мне нужно две микросхемы SDRAM?

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


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

3 minutes ago, x893 said:

4 * 1024 * 600 * 2 = 4915200 /1024 /1024 = 4MB

2^12 * 4 * 4 ?

 

Калькулятор !

Можно еще чуточку внятнее?

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


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

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

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


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

1 hour ago, Obam said:

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

Я это понял.

А что ознчачает 2 в 12 степени дважды умноженная на 4? Это 65535. И?

У меня 32 мегабит, то есть 4 мегабайт. Там запас что ли нужен?

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


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

Слой и буфер это разные вещи?

Те есть, если мне нужны и 2 слоя и двойной буфер, мне требуется 1024х600 точек х 4 байта на пиксель х 2 слоя х 2 видеостраницы = 9 830 400 байт. Или 78 643 200 бит.  А у меня память 128 мегабит.

Чисто арифметически получается.

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

 

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


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

Устройства пока нет.

Закончена разработка платы, идет рутинная проверка всего и вся, в том числе и назначения пинов.

Полез с этой целью в куб и обратил внимание, что из возможных 13 бит адресной шины я указал 12, так как именно столько их задействовано в выбранной микросхеме.

13-й адресный пин у меня за ненадобностью задействован для других задач (задейстованы все пины контроллера и перекинуть некуда, только, скрепя сердце, освобождать его, если не пройдет с памятью)

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

Хотелось бы понять это до заказа и монтажа.

Помогите...

Если адресная шина 12  бит, то, по идее, я могу управлять микросхемой имеющей 4096х4096 = 16М х 32 бит ячеек в одном банке. Я правильно понимаю, или раскатал губу?

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


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

Если надо, то я приложу, вечерком.

Но, как мне думалось, это понятно и без схемы. Знающим понятно, я незнающий - мне непонятно.

Да и вопрос то о внутреннем устройстве контроллера, а не о моей схеме. 

Давайте рассудим:

Объем одного кадра в режиме ARGB888 = 1024x600х4 байта= 2 457 600

Для двухслойного кадра 2 457 600 х 2 слоя = 4 915 200

А если хочется  использовать двойной буфер, то 4 915 200 х 2 буфера = 9 830 400 байт.

То есть в принципе должно хватить микросхемы с организацией памяти типа 4M x 8 х 4 банка.

Но, для большей скорости выбрана 32 битная память. То есть 1 пиксель в формате ARGB8888 умещается в одной ячейке.

А значит памяти требуется 1024х600 х 2 слоя х 2 буфера = 2 457 600 х32 бит.

У меня память 1 meg x 32 x 4 banks.  То есть 4 194 304 слов по 32 бита. Адресная шина - row -11 bit, column - 7 bit

 

Будет работать?

 

P.S. почему в кубе в настройках указан только один банк памяти - второй? И его, типа, можно менять, но он не меняется.

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


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

Тааааак...

Потихоньку разбираюсь.

Оказывается Layer1 должен быть только RGB888, так как альфа канал ему, понятное дело, не нужен. А вот верхний слой - ARGB8888. Если сделать наоборот или оба ARGB8888 - выдает ошибку.

А вот с количеством слоев пока неясно. Понятно только, что дело не в количестве памяти - я загрузил проект от ST, в нем небольшое разрешение и 1 слой по умолчанию. Ставлю второй - загорается противно-розовый крестик.....

Буду копать дальше

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


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

Так и не докопался.

Ну неужто никто не знает? Дело ведь не в кубе как таковом. Настройки они и  в Африке настройки - что у меня не так со слоями? Почему куб ругается на их количество, равное двум?

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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