реклама на сайте
подробности

 
 
> STM32 SDRAM, NOR Flash
Arlleex
сообщение Jul 19 2015, 11:44
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264



Добрый день!
Наверняка многие из тех, кто "щупал" STM32F429, знают, что в этом контроллере STMicroelectronics допустила серьезную ошибку в аппаратной части модуля FMC - невозможно одновременно получить доступ к статической и динамической памяти без предварительного переключения последней в режим автоматической регенерации. Для программ, у которых четко однозначно распределено выделение и обращение к памяти во времени эта проблема не является существенной. Однако, в большинстве других приложений эта проблема - по сути катастрофа. Я разрабатываю графическое встраиваемое приложение, на плате установлена статическая NOR Flash память и SDRAM. Поскольку графических примитивов у меня довольно много, я разместил их в NOR Flash. SDRAM же у меня выполняет функцию графического буфера. Стандартная схема работы этого приложения - контроллер TFT-матрицы (LTDC) "прозрачно" (т. е. в неизвестно какой момент времени) для процессора через выделенный DMA (опять же, не видимый для программиста) отправляет пиксели на экран. Графический ускоритель DMA2D в это время копирует примитивные изображения в ту же SDRAM (в ту же экранную область). Получается несколько потоков претендуют на одну периферию, и тут контроллер FMC устанавливает арбитраж между DMA LTDC и DMA2D. Работает это, когда графические примитивы расположены во внутренней памяти микроконтроллера. Но стоит "натравить" DMA2D на источник NOR Flash, как все попадает в позицию Errata (нельзя достучаться до статической и динамической памяти одновременно), ведь по сути контроллер FMC должен "разрулить" следующие передачи:
1) SDRAM (экранный буфер) -> экран;
2) NOR Flash -> SDRAM (копирование графических примитивов).
И как видно, как раз на втором пункте и будет "затык". При обращении к NOR Flash SDRAM не перейдет в режим автоматической регенерации, данные в ней станут некорректными. Казалось бы, можно "руками" передать команду автоматической регенерации SDRAM, прежде чем обращаться к NOR Flash, и выхода из нее, чтобы вновь обращаться к SDRAM, но ведь первый пункт (запросы DMA LTDC) работает асинхронно. Если ее и контролировать, на экране будут жуткие мерцания частей изображений (как раз "затыки" между обращениями к SDRAM и NOR Flash).
Производитель исправил ошибку в 3 ревизии микроконтроллера. Но, пройдя по большинству интернет-магазинов электронных компонентов, никакой информации о ревизии нет (ну, наверное, в этом есть логика).
В микроконтроллере STM32F446 эта проблема уже полностью исчезла, но тут другая проблема - этот микроконтроллер максимум в 100-выводном корпусе.
А микроконтроллеров STM32F7-серии и подавно еще пока что нет в продаже.

Кто сталкивался, как решали проблему?

Сообщение отредактировал Arlleex - Jul 19 2015, 11:46
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rash
сообщение Jul 19 2015, 13:24
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



просто активно юзаю emWin, виджетов и диалогов много, в программе куча строковых констант флеш пока забита на 400 кБайт из них виджетами думаю не более 100к, но проект ещё не закончен, это на 407. Виджеты больше озу потребляет при отображении нежели флеш. В конечном варианте перескок планируется на 429 или на F7 в зависимости, что к концу реализации моего проекта будет менее глючно. Всегда опытные платы переделываю если меня не устраивает конечный вариант, а вот с серией уже сложнее там завязано производство, закупки и т.п..
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Arlleex   STM32 SDRAM, NOR Flash   Jul 19 2015, 11:44
- - scifi   Если я правильно понимаю, SDRAM легко может быть в...   Jul 19 2015, 11:52
- - Arlleex   По сути, как я понял, ты предлагаешь выделить небо...   Jul 19 2015, 11:57
|- - scifi   Цитата(Arlleex @ Jul 19 2015, 14:57) По с...   Jul 19 2015, 13:47
- - Genadi Zawidowski   ЦитатаВ микроконтроллере STM32F446 эта проблема уж...   Jul 19 2015, 12:29
- - Rash   Сделайте запрос в инет магазины, что бы сообщили р...   Jul 19 2015, 12:42
- - Arlleex   Насчет STM32F446 - пардон, написал по памяти, но м...   Jul 19 2015, 12:51
- - Arlleex   scifi, я не иронизировал. Я принял это как пока чт...   Jul 19 2015, 14:01
- - mantech   Цитата(Arlleex @ Jul 19 2015, 14:44) Поск...   Jul 19 2015, 15:07
- - Arlleex   А вы как примитивы отрисовывали? Просто у меня та ...   Jul 19 2015, 15:15
|- - mantech   Цитата(Arlleex @ Jul 19 2015, 18:15) А вы...   Jul 19 2015, 17:12
|- - DVF   Цитата(mantech @ Jul 19 2015, 20:12) О ка...   Jul 19 2015, 18:37
- - Arlleex   mantech, ну, по мне так, как-то бледновато выходит...   Jul 19 2015, 17:30
- - Arlleex   Линиями, думаю, такого эффекта не добиться. Не наж...   Jul 19 2015, 18:58
|- - scifi   Цитата(Arlleex @ Jul 19 2015, 21:58) Лини...   Jul 19 2015, 19:09
||- - DVF   Цитата(scifi @ Jul 19 2015, 22:09) Сейчас...   Jul 19 2015, 20:30
|- - mantech   Цитата(Arlleex @ Jul 19 2015, 21:58) Все-...   Jul 20 2015, 06:18
- - Rash   не критикую, но 49k на кнопку очень круто по ресур...   Jul 19 2015, 19:23
|- - scifi   Цитата(Rash @ Jul 19 2015, 22:23) не крит...   Jul 19 2015, 19:57
- - Rash   Цитата(scifi @ Jul 19 2015, 22:57) Я вас ...   Jul 20 2015, 05:40


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 17:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016